[토이프로젝트] 아이디어 기획
가제 : 우리집에 가면~🎶
<공유하는 마이홈 냉장고 재고 관리 시스템>
1. 기획 배경
몇 년간 동생과 동거해오며 느꼈던 불편한 점이 있었다.
우리 집은 미친듯한 냉장고/냉동실 포화 상태로 장 보는게 두려울 정도였다.
무엇이 어디에 있는지도 잘 파악이 안되고, 유통기한이 지난 음식들도 제때제때 버리지 못했다.
또한 서로의 생활패턴이 달라서 누가 재료를 사서 채워넣어도 냉장고에 뭐가 있는지도 제대로 알지 못한채 생활이 지속되기도 한다.
다 들어갈까?의 고민을 하며 장을 봐온지 4년째...
이제는 좀 변화가 필요하다고 느껴 토이 프로젝트로 개발을 시작하기로 했다.
홈메이트와 공유가 가능한 냉장고 재료 확인이 가능한 재고 관리 시스템!
여기에 추가로 살림 재고 관리도 가능하다면 하려고 한다.
2. 필요한 기능들을 기획해보자면
1) 사용자 인증 및 권한 관리
- SNS 로그인
- 사용자 그룹 생성 및 초대 (가족, 룸메이트 등)
- 사용자 역할 설정 (관리자, 일반 사용자)
2) 냉장고 재고 관리
- 식재료 추가/수정/삭제 기능 (직접 입력/바코드/구매내역)
- 이때 이미지 캡처 업로드 후 OCR 텍스트 추출 기술을 사용하여 정보 자동 입력도 가능하도록.
- 유통기한 자동 알림
- 소비/폐기 기록 관리
- 카테고리별 정리 (ex. 채소, 유제품, 육류 등) 혹은 냉장고 칸별 정리
3) 살림 재고 관리
- 공유 물품 추가/수정/삭제 (화장지, 세제 등)
- 재고 부족 알림 기능
- 구매 목록 생성 및 관리
4) 공유 일정 및 알림
- 물품 구매 일정 등록 및 알림
- 홈 구성원간 채팅
5) 통계 및 대시보드
- 재고 소비 패턴 분석 (가장 빨리 소모되는 물품 등)
- 월별 구매 비용 통계
+ 확장 아이디어
- 레시피 추천
- 비용 분담 기능
- 음성 입력 지원
3. 기술 스택을 들여다 보자면
1) 프레임워크 : Java, Spring Boot
2) 데이터베이스 : MySQL, Redis (푸시알림, 빠른 조회?)
3) API 설계 : RESTful + 외부 API 연동 (식재료 정보, 알림)
4) 배포 : Docker, AWS
5) 추가 기술 : JWT 인증, WebSocket/FCM을 활용한 실시간 알림/채팅
등등~
4. 개발/배포 계획을 위해 중요성에 따라 나누어보았다.
1) 1차 MVP 배포 : 실사용이 가능한 MVP를 빠르게 배포 후 사용자 테스트 진행, 기본적인 사용성을 확인하고 피드백 수집.
데이터 저장 및 구조 설계 | - 데이터베이스 설계 |
사용자 인증 및 그룹 관리 | - 사용자 계정 생성 및 로그인/로그아웃 (JWT 인증, SNS 로그인) - 그룹 생성 및 초대 기능 (가족, 룸메이트 등) |
재고 추가/수정/삭제 기능 | - 품목명, 카테고리, 수량, 유통기한 입력 - CRUD API - 소비/폐기 기록 관리 |
유통기한 알림 | - 유통기한 임박한 품목 알림 기능 (ex. 유통기한 5일전) - 간단한 이메일 알림 또는 대시보드 알림 표시 |
간단한 대시보드 | - 현재 재고 조회 및 상태 표시 |
2) 2차 업데이트 개발
OCR 기능 | - 장본 영수증이나 온라인 구매 이미지 업로드 및 텍스트 인식(OCR)을 통한 자동 입력 (Google Vision API/Tesseract) |
알림 방식 확장 | - 실시간 푸시 알림 (Firebase Cloud Messaging (FCM)) |
검색 및 필터링 기능 | - 품목명, 카테고리, 유통기한 기준으로 재고 검색 - 유통기한 임박 품목만 필터링 |
대시보드 업데이트 | - 달력 |
3) 3차 업데이트 개발 (가능하다면!)
통계 대시보드 | - 소비 패턴 분석 (가장 많이 소비한 품목, 월별 소비량 등) - 예산 관리 기능 (구매 비용 통계) |
레시피 추천 | - 재고를 기반으로 가능한 요리 레시피 추천 |
공유 일정 및 알림 | - 물품 구매 일정 등록 및 알림 - 홈 구성원간 채팅 (웹소켓) - 비용 분담 기능 |
음성 입력 지원 | - 스마트 스피커 API 연동으로 음성으로 간단히 상품 입력 |
5. 내가 이 프로젝트를 통해 경험하고 싶은 것들
1) 혼자서 해보는 배포 및 CI/CD - 제대로 공부하고 어떻게 이루어지는지를 알고싶다.
2) 푸시 알림 구현 - 사용자 요청이 없이도 클라이언트 측에 알림이 갈 수 있도록 실시간 데이터 처리가 가능하도록 공부하며 구현하고 싶다. 비동기 작업 처리도 함께!
3) JWT 인증 + Redis 활용한 리프레시 토큰 구현 - 레디스와 리프레시 토큰을 제대로 구현해보고싶다.
4) 데이터베이스 설계와 성능 최적화에 대한 고민
5) 프론트 측과의 협업 - 제대로된 RESTful API 설계를 해보고싶다.
6) 프로젝트 진행과 동시에 공부하고 정리하는 습관
'Project > toy project' 카테고리의 다른 글
[우리집에 가면] 25.02.17 - AWS RDS, 도커 이미지 (0) | 2025.02.17 |
---|---|
[우리집에 가면] 25.02.14 - EC2 생성 (0) | 2025.02.14 |
[우리집에 가면] 25.02.13 - JPA, Swagger, Security config, 구조 (1) | 2025.02.13 |
[우리집에 가면] 25.02.11 - MVP 기획 수정, DB 모델링 (1) | 2025.02.11 |
[토이프로젝트] 1차 MVP 기획 (0) | 2025.02.07 |