This repository is where we keep a record of our Instagram-clone-project progress.
- 주제 : 인스타그램 Clone 프로젝트
- 기간 : 22.05.03(화) ~ 22.05.11(수)
- Figma Mock-up : Figma Link
- Schedule Management : Git Project Link, 간트차트 Link
- Git Issue : Git Issue Link
- API Design : Notion Link
- Tool
- FE : HTML, CSS, JS
- BE : Flask
- DB : MongoDB (Atlas)
- DB Design
-
Register(회원가입) : User 정보 검증 및 DB 저장
- 아이디 중복 체크 (이메일형식, 4~30자)
- 닉네임 중복 체크 (영대소문자, 숫자, (_ . @ !) 특수문자, 4~12자)
- 이름 체크 (영대소문자, 한글 2-20자)
- 비밀번호 체크 (영대소문자, 숫자, (!@#$%^) 특수문자, 8~20자)
-
Login(로그인) : 입력 정보 DB 검증 및 Token 부여
- JWT(Json Wep Token) 생성 (ID 값 저장)
- 페이지 로드시 Token 체크 유지 시간(30분) 초과시 토큰 삭제 및 로그아웃
- 게시물 조회 : 로그인 유저 정보 조회
- User가 Follow 한 사람의 Feed 출력
- 게시물 헤더 : 유저 프로필 페이지 이동
- 게시물 본문
- 게시글 조회
- 게시물 좋아요/해제
- 북마크 등록/해제
- 게시물 모달 (위 기능과 동일)
- 게시물 댓글
- 댓글 조회
- 댓글 작성
- 친구 추천 기능
- 추천 유저 Follow / Unfollow 가능
- 추천 알고리즘 : 전체 유저 - 내가 팔로우한 유저 리스트
- (다음 기회에) 게시물 편집 (수정, 삭제) Option ( ··· )
- Follow , Following (모달)
- 팔로우/언팔로우 기능
- 팔로우/팔로잉 수
- 포스트 출력 (유저가 작성한)
- 포스트 Hover (좋아요/댓글 정보)
- 포스트 Click (게시글 모달)
- 프로필 이미지 변경
- 이미지 업로드 및 서버 저장
- (다음 기회에) 포스트 북마크 탭 (저장됨) 출력
- 홈, 마이페이지 : 페이지 이동
- 새 게시물 작성 (모달)
- 이미지 업로드 후 서버 저장
- (다음 기회에) 게시물 최근 활동
├── services // 기능 함수들
│ ├── a.py
│ └── ...
│
├── static
│ ├── css
│ ├── imgs
│ └── ...
│
├── templates
│ ├── Login // 로그인
│ │ ├── index.html
│ │ └── ...
│ │
│ ├── Feed // 피드페이지
│ │ ├── index.html
│ │ └── ...
│ │
│ └── Profilepage // 프로필페이지
│ ├── index.html
│ └── ...
│
└── app.py // 메인