- 현재 백엔드 서버 문제로 오류가 있어 고치는 중입니다. 최대한 빠르게 고치도록 하겠습니다.(2024.09.04)
- TypeScript
- NEXT.js
- Tanstack Query
- Zustand
- React Hook Form & Zod
- Tailwind CSS
- Shadcn UI
- Framer Motion
- AWS S3, EC2, ALB, Nginx
- Vercel
- TypeScript는 데이터의 타입을 명시함으로써 개발 단계에서 오류를 사전에 발견하고 수정할 수 있어서 사용했습니다.
- NEXT.js는 웹 페이지의 초기 로딩 속도를 향상시키고 게시글 상세페이지와 같은 부분에서 SEO 최적화에 유리한 장점이 있어서 사용했습니다.
- 서버 상태를 효율적으로 관리하고 데이터를 요청하기 위해 Tanstack Query를 사용했습니다. 또한 클라이언트 상태 관리로는 직관적인 사용법으로 인해 러닝 커브가 낮고 Store 기반으로 상태를 다루면서 컴포넌트 구조를 체계적으로 설계하여 유지 보수에 용이한 Zustand를 선택했습니다.
- 다양한 스타일링 프레임워크를 적용하고 고민하면서 NEXT.js의 SSR 방식에 적합하고 개발자의 생산성을 높일 수 있는 TailwindCSS를 선택했습니다.
- Vercel은 NEXT.js 애플리케이션을 배포하는데 최적화되어 있으며 CDN 지원 및 CI / CD 기능을 제공하여 개발 효율성을 높일 수 있어 선택했습니다.
- 이메일 / 패스워드 로그인
- OAuth (깃허브)
- 이메일 인증 확인
- 폼 양식 유효성 검사
- JWT
- 사용자의 기본적인 프로필 정보
- 텍스트 에디터와 프로필 소개 작성 및 수정 기능
- 프로필 페이지 유저의 최신 깃허브 잔디 가져오기
- 프로필 페이지 유저의 최신 아티클과 검색 및 정렬 기능
- 유저의 개인 워크스페이스 페이지
- 이미지 최적화
- 폰트 최적화
- SEO 최적화
- 초기 로딩 속도 최적화
- 페이지 이동시 전환 속도 최적화
- 효율적인 네트워크 요청 (디바운싱, 쓰로틀링, windowing 기법 적용)
추가 기능 구현 이전에 프로젝트의 코드를 리팩토링하고 더 좋은 설계를 고민할 것!
- 웹소켓을 활용하여 커피챗 서비스를 구현할 예정입니다. 백엔드는 구현 완료
- 페어프로그래밍 서비스를 구현할 예정입니다. 디스코드와 같이 채팅 방을 생성하고 화면 공유 기능
- 어드민 페이지 개발 예정
- 일정 관리 페이지 개발 예정
프로젝트를 진행하며 사용자의 입장에서 생각하고 고민하는 것이 얼마나 중요한지 깨달았습니다. 사용자 경험을 향상시키기 위해 지속적으로 피드백을 반영하고, UX / UI와 디자인을 깊이 고민했습니다. 이를 통해 사용자 중심 제품 개발의 중요성을 이해하게 되었습니다. 성능 개선과 최적화를 위해 다양한 기법과 도구들을 학습했습니다. 제품의 개발부터 출시까지 전 과정을 경험할 수 있는 기회였습니다. 기술 선택 단계에서는 프로젝트의 요구 사항과 상황에 맞는 적합한 기술을 신중하게 선택하며 프로젝트 완성도를 높일 수 있었습니다.