Node

[새싹X코딩온] 1차 프로젝트 회고록 : 새싹인

효진인데요 2023. 10. 6. 18:14

 

 

🖥️  프로젝트 소개

 

[ 웹사이트 바로가기 ]

 

⭐️  로그인 창에 기본 값으로 작성되어 있는 계정으로 로그인 시 회원가입 없이 사이트를 둘러보실 수 있습니다.

 

https://sesacin.online/

 

메인

사진에 어떠어떠한 구조물이 있는지 분석하는 ai를 개발하려면 어디부터 시작해야할까요?이런걸 시작하기 위해 필요한 부분들이 정리돼있는 책, 유튜브, 혹은 검색해볼 주제를 알려주셨으면 좋

sesacin.online

 

 

[ Github 바로가기 ]

 

https://github.com/SesacProjectTeamC/SesacIn

 

GitHub - SesacProjectTeamC/SesacIn: 새싹 프로젝트 팀프로젝트 TeamC

새싹 프로젝트 팀프로젝트 TeamC. Contribute to SesacProjectTeamC/SesacIn development by creating an account on GitHub.

github.com

 

 

 

[ 노션 바로가기 ]

 

https://polydactyl-cello-2db.notion.site/1efa19cb902d448da0a5a11271e66488?pvs=4

 

새싹인 포트폴리오

A new tool for teams & individuals that blends everyday work apps into one.

polydactyl-cello-2db.notion.site

 

 

 

🌱  개요

새싹인이라는 프로젝트의 이름은 Sesac + 지식인을 합쳐 만들어진 이름으로,

새싹을 다니고 있는 사람들이라는 의미의 새싹인과 약간의 중의적인 이름도 가지고 있는 포인트가 있다.

 

새싹인이라는 웹 사이트는 새싹 캠퍼스 학생들을 위한 커뮤니티로,

개발과 관련된 다양한 질문을 묻고 답하며 이를 통해 지식을 공유할 수 있는 사이트이다.

 

(물론 새싹 캠퍼스를 다니고 있지 않은 회원들도 사용할 수 있도록 되어있다.)

 

 

🕰️  개발 기간 

  2023.09.06 ~ 2023.09.22

 

 

🧑‍🤝‍🧑  팀 구성

 

 

🔧  개발 환경

 

 

⚙️  설계 

 

1. 와이어프레임

 

2. ERD

 

DB Relation Description

총 6개의 Entity 존재

 

1. user 테이블 (5)

모든 테이블과 연결

 

2. comment 테이블 (4)

user, question, answer, board 테이블과 연결

 

3. question 테이블 (4)

user, answer, comment, uLike 테이블과 연결

 

4. answer 테이블 (4)

user, question, comment, uLike 테이블과 연결

 

5. board 테이블 (3)

user, comment, uLike 테이블과 연결

 

6. uLike 테이블 (4)

user, question, answer, board 테이블과 연결

 

 

⏳️  개발 세부 일정

 

 

 

🙋‍♀️  담당한 부분

 

1. 담당 파트

  • 사용자 관련 API 개발 및 DB 설계
  • 회원가입, 로그인, 회원정보 수정 페이지 - 기능 개발 및 백앤드 유효성 검사
  • 이메일 인증 기능

 
2. 기능

  • 회원 가입/수정/탈퇴 기능
  • 회원 가입 및 정보 수정 아이디 / 닉네임 중복 검사
  • id 찾기 / pw 재설정 기능
  • 이메일 인증 기능 - nodemailer
  • 헤더
    • isLogin (세션 uId) 여부에 따라 변경
    • 프로필 이미지 경로 유무에 따라 프로필 이미지 적용

 
3. 에러 처리

  • 로그인 o - 비밀번호 찾기 시 세션의 사용자와 저장되어 있는 이메일 일치 여부 검사
  • 로그인된 상태에서  다시 로그인 혹은 회원가입 창 이동 시 세션 삭제 후 정상적으로 페이지 GET
  • 로그인 x - url 통해 비정상적인 접근 시 404 페이지 리다이렉트
  • 회원 가입 / 로그인 / 회원 정보 수정 처리에 대한 에러 처리 - 코드에 따라 프론트로 에러 전송 및 처리

 
4. 부가 작업

  • 회원가입, 로그인, 회원정보 수정 페이지 - 프론트 수정 및 유효성 검사
  • 백에서 전송되는 에러 코드에 따라 알맞은 모달창을 띄워 사용자에게 알리도록 함
  • 헤더 및 푸터 구현
  • 개발하고 수정한 페이지들에 대한 반응형 처리

 

 

🔔  피드백

 

 

 

진행한 발표에 대한 리더님의 피드백을 정리해 두었는데, 이를 토대로 다음 프로젝트와 발표에는 조금 더 분발할 수 있도록 해야겠다.

그러기 위해 다른 팀의 피드백도 다 적어두었다..! 

발표에 대한 피드백이기에 발표 준비 할 때 꺼내서 확인해 봐야겠다.

 

 

💭  회고

 

👍️ 잘했다 

 

1. 회의 기록

 

 

협업을 진행하며, 많은 시간을 함께 개발하게 되었는데, 그때마다 간단하게라도 진행한 부분들에 대한 기록을 남겼다.

꼭 꼼꼼히 적을 필요는 없으나, 나중에 일정을 기록하고 확인할 때 매우 도움이 되었던 것 같다.

 

2. Git 커밋컨벤션

 

 

아이디어가 정해진 후, 본격적인 개발에 들어가기에 앞서 DB와 Git에 대한 컨벤션 규칙들을 정하고 정리해 두었다.

이런 식으로 규칙을 정해두고 개발을 하는 것은 매우 바람직한 협업 구조라고 생각이 들었는데,

이렇게 정해둔 덕분에 후에 Git에서도 코드를 확인하고 찾을 때 매우 용이했고, 규칙을 함께 정하고 협업을 했기에 헷갈리지 않고 오류를 줄일 수 있던 것 같다.

 

 

👊  분발하자 

 

1. 트러블 슈팅

개발을 하며 여러 크고 작은 에러와 해결이 반복되었는데, 이러한 기록들을 트러블 슈팅에 바로바로 작성하지 않은 부분이 조금 아쉽다고 할 수 있을 것 같다.

(위 사진에는 꽤 많이 추가가 된 상태이지만 실제로 프로젝트 막바지에 거의 추가된 부분들이 많다ㅎㅎ)

 

아무래도 기억력은 쉽게 휘발되기 때문에, 바로바로 작성을 해두고 해결 방안을 작성해 두는 것이 중요하다고 생각한다.

 

 

2. 칸반보드

 

 

칸반보드는 잘했다! 에 들어갈 수는 있지만 분명 더 개선할 수 있는 부분이 있다고 생각했다.

 

우리 팀은 1차 배포 및 테스트 이후에 오류나 개선해야 하는 부분들이 너무 많아 이를 시각화하기 위해 칸반보드를 작성하기 시작했는데, 이후 진행이 더욱 수월했던 것 같다.

칸반보드를 사용하게 되면 각각의 팀원들이 현재 어느 부분을 개발하고 있는지, 어느 부분이 완성되고 안되었는지를 한눈에 파악하기가 쉽다.

실제로 개발 과정 중 이미 개발이 되어 있던 부분을 다른 팀원이 안되어있는 줄 알고 개발하고 있던 사소한 실수(?)가 있었기에, 각자 어디 부분이 진행 중인지 확인을 하는 것이 중요하다는 것을 되새길 수 있었다.

 

또 하나의 개선점은 칸반보드를 작성하긴 했으나 진행일자를 작성하지 않은 부분이다.

이렇게 되면 타임라인으로 확인해 보았을 때는 마치 아무런 작업도 없는 것처럼 뜨는 그런 현상이 생기게 되는데, 이를 적극적으로 활용할 수 있으면 더 좋을 것 같다.

 

 

 

✏️  정리

 

짧은 기간 동안 프로젝트를 진행하며 많은 것을 배우고 느낄 수 있었다.

 

실제 개발을 하며 백앤드 개발 시 API 문서 작성의 중요성도 느낄 수 있었고, 라우터와 컨트롤러를 어떻게 분리하는 것이 좋을지, 컨벤션 규칙 정립의 중요성 등을 꺠달았다.또 기억에 남는 것 중 하나는 트러블 슈팅에도 정리가 되어있는데, url에 파라미터와 같은 변수가 있을 시 오류 해결 법인데 이렇게 강의만 들을 때는 몰랐던 오류와 해결법도 알아갈 수 있는 부분이 많이 도움이 되었다.

 

좋은 팀원분들을 만나 매일 함께 개발을 하고 하나하나 오류에 맞서는 과정들이 너무 좋은 추억으로 남을 것 같다.

 

 

 

 

 

(뿌듯...)

 

 

728x90