프로젝트 주제: 바이럴마케팅을 위한 랜딩페이지 개발 프로젝트
프로젝트의 핵심: 가계부 시스템 구현
사용자는 계좌를 등록/삭제/조회 등을 할 수 있고, 입출금 기록을 기록/조회/삭제/수정 가능
주요 기능
- 회원가입
- 로그인/로그아웃
- Django Admin Page
- 계좌 CRUD
- 거래내역 CRUD
- (도전) 소비금액을 비교, 분석하는 데이터 시각화 + 스케줄링
- (도전) 알림 기능
프로젝트 목표
- 협업 경험 (Github 사용법)
- uv를 활용한 의존성 관리 및 실행 환경 구성
- docker 컨테이너의 이해
- Postgres 데이터베이스 연동, ORM 사용 방법, ERD 정립, test 코드 작성(TDD)
- 웹 프레임워크의 활용 방법
- CI / CD 의 스크립트 제작 경험(With. Github Actions)
- AWS EC2를 이용한 배포
단계별 설명
1단계
- 개발 환경 및 협업 환경을 준비하고, 프로젝트의 초기 구조와 규칙을 설정하는 단계
- 도커를 이용하여 개발환경을 컨테이너화 시켜보기
2단계
- ERD를 설계하고, 이를 기반으로 모델을 생성하는 단계
- (도전) wait_for_db
3단계
- API 스펙을 작성하고, 회원/인증 + 계좌 + 거래내역 관련 API 개발하는 단계
- ORM 쿼리 최적화되 진행
- (도전) Social Login
- (도전) API 문서화
(도전) 4단계
- 사용자의 주간/월간 소비 데이터를 시각화하고, 이를 주기적으로 분석하는 백그라운드 작업
- (스케줄링)을 Celery로 처리하는 단계
(도전) 5단계
6단계