깃허브 저장소: 🔗링크
시연 영상
1. 프로젝트명 : 스파르타 커뮤클럽
- 코딩 교육기관인 스파르타코딩클럽에서 제공하는 내일배움캠프, 항해99, {창} 등의 교육과정을 수강한 수료생들이, 교류를 통해 개발자로 성장하며 정체성과 역할을 만들어갈 수 있도록 서로를 돕는 커뮤니티 서비스를 제공합니다.
- 개발자 직무의 취준생 커뮤니티, 회원간 모임 매칭 및 IT행사알림 메일링 서비스
2. 인원 구성 및 주요 담당
- 5인 (Full-stack)
- 본인 : ERD 설계, CI&CD 구축 / 검색, 페이지네이션, 인기글 및 활동왕, 모임매칭 등
- 팀원1: 유저페이지 - 회원정보 확인 및 수정, CI&CD 구축 등
- 팀원2 : 회원가입 및 인증처리 전반, 프론트엔드 통신, 게시판 댓글기능 등
- 팀원3 : 이벤트게시판, 메일알림 서비스, ERD 설계
- 팀원4 : 클럽게시판, 클럽신청서 작성 등
3. 서비스 아키텍처 및 ERD
4. 기술적 의사결정
5. 개인적 프로젝트 주요 경험
경험 Skill Set
- JavaScript, Typescript, EJS, HTML, CSS
- Node.js, Nest.js
- TypeORM, MySQL
- Git, Github(Trunk-based)
- VS Code, Slack, Linear, Notion
주요 담당: ERD 설계 / 검색 / 페이지네이션 / 인기글 및 회원활동랭킹 / 모임 매칭 / 템플릿 엔진 셋팅 등
- 설계부터 배포 및 개선까지 모두 참여
1) 게시판 및 게시글 상세 / 검색 기능 및 검색결과 페이지 등 REST API 구현
2) 필터링 : 인기글 선정, 유저활동 순위 측정 🔗링크
- 유저활동 증진 목적의 조회수 기반 인기글 선정
- 포인트 관련 컬럼 추가 없이, 커뮤니티 활동량 측정 후 map(), filter(), reduce() 활용한 유저활동 순위 서비스 구현3. Docker 이미지 & GitHub Actions 활용한 AWS EC2 자동 배포
트러블 슈팅 경험
1) 중복코드 모듈화: 기능 구현 후, 코드 관리의 어려움 경험, 유지보수성 및 재사용성을 위해 함수 형태로 리팩토링
- 각 게시판의 ‘Offset기반 pagination’ 기능
- 글 작성 시점에 따른 ‘시간 변환 표기’ 기능 🔗링크
2) 미들웨어 활용한 이슈 해결🔗링크
- 페이지렌더링에 필요한 중복코드의 유지보수 어려움을 해소하고자, 전역 미들웨어로 express-ejs-layouts 라이브러리 도입 후, 네비게이션바 미적용 페이지를 위해 예외 적용
이하, 사용자 피드백을 통한 버그 수정 및 기능 개선 사항(구글폼, 유저 24명+)
3) 로그인 요청-응답 오류로 Nest.js 인터셉터를 구축
- 일부 페이지에서 Ajax로 구현된 로그인 요청-응답 기능의 401오류로, 모든 라우팅에 대한 전역 처리 방법을 해결하기 위한 방법 고안, 유지보수성 향상🔗링크
4) 모임정원 기준의 문제 :
- 모임 매칭 서비스 이용시 모집현황 표기의 혼동 → 모집글 게시자는 구성원으로 자동 포함되도록 구현, 중첩 함수 활용 🔗링크
5) 검색 타입 추가
- 기존 게시글 ‘제목+내용’만 검색되는 기능에서, ‘제목’ 검색 타입 추가, 페이지 이동시 검색 타입 유지를 위해 JS의 localSorage 메써드 활용
파이널 프로젝트 담당 작업 회고
TIL : 파이널 프로젝트 회고1 : 담당 작업 정리
https://youtu.be/FRmkiWnzpkE NestJS, TypeORM, EJS 개발 환경이다. 디자이너나 프론트엔드 담당 없이, 5명의 백엔드 팀원끼리 만든 프로젝트이다보니, 시각적인 면은 좀 아쉬운 게 많지만, 그래도 DB를 다루는
veams.tistory.com
깃허브 저장소
GitHub - miu-null/spartasix: sparta community club
sparta community club. Contribute to miu-null/spartasix development by creating an account on GitHub.
github.com
'프로젝트 회고' 카테고리의 다른 글
블로그, Next.js로 직접 개발하기 (0) | 2023.06.05 |
---|---|
TIL : 파이널 프로젝트 회고2 : 협업 경험 후기 (0) | 2023.04.04 |
TIL : 파이널 프로젝트 회고1 : 담당 작업 정리 (0) | 2023.04.01 |
[협업회고,TIL] Node.js 4번째 팀 프로젝트 - 이커머스(쇼핑몰) (1) | 2023.02.08 |
[협업 회고, TIL] : 2nd 협업 일지, 미니 프로젝트 회고 12/2~12/9 (1) | 2022.12.09 |
댓글