매일 한걸음씩 성장하기

오늘부터 Final Project 개발을 본격적으로 시작했습니다!

팀을 꾸리고, 어떤 것을 만들 것인지 함께 고민하면서 오늘이 오기만을 기다렸던 터라 오히려 설렙니다.

4주가 지난 후에 어떤 결과물이 나올지는 모르겠지만 우리가 기획했던 기능들은 모두 구현하기를 바라며 열심히 달릴 예정입니다.

곽이정신, 그리고 우리 Final Project인 Reciper 화이팅!

 

 

오늘은 어떻게 프로젝트에 기여했나요?

프로젝트 준비 + SR 단계

▷ 제가 Final Project 팀장이 되었습니다.

일정 관리와 프로젝트 기록을 꼼꼼히 하고 4주라는 긴 기간동안 열심히 팀원들을 이끌 예정입니다.

특히 갈등이 생겼을 때 중간에서 잘 조율하는 제 장점이 잘 발휘될 거라 생각합니다.

 

▷ SR 단계 + 프로젝트 기획 설문조사 제출

우리 팀은 전부터 아이디어를 생각했고 이미 지난 3일간 꼼꼼하게 SR을 진행했었습니다.

그래서 기획 내용을 이메일로 제출하고 바로 개발 단계를 시작할 수 있었습니다.

그리고 저희가 진행한 SR 내용을 WIKI에 정리했습니다.

(팀 멤버 정보, 팀 룰, 프로젝트 요구사항, 사이트맵, 스키마 디자인, API 문서 초안, 목업 디자인 등)

 

Bare Minimum

▷ 서버 초기 세팅

- express, typescript를 사용하여 서버 구축

 

▷ 데이터베이스 세팅

- typeORM을 사용하여 데이터베이스 구축

- users, stacks, recruits, recruit_comments 테이블 entity 생성

- AWS: RDS로 데이터베이스 생성

 

▷ route, controller 세팅

- 체계적인 디렉토리 관리를 위해 routes 폴더, controllers 폴더로 분리

- API 문서에 따라 각 기능을 하위 폴더로 분리

 

Login

▷ OAuth 인증 로그인 구현 (google, github)

- google, github에서 클라이언트 ID 생성하기

- google을 이용한 로그인(`loginGoogle`)

- github을 이용한 로그인(`loginGithub`)

 

Login 기능을 client와 연결하기

- API 문서 설명해주기(endpoint + login url with client id)

- `npm start`로 서버-클라이언트 잘 작동하는지 확인하기

 

 

오늘의 프로젝트에서 힘든 점은 무엇인가요?

▷ typeORM으로 ManyToMany 테이블 구현하기

typeORM은 처음이라 다른 팀원과 데이터베이스 구축과 entity를 생성할 때 좀 고생했습니다.
특히 ManyToMany 구현할때.. 제대로 생성되었는지 확인하기 어려웠는데 특히 PK, FK가 동시에 적용되었는지 확인하기 어려웠습니다.
결론은 우리가 올바르게 생성했으나, mysql 터미널 view의 문제였던 것으로 확인했습니다.

(mysql에서는 key가 하나밖에 나오지 않았기에 다중 key를 확인하려면 따로 명령문을 써야했습니다)

// mysql에서 다중 key 확인하기
SELECT * FROM information_schema.table_constraints;

 

▷ ES6 문법으로 import, export 사용하기

First Project와 달리 이번에는 route, controller를 폴더 별로 나누고 한 기능 당 하나의 파일을 사용하여 관리하려고 합니다.

(체계적인 디렉토리 관리를 위해 여러 폴더로 나누어 작성하고 있습니다)
모듈 내보내기/불러오기를 사용하여 관리하는데 require 대신 import만 사용하려고 했습니다.

그런데 import export 부분이 헷갈려서 조금 헤맸습니다.

import 기능이름 from '기능 작성한 파일의 상대 위치';

export {
    기능이름
};

 

 

내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

First Project에서 한번 헤매면서 했던 작업이라 그런지 생각보다 금방 끝났습니다.

typeORM을 처음 써보는거라 헤맨 거 말고는 무리없이 진행되었습니다.

오늘 Login 기능도 빠르게 구현했습니다. 이 속도라면 우리가 계획했던 대로 일주일 내에 Profile, Recruit 기능까지 모두 완료할 수 있을 거 같아 기분이 좋습니다.

 

▷ Profile, Recruit 기능 구현 시작

▷ 구현한 기능들을 client와 연결하고 테스트

 

'Code States > Project Record' 카테고리의 다른 글

[기록] Final Project_2021.05.17  (0) 2021.05.17
[기록] Final Project_2021.05.16  (0) 2021.05.16
[기록] Final Project_2021.05.14  (0) 2021.05.14
[기록] Final Project_2021.05.13  (0) 2021.05.13
[기록] Final Project_2021.05.12  (0) 2021.05.12

공유하기

facebook twitter kakaoTalk kakaostory naver band