- 2023/4/10 ~ 2023/5/19 (6주)
- SSAFY 8기 자율 프로젝트
- 친구들과 사진을 공유해 본 경험 있으신가요?
- 많은 사진을 공유하려면 기존의 서비스들은 아쉬웠던 점이 많았습니다.
- 다른 사람들은 같은 장소에서 어떻게 사진을 찍었는지 궁금했습니다.
- 그래서, 사진 공유 서비스 SOME을 개발했습니다!
- 공유 앨범에 친구를 쉽게 초대하고, 편하게 사진을 업로드 하세요.
- 공유한 사진을 AI를 활용해 편하게 분류하여 제공합니다.
- 잘 찍은 사진을 그 장소에 등록해서 자랑하세요.
- 남사친
- 목적에 맞는 공유 앨범 생성
- 카카오톡 연동 친구 초대
- AI 자동 사진 분류
- SNS 업로드 동의 요청
- 여사친
- 내 위치에 사진 남기기
- 내 주변에 등록된 사진 보기
- 마음에 드는 사진에 좋아요 남기기
-
AI
- YOLO
- YOLO
-
FrontEnd
- Next.js
- TypeScript
- SCSS
- Tailwind
- React-Query
- Redux Toolkit
- PWA
- Kakao API (Map, Auth, Local)
-
BackEnd
- Java 11
- Spring Boot
- Spring Data JPA
- QueryDSL
- MySQL
- mongoDB
- Redis
- RabbitMQ
- fastAPI
- SSE
-
Infrastructure
- Docker
- Kubernetes
- AWS CLI
- Amazon S3
- Elastic Container Registry
- Jenkins
- Gitlab
- SonarQube
-
Client
- 남사친, 사진 상세, 친구 초대, 앨범 상세 페이지, 마이페이지 구현
- PWA 설정
- 로그인 기능 구현
-
Server
- AI 사진 분류, mongoDB 연동, 로그인 서버 개발
Client
- 목업 서버(Json Server)를 활용한 API 테스트
Server
- OAUTH -> kakao 소셜 로그인
- AI 카테고리 커스텀
- mongoDB queryDSL 연동
-
Client
- 사진 업로드 기능, 사진 집중모드 구현
- 리덕스 세팅
- 서비스워커 Notification 설정
- React-Query를 활용한 API 연결
-
Server
- 남사친 API 개발
- 사진파일 메타데이터 추출
- S3 연동
- SSE 알림 연동
Server
- 파일 압축 업로드
- S3 폴더 관리
Client
- 여사친 페이지 구현
- 사진 줌인, 줌아웃, 좋아요, 대표이미지 설정 기능 구현
- 다운로드 및 업로드 기능 구현
Server
- 여사친 API 개발
- RabbitMQ 구현
- 알림 서버 개발
- Redis 연동
Client
- 사진 옆으로 넘기기 기능 구현
- 여사친 지도 및 기능 구현
- 사진 공유 기능 구현
Server
- 카카오 친구목록 연동
- 알림 기능 고도화
Client
- CSS 디자인 수정
- Next/image 컴포넌트를 활용한 이미지 최적화
└frontend
├─components
│ ├─album
│ ├─album-starter
│ ├─notification
│ ├─photo-detail
│ └─profile
├─features
├─lib
├─nginx
├─pages
│ ├─album
│ │ └─[album_id]
│ │ └─[photo_id]
│ │ └──[page_idx]
│ │ └─[index]
│ ├─api
│ ├─boy-home
│ ├─desktop
│ ├─girl-home
│ │ └─[list]
│ │ └─[photo_id]
│ ├─invite
│ ├─login
│ └─oauth
├─public
│ ├─favicons
│ ├─icons
│ ├─images
│ └─splash_screens
├─store
├─styles
└─types
some-friendboy
└─src
├─main
│ ├─generated
│ ├─java
│ │ └─com
│ │ └─ssafy
│ │ └─somefriendboy
│ │ │ SomeFriendboyApplication.java
│ │ │
│ │ ├─config
│ │ │ AmazonS3Config.java
│ │ │ MongoDBConfig.java
│ │ │ RabbitConfig.java
│ │ │ RedisConfig.java
│ │ │ WebMvcConfig.java
│ │ │
│ │ ├─controller
│ │ │ AlbumController.java
│ │ │ AlbumPhotoController.java
│ │ │ NotiController.java
│ │ │ UserController.java
│ │ │
│ │ ├─dto
│ │ │
│ │ ├─entity
│ │ │ │ Album.java
│ │ │ │ AlbumFav.java
│ │ │ │ AlbumMember.java
│ │ │ │ AlbumPhoto.java
│ │ │ │ AlbumPhotoSNS.java
│ │ │ │ FeedBack.java
│ │ │ │ Notification.java
│ │ │ │ PhotoCategory.java
│ │ │ │ User.java
│ │ │ │ UserPhotoLike.java
│ │ │ │
│ │ │ ├─id
│ │ │ │
│ │ │ └─status
│ │ │
│ │ ├─repository
│ │ │ ├─album
│ │ │ │
│ │ │ ├─albumfav
│ │ │ │
│ │ │ ├─albummember
│ │ │ │
│ │ │ ├─albumphoto
│ │ │ │
│ │ │ ├─albumphotosns
│ │ │ │
│ │ │ ├─noti
│ │ │ │
│ │ │ ├─user
│ │ │ │
│ │ │ └─userphotolike
│ │ │
│ │ ├─service
│ │ │ AlbumPhotoService.java
│ │ │ AlbumService.java
│ │ │ AmazonS3Service.java
│ │ │ NotiService.java
│ │ │ UserService.java
│ │ │
│ │ └─util
│ │
│ └─resources
│ application.yml
some-friendgirl
└─src
├─main
│ ├─generated
│ ├─java
│ │ └─com
│ │ └─ssafy
│ │ └─somefriendgirl
│ │ │ SomeFriendgirlApplication.java
│ │ │
│ │ ├─config
│ │ │ AmazonS3Config.java
│ │ │ MongoDBConfig.java
│ │ │ RedisConfig.java
│ │ │ WebMvcConfig.java
│ │ │
│ │ ├─controller
│ │ │ AlbumController.java
│ │ │ PhotoController.java
│ │ │
│ │ ├─dto
│ │ │
│ │ ├─entity
│ │ │ AlbumPhoto.java
│ │ │ AutoIncrementSequence.java
│ │ │ PhotoLikeStatus.java
│ │ │ PhotoStatus.java
│ │ │ User.java
│ │ │
│ │ ├─redis
│ │ │ RedisScheduler.java
│ │ │
│ │ ├─repository
│ │ │ ├─album
│ │ │ │
│ │ │ ├─photo
│ │ │ │
│ │ │ └─user
│ │ │
│ │ ├─service
│ │ │ AlbumService.java
│ │ │ AmazonS3Service.java
│ │ │ PhotoService.java
│ │ │
│ │ └─util
│ │ GetResponse.java
│ │ HttpUtil.java
│ │ MongoQueryUtil.java
│ │ ResponseUtil.java
│ │
│ └─resources
│ application.yml
ai
└─ fast.py
- Git
- Notion
- JIRA
- MatterMost
- Webex
- Discord
- Kakaotalk
1️⃣ 홈 화면
2️⃣ 최근 업로드
3️⃣ 앨범 생성
4️⃣ 카톡으로 친구 초대하기
5️⃣ 앨범 참여하기
6️⃣ 앨범 상세보기
7️⃣ 사진 상세보기
8️⃣ SNS 요청
1️⃣ 사진 업로드
2️⃣ 현재 위치의 사진 확인
3️⃣ 사진 상세보기