목록nomad corders (32)
미래학자

#1.64 GetNearbyDrivers Resolver part One #1.64 GetNearbyDrivers Resolver part Two 이번에는 사용자가 근처에서 운행 중인 운전자를 찾을 때의 Query를 구현할 것이다. src/api/User/GetNearbyDrivers/GetNearbyDrivers.graphql type GetNearbyDriversResponse { ok: Boolean! error: String drivers: [User] } type Query { GetNearbyDrivers: GetNearbyDriversResponse! } src/api/User/GetNearbyDrivers/GetNearbyDrivers.resolvers.ts import { Resolver..

프로젝트를 시작할 때 tslint가 정상적으로 돌고 있지 않았는데, 원인이 tslint를 글로벌로 설치를 하고 typescript또한 글로벌로 설치를 해야 했었다. 이런 버그를 수정하고 나니 tslint가 import 순서를 지적 많이 해줘서 부득이하게 #1.62 부터 tslint에서 잡아준 import 순서대로 코드를 올리게 됐다. 이번에는 Place 정보를 추가하고 삭제하고 변경하는 과정을 진행할 예정이다. #1.60 AddPlace Resolver 이번에는 장소를 추가하는 type과 Mutation을 정의할 차례다. 한 사람은 여러 장소를 가질 수 있다. 주소가 같은 장소래도 사용자마다 독립적으로 가지는 형태인거 같다. 기존에는 장소와 유저와의 관계가 없었기 때문에 추가한다. src/api/User..

#1.56 UpdateMyProfile Resolver part One #1.56 UpdateMyProfile Resolver part Two 유저의 정보를 업데이트 하는 type과 mutation을 작성하자 src/api/User/UpdateMyProfile/UpdateMyProfile.graphql type UpdateMyProfileResponse { ok: Boolean! error: String } type Mutation { UpdateMyProfile( firstName: String, lastName: String, email: String, password: String, profilePhoto: String, age: Int, phoneNumber: String ): UpdateMyPr..

노마드 코더 - 우버 클론 코딩 #1.49 Sending Confirmation Email part One 이번에는 이메일을 통한 사용자 인증을 구현할 차례인데, 저번에 했던 SMS인증이랑 유사하다고 생각하면 된다. 다만 PHONE이 아닌 EMAIL을 통해 특정 인증 번호를 주고 확인하는 것이다. 메시지를 보낼때는 twilio를 썼고, 이번에는 mailgun이라는 서비스를 이용한다. https://app.mailgun.com 가서 회원가입을 한 후 대시보드로 이동하자. https://app.mailgun.com/app/account/security/api_keys 로 이동하면 나의 private api key가 있다. 이 키를 .env에 저장하자. 이메일을 통해 인증하는 코드를 마져 작성하자. 설치해줘야..

노마드 코더 - 우버 클론 코딩 #1.40 EmailSignUp Resolver 이메일 회원 가입을 하도록 하자. 로직은 로그인 처럼 간단하다. src/api/User/EmailSignUp.graphql 생성해서 Mutaion을 작성하자 type EmailSignUpResponse { ok: Boolean! error: String token: String } type Mutation { EmailSignUp( firstName: String!, lastName: String!, email: String!, password: String!, profilePhoto: String!, age: Int!, phoneNumber: String! ): EmailSignUpResponse! } src/api/Use..

노마드 코더 - 우버 클론 코딩 #1.34 Introduction to Twilio 이번에는 휴대폰으로 문자 인증 서비스를 사용하기 위해 Twilio 서비스를 사용할 것이다. 이 서비스는 유료지만 그러게 부담스럽지 않은 가격으로 필요한 인증 서비스를 제공할 것이다. https://twilio.com 에 접속해서 회원가입을 한 후 번호를 하나 발급 받는데, 꼭 미국 번호로 발급 받아야 한다. 발급 받는데 비용은 $1 다. 이게 어떻게 내는 것인지 잘 모르겠지만,, https://www.twilio.com/console/sms/settings/geo-permissions 여기서 모든 체크를 해줘야한다. 체크를 안한 국가로는 SMS가 안갈 수 있다. 대쉬보드에서 토큰을 확인할 수 있다. #1.35 StartP..

노마드 코더 - 우버 클론 코딩 #1.26 Planning the Resolvers part One #1.27 Planning the Resolvers part Two 앞으로 할 일에 대해, 기능에 대해 정리 README.md # nuber-sever Server for the (N)UBER Clone Course on Nomad Academy. GraphQL, Typescript, NodeJS ### Public Resolvers: - [ ] Sigin In / Sign Up with Facebook - [ ] Sign In with Email - [ ] Start Phone Number Verification - [ ] Complete Phone Number Verification - [ ] Sign..

노마드 코더 - 우버 클론 코딩 #1.22 Chat and Message Entities part One 저번에 이어서 계속해서 타입을 정의할텐데, 이번에는 메시지를 주고 받을 때에 대한 타입을 정의할 차례다. 지금까지는 데이터에 관계에 대해서는 신경을 쓰지 않았다. 모든 데이터는 관계를 가지기 때문에 특히, 관계형 데이터 베이스를 사용할 때는 이 관계를 잘 다루는 것이 중요하다. 운전자와 탑승자 사이에는 메시지를 주고 받아야 한다. 예를들면 운전자 한명과 탑승자 다수가 메시지를 주고 받는 상황이라면 채팅 방은 하나에 여러 유저가 접속하고, 채팅방에는 다수의 메시지를 보낼 수 있다. 이때 채팅방 하나에 다수의 메시지 또는 사용자가 관계가 생기는데, 이를 one-to-many 관계로 설명한다. 위 그림은 ..

노마드 코더 - 우버 클론 코딩 #1.17 Verification Entity part One 이번에는 Verification 에 대한 graphql type과 entity를 만들거다. 이전에 User에 대해 graphql type과 entity를 만든 것과 거의 동일하다. Verification 타입은 유저 정보를 통해 추가적으로 생성되는 검증 관련 정보를 db에 만들기 위해서 사용한다. 유저는 토큰(또는 키)를 검증 용도로 사용하게 될 것이다. src/api/Verification/shared/Verification.graphql graphql type를 정의하자. type Verification { id: Int! target: String! payload: String! key: String! u..

노마드 우버 클론코딩 강의링크 #1.12 User Entity GraphQL Type 이제 우리는 Entity를 만들고 그에 대한 모델을 정의해야 한다. 그러나 먼저 graphql 타입을 만들어야 한다. 현재 Graphql Type to Type ORM Entity를 만들어주는 라이브러리가 없다. 그래서 귀찮지만 지금은 손수 작성해야 한다. src/api/User/shared/User.graphql 상위 디렉토리를 만들고 파일을 생성하자. type User { id: Int! email: String verifiedEmail: Boolean! firstName: String! lastName: String! age: Int password: String phoneNumber: String verified..