https://github.com/alloon-project/photi-server
포토 챌린지로 일상 속 새로운 즐거움을 발견해 보세요!
https://github.com/alloon-project/photi-server
aws command-query docker flyway multimodule port-adapter postgresql redis spring-boot spring-security swagger
Last synced: about 2 months ago
JSON representation
포토 챌린지로 일상 속 새로운 즐거움을 발견해 보세요!
- Host: GitHub
- URL: https://github.com/alloon-project/photi-server
- Owner: alloon-project
- License: agpl-3.0
- Created: 2023-12-22T06:43:21.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2025-12-31T15:56:10.000Z (3 months ago)
- Last Synced: 2026-01-05T00:42:55.983Z (3 months ago)
- Topics: aws, command-query, docker, flyway, multimodule, port-adapter, postgresql, redis, spring-boot, spring-security, swagger
- Language: Kotlin
- Homepage:
- Size: 1.35 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# 포티 [](https://apps.apple.com/kr/app/%ED%8F%AC%ED%8B%B0/id6747941953) [](https://play.google.com/store/apps/details?id=com.photi.aos&pcampaignid=web_share) 
> 포토 챌린지로 일상 속 새로운 즐거움을 발견해 보세요! • 백엔드 레포지토리
## 💭 Features
1. **1일 1 인증** - 하루 한 번 정해진 시간 안에 즉석에서 챌린지 사진 인증
2. **챌린지 만들기** - 이름, 목표, 이미지, 인증 시간, 인증 룰, 해시태그, 종료 날짜, 공개 여부를 설정하여 챌린지 생성
3. **다양한 챌린지 탐색** - 인기/해시태그/검색으로 관심 있는 챌린지 탐색
4. **챌린지 함께하기** - 비공개 챌린지는 초대 코드를 통해 참여 / 공개 챌린지는 자유롭게 참여
5. **파티원과 함께 도전하기** - 챌린지 인증 사진에 댓글과 좋아요 / 개인 목표 설정
6. **인증 사진 공유하기** - 인스타그램으로 나의 챌린지 인증 공유
## ✨ Service
- [서비스 소개 노션](https://octagonal-caboc-47d.notion.site/team-photi?source=copy_link)
- [1차 MVP 기획](https://www.figma.com/board/hG9r7mpCYJ9lqOLr2YUNKE/%E2%9A%A1%EF%B8%8F-%ED%8C%80-%EA%B8%B0%ED%9A%8D?node-id=255-289&t=G3Gv8kj3VF6SWywH-1)
- [2차 MVP 기획](https://www.figma.com/board/hG9r7mpCYJ9lqOLr2YUNKE/%E2%9A%A1%EF%B8%8F-%ED%8C%80-%EA%B8%B0%ED%9A%8D?node-id=0-1&t=G3Gv8kj3VF6SWywH-1)
- [인스타그램](https://www.instagram.com/photi_official/)
## 📚 Tech Stack
## 📁 Project Structure
```bash
├── photi-apis
│ └── photi-apis:enduser
│ ├── config # email, security, swagger 설정 등
│ └── controller
│ └── <도메인 별 패키지> # ex) user, challenge, feed 등
│ └── dto # 컨트롤러 계층에서 사용하는 dto
│ ├── request
│ └── response
├── photi-batch # 배치 애플리케이션
├── photi-core
│ ├── photi-core:domain # 도메인(핵심 비즈니스 로직)
│ │ ├── common # 공통 에러 코드, BaseEntity 등
│ │ └── <도메인 별 패키지> # ex) user, challenge, feed 등
│ │ ├── adapter # 다른 도메인에서 호출한 port 인터페이스를 구현한 클래스
│ │ ├── dto # 서비스 계층에서 사용하는 dto
│ │ ├── exception # 도메인별 에러 코드, 예외 정의
│ │ ├── model # 도메인 엔티티
│ │ │ └── repository # JPA 레포지토리
│ │ ├── service
│ │ │ ├── 각 도메인 별 service # 컨트롤러 계층에서 사용
│ │ │ ├── command # 명령 서비스 - 명령과 관련된 메소드(create, update, delete) 구현
│ │ │ └── query # 조회 서비스 - 조회와 관련된 메소드(read) 구현
│ │ ├── port # 다른 도메인을 호출하는 port 인터페이스
│ │ └── validator # 유효성 검사
│ └── photi-core:infra # async, jpa, querydsl, redis, s3 설정
└── photi-utils # 유틸성 object 클래스
```
## 💻 Developer
Backend
김유경
YuGyeong98