- 기존 네컷 사진 관리의 어려움을 해결하기 위해, 네컷 사진에 포함된 QR 코드를 촬영하는 것만으로 사진을 저장하고 관리할 수 있도록 단순화하였습니다. 또한, 사진에 등장한 얼굴을 통해 사진을 클러스터링하는 기능으로 사용성을 개선하였습니다.
- 사용자가 업로드한 네컷 사진의 포즈와 분위기를 분석하여, 사용자가 경험해보지 못한 새로운 사진 포즈와 분위기를 추천하는 기능을 제공합니다.
- 네컷 사진에 등장한 인물의 미소 점수를 측정하여, 미소 점수에 따른 기부를 진행하는 기능도 포함하고 있어,사용자 참여를 높이고 사회적 기여를 장려합니다.
🎬 발표영상 : Youtube
사용자는 네컷사진의 QR코드를 촬영하여 자동으로 사진을 저장할 수 있습니다. 사진은 메인화면에 업로드 되며, 상단의 인물 얼굴 아이콘을 통하여 특정 사람과 함께 찍은 사진을 빠르고 쉽게 찾아볼 수 있게 되었습니다. 이러한 기능을 통해 사진 정리와 관리가 훨씬 수월해지게 되었습니다.
사용자가 업로드한 사진을 클릭하여서 사진에서 미소가 탐지된 얼굴과 측정된 미소 점수를 확인할 수 있습니다. 또한 사용자간의 긍정적인 경쟁심리를 일으킬 수 있는 미소 점수 랭킹을 도입하여서 사용자들이 더 많은 미소를 띄게끔 유도합니다. 미소 점수 랭킹은 사용자의 미소 점수에 따라서 기부금이 쌓이게 되며, 이 기부금은 사용자가 선택한 비영리 단체에 기부됩니다.
사용자가 업로드한 사진의 포즈와 분위기를 분석하여, 사용자가 경험해보지 못한 새로운 사진 포즈와 분위기를 추천하는 기능을 제공합니다. 또한, 사용자가 업로드한 사진을 AnimeGANv3를 통하여 비식별처리를 진행하여, 사용자의 개인정보를 보호합니다. 모든 추천 이미지는 비식별화처리되어 프라이버시를 보호하면서도 사용자에게 풍부하고 개성있는 시각 자료를 제공합니다.
- 비용 최적화 : AWS환경에서의 서버유지비용 문제가 있었습니다. API Gateway + Lambda를 활용한 서버리스 백엔드 구축으로 비용 최적화를 달성하였습니다.
- 항상 사용 가능한 백엔드 : 서버 유지비용 문제가 해결되어 백엔드 서버를 계속하여 실행상태로 유지할 수 있게 되었습니다. 따라서 프론트엔드 파트 팀원이 항상 API 통신 테스트를 할 수 있게 되었습니다.
- 로그인 로직 : 로그인 및 JWT토큰 발급을 위해 FastAPI를 활용하여 인증과 인가를 구현하였습니다.
- 무상태 인증 : JWT 토큰을 활용하여 서버에 상태를 저장할 필요 없이 클라이언트 측에서 인증 정보를 유지할 수 있도록 구현하였습니다. 이는 상태를 유지하지 않는 서버리스 아키텍처에 적합하며, 각 Lambda 함수들이 요청을 독립적으로 처리할 수 있게 하였습니다.
- 보안성 강화: Lambda에 요청이 들어올 시 JWT 토큰의 만료 기간을 확인하고, 만료된 토큰이 들어오면 해당 요청을 거부합니다. 또한, JWT 토큰이 발급될 때의 서명과 일치하지 않는 경우 요청을 처리하지 않도록 구현하여 보안성을 강화하였습니다. 이를 통해 각 요청이 신뢰할 수 있는 상태에서만 처리되도록 보장합니다.
| 구분 | 기술스택 |
|---|---|
| Frontend | |
| Backend | |
| DB | |
| Data Enginnering | |
| AI | |
| Project Management& Infra |
ChooseCheese는 Android 1명 & BE 1명 & Data Engineeering & infra 1명 & AI 1명 으로 구성되어 있습니다 ✌️
| 이름 | 파트 | Github |
|---|---|---|
| 서관우 | Android | |
| 이재찬 | AI | |
| 장경훈 | DE / AWS | kyounghunJang |
| 최성민 | BE / AWS | choismn |











