Tistory 클론 코딩 프로젝트 - Wastory입니다.
- 박수인 - GitHub 프로필
- 도메인 연결 후 https 설정
- EC2 서버 및 DB 관리(업데이트 및 유지보수)
- blog Entity 세부 설계 및 API 구현
- 블로그 내 글(Article) 공개/보호/비공개 설정 기능 API 구현
- 블로그 검색 기능 API 구현
- subscription Entity 설계 및 API 구현
- 박상현 - GitHub 프로필
- 블로그 내 글(Article) Entity 세부 설계 및 API 구현
- 글 검색 기능 API 구현
- AWS S3 image 관리 및 presigned URL 을 통한 배포
- Image Entity 를 이용해 file_URL 미사용 시 S3 자동 삭제 구현
- like Entity 설계 및 API 구현
- hometopic - Article 연결 및, hometopic 기본 데이터 구조 설계
- 권재영 - GitHub 프로필
- 카테고리(category) Entity 세부 설계 및 관련 api 구현
- 글 및 방명록 comment Entity 세부 설계 및 관련 api 구현
- 임시저장 글 draft Entity 세부 설계 및 관련 api 구현
- hometopic 모델 설계
- 임수호 - GitHub 프로필
- 소셜 로그인 및 이메일 인증 구현
- 유저 및 알림 api 구현
- 서종환 - GitHub 프로필
- 로그인, 회원가입, 계정관리, 글작성(RichTextKit 적용)
- 신중원 - GitHub 프로필
- 메인탭, 글/블로그 조회, 댓글/방명록, View간 navigation
fastapi = "^0.115.0" # Python 기반 비동기 웹 프레임워크
sqlalchemy = "^2.0.35" # ORM (Object Relational Mapper)
aiomysql = "^0.2.0" # MySQL 비동기 드라이버
alembic = "^1.13.3" # 데이터베이스 마이그레이션 도구
pyjwt = "^2.10.1" # JWT (JSON Web Token) 인증 처리
pydantic-settings = "^2.5.2" # 환경 변수 및 설정 관리
redis = "^5.2.1" # Redis 클라이언트 라이브러리
- iOS (지원 버전: iOS 18.0 이상)
- UI: SwiftUI / UIKit
- 네트워크: Alamofire
- 이미지 처리: Kingfisher
- 리치 텍스트: RichTextKit
![워크플로](https://private-user-images.githubusercontent.com/24616281/407976149-d4084f2d-d43b-447f-b5ed-35e14fe32f5c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NDk2NzMsIm5iZiI6MTczODk0OTM3MywicGF0aCI6Ii8yNDYxNjI4MS80MDc5NzYxNDktZDQwODRmMmQtZDQzYi00NDdmLWI1ZWQtMzVlMTRmZTMyZjVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDE3MjkzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0NWQwMWRhNTk3MWQyODYxNzExMjY4ZDNlZjM0MDE4OTAwNDAxNTRkMjQ5YTAzNzA1Y2IzZjIzY2FlYjBjNTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1lL7REm2mFHKdjWBFe1nCIbPJ7mogvcm93rzdssG740)
📌 Wastory 프로젝트의 주요 화면 구성입니다.
- 사용자가 초기에 들어가는 페이지입니다.
- 카카오톡을 통한 소셜 로그인 / 이메일 인증을 통한 로그인 중 하나를 선택할 수 있습니다.
- 카카오톡 소셜 로그인
- 카카오톡 연결을 통한 소셜 로그인이 진행
- 카카오톡 미가입 회원이라면, 자동으로 회원가입 연결
- 이메일 인증 로그인
- 간편 로그인 정보 저장을 통해, 지난 로그인 정보 유지
- 회원가입 뷰로 이동 가능
로그아웃하지 않은 지난 로그인 기록이 있다면, 추가적인 로그인 필요 없이 앱에 접속 가능!
![]() |
![]() |
- 회원가입
- 서비스 약관 동의 이후, 회원가입 진행 가능
- 이메일을 통해 8자 인증번호 기입을 통한 인증
- 비밀번호 설정 시, 비밀번호 재입력을 통한 확인
- 회원가입 성공 시, 나만의 블로그 주소 설정 가능
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- today wastory
- 오늘 하루 조회수가 상위 5개의 게시글 전달(비공개글, 보호글은 제외)
- weekly wastory
- 일주일 기준 조회수가 상위 5개의 게시글 전달(비공개글, 보호글은 제외)
- category 별 인기글
- 사용자가 지정한 hometopic(category) 의 조회수 상위 7개의 게시글 전달
- Focus View(J의 주말 계획/오후에는 커피 한 잔)
- J의 주말 계획
- category 중, 국내여행/해외여행/캠핑,등산/맛집 의 조회수 상위 5개 게시글 전달
- 오후에는 커피 한 잔
- category 중, 카페 디저트트 의 조회수 상위 5개 게시글 전달
- J의 주말 계획
![]() |
![]() |
![]() |
- 구독중인 블로그의 최신 게시물
- 내가 구독하는, 나를 구독하는 블로그 리스트
![]() |
![]() |
![]() |
- 글자 서식 변경
- 이미지 첨부
- 되돌리기 및 앞으로가기
- 임시 저장 및 저장된 글 불러오기
- 카테고리 설정 가능
- 글 공개, 보호, 비공개 여부 설정 가능
- 홈주제 설정 가능
- 댓글 공개여부 설정 가능
- 알림 표시 및 알림 종류별로 조회 가능
- 구독한 블로그의 새 글 발행 알림
- 자신의 블로그의 구독자 추가 알림
- 자신의 글에 달린 댓글 혹은 자신의 댓글의 답글 추가 알림
- 자신의 블로그의 방명록 혹은 자신의 방명록의 답글 추가 알림
- 블로그 글 조회
- 내 블로그 설정
- 대표 이미지 설정 가능
- 카테고리 관리 (추가기능!) (상위, 하위 카테고리 지정 가능)
- 작성한 글 조회 및 좋아요 가능
- 우측 상단의 카테고리 클릭 시 블로그 조회 뷰로 이동해 해당 카테고리 글들을 볼 수 있음
- 하단의 버튼들을 이용해 좋아요, 댓글, 글 수정 삭제가 가능함
- 글 수정 삭제버튼은 자신의 글인 경우에만 나타남
- 블로그 내 동 카테고리 게시물 & 인기글 확인 가능
- 더보기 클릭 시 블로그 조회 뷰로 이동해 해당 카테고리 글들을 볼 수 있음
- 다른 사람의 블로그의 경우 블로그 정보에 구독하기 버튼이 생겨 구독 추가/취소 가 가능함
- 실시간 댓글 작성 및 대댓글 지원
- 작성자 정보 및 작성일 표시
- 비밀 댓글 가능
- 블로그 글 조회 및 카테고리 별로 조회 가능
- 블로그 인기글 조회수, 댓글수, 공감수 순으로 조회 가능
- 블로그 내 글 검색 가능
- 우측의 전체검색을 누를시 전체 검색가능
- 자유롭게 메시지를 남기고 열람 가능
- 작성자 정보 및 작성일 표시
- 비밀 방명록 가능
- 키워드로 검색 가능
- 글 검색 (제목 및 내용)
- 블로그 검색 (이름)
- 비밀번호 변경, 로그아웃, 계정 탈퇴 가능
- 카카오 로그인 유저는 비밀번호 변경 불가능