
Karpedia
Karpedia는 2023.03부터 진행중인 프로젝트로, 저의 개발 블로그이자 포트폴리오입니다. 현재 배포되어 운영되고 있습니다.
팀원
혼자 진행한 프로젝트입니다.
사용한 기술
- FE
- Next.js - page router
- typescript
- css module
- tiptap editor
- axios
- day.js
- redux
- ContextAPI
- SWR
- vercel
- BE
- Nest.js
- Express
- MySQL
- Docker
- AWS EC2, S3, Route53 등
개발한 기능
- Google Login 구현
- Google Login API 를 이용하여 소셜 로그인을 구현하였습니다. JWT Token을 쿠키에 저장하여 보관하고, 인증이 필요한 요청에 포함하여 전송하는 방식을 선택했습니다.
- 모든 컴포넌트 구현
- 모든 컴포넌트를 css-module을 활용하여 직접 구현하였습니다.
- 페이지별 다른 렌더링 방식 적용
- Next.js 의 기능을 활용하여 페이지마다의 특성을 고려한 다른 렌더링 방식을 적용하였습니다. 이를 통해 사용자 경험을 높이기 위해 노력했습니다.
- SWR을 활용한 Data-fetching
- SWR을 활용하여 Data를 조회하여 사용자 경험을 높이기 위해 노력했습니다. 또, SWR 설정을 프로젝트에 맞게 수정하여 최적의 API 요청을 위해 노력하고 있습니다.
- Redux를 통한 전역 상태 관리
- Redux를 활용하여 전역 상태를 관리하고 있습니다.
- Docker를 활용한 개발 환경 통일
- 서버를 Docker Image로 만들어 관리함으로써 AWS EC2 환경에서도 편리하게 배포할 수 있게 진행하였습니다.
협업 방식
- Github
- main, dev, feature, hotfix 브랜치로 나누어 작업했고, merge는 반드시 Pull Request를 작성하여 진행하였습니다.
- Figma
- Figma를 통해 UI를 디자인하고, 이를 구현하였습니다.
이슈들