1차 프로젝트 후 황금같은 한 주 휴식을 취하고 시작했던 GDAC 프로젝트!
(사이트) 블록체인 사이트 GDAC 클론 프로젝트
(구성) 프론트엔드 개발자 2명, 백엔드 개발자 2명, 총 4명으로 구성
(언어, 프레임워크, 데이터베이스) Python, Django Web Framework, MySQL
(가상 환경) Miniconda3
(암호화, 토큰 발행) Bcrypt, JWT
(배포) AWS EC2, RDS
(통신메커니즘) CORS headers
(로그인, 회원가입 뷰)
지난 1차 프로젝트에서는 주로 데이터베이스 내에 저장되어 있는 데이터를 가지고 화면에 보여주는 GET 뷰를 주로 담당했기 때문에 2차 프로젝트에서는 POST 뷰를 구현해보고 싶은 마음이 있었다.
또한 1차 프로젝트에서 로그인, 회원가입과 관련된 부분이 다소 아쉬웠던 점이 있었고, 모든 홈페이지에 가장 기초가 되는 부분이라고 판단되어 관련 부분을 담당하게 되었다.
외부 API를 적용했던 점
이번 프로젝트에서 홈페이지에 가입된 회원이 암호화폐의 거래를 하기 위해서는 이메일 인증, 문자 인증, 계좌 인증의 단계를 거쳐야 했다.
그러나, 계좌 인증은 은행별로 너무 상이한 정보가 많아 축약하여 진행했으며, 나머지 2개 인증을 진행하기로 합의했다.
특히, 문자 인증의 경우 네이버에서 제공하는 API를 활용하게 되었고, 신기했다.
테스트 코드의 중요성을 알게 된 점
팀 분위기가 너무 좋았던 점
2주 간 팀프로젝트를 진행하면서 호흡이 정말 잘 맞았다. 다들 서로 어떤 점이 어려운 지 배려해가면서 난이도를 조절해 가는 모습이 정말 보기 좋은 팀이었다.
또한, 아침 일찍부터 오시는 프론트 분들의 모습을 보고 '9시 출근'제도를 도입하게 되었는데, 이 때문에 매일 10시에 진행하는 Scrum이 아무 문제없이 순조롭게 진행될 수 있었다.
아직은 정말 부족한 나의 역량
동기끼리 함께하는 마지막 위코드에서의 하루였다는 점
class SmsSend(View):
timestamp = str(int(time.time() * 1000))
def send_sms(self, phone_number, auth_number):
headers = {
'Content-Type' : "application/json; charset=UTF-8",
'x-ncp-apigw-timestamp' : self.timestamp,
'x-ncp-iam-access-key' : SMS['ACCESS_KEY'],
'x-ncp-apigw-signature-v2': make_signature(self.timestamp)
}
body = {
"type": "SMS",
"contentType": "COMM",
"from": SMS['SEND_NUMBER'],
"content": auth_number,
"messages": [{"to": f"{phone_number}"}]
}
body = json.dumps(body)
requests.post(SMS['API_URI'], headers = headers , data = body)
잘읽었습니다