BeautyMinder is the culmination of our capstone design class, commenced in September 2023.
A comprehensive cosmetics management app, meticulously tuned to individual skin types as determined through the Baumann skin type assessment.
It integrates advanced technologies such as Flutter, AWS EC2, MongoDB, and Redis to provide a seamless and personalized user experience.
BeautyMinder는 2023년 9~12월, 3달간 제작된 캡스톤 디자인 수업의 결과물입니다.
Baumann 피부 유형 평가를 기반으로 한 개별 피부 유형에 맞춘 종합적인 화장품 관리 애플리케이션입니다.
Flutter, Docker, ELK, Redis 등의 기술을 통합하여 사용자에게 맞춤형 경험을 제공합니다.
- Expiry Tracking (유통기한 관리): Automate management of product lifecycles with integrated expiration date monitoring.
- OCR Integration: Streamline product registration using Optical Character Recognition for effortless management.
- Alerts & Reminders (유통기한 만료 알림): Receive alerts for impending product expirations and routine reminders, enhancing personal skincare discipline.
- Skincare Diary (루틴 기능): Document and track your skincare journey with timeline and album features, observing tangible skin transformations.
- Discover Your Skin Type (바우만 타입 분석): Discover your unique skin type through the Baumann skin type assessment.
- Customized Recommendations (바우만 타입에 따른 추천): Receive tailored product suggestions aligned with your specific skin type needs.
- Summarized Reviews via GPT (GPT 리뷰 요약): Gain insights with AI-powered summaries of comprehensive product reviews.
- Websocket Integration (바우만 실시간 채팅): Engage in active discussions with peers sharing similar Baumann skin types for communal knowledge exchange.
Important
Flutter, Spring Boot v3.1
Area | Technology |
---|---|
Frontend | Flutter |
Backend | AWS EC2 (Docker: Spring Boot+Redis+Logstash+FastAPI) |
Database | MongoDB (hosted on Atlas), AWS S3 |
Real-Time Metrics | Redis |
WebSocket | STOMP |
Search Engine | Elasticsearch (AWS OpenSearch) |
Log analysis | Logstash, Kibana (AWS OpenSearch Dashboard) |
Text Summarization | GPT API |
Image OCR | Google Cloud Vision |
Notification Svcs | Naver Cloud SMS API, SMTP Protocol |
DevOps | JUnit5, Locust, GitHub Actions, AWS Elastic LoadBalancer |
- Individual Question Score Calculation:
For each question in the survey, a score is calculated based on the selected option. The scoring function can be represented as:
For certain two-choice questions, a different rule applies:
- Aggregate Category Scores:
For each category (A, B, C, D), the total score is the sum of the individual question scores within that category. If (n) is the number of questions in a category, and (q_i) represents each question:
- Moisture Score Calculation:
The moisture score is calculated specifically from certain questions, represented as (m_i). If we assume there are (k) questions contributing to the moisture score:
- Skin Type Determination:
Each category score is compared to a threshold to determine the skin type descriptor. This can be represented with the following conditions:
- Result Compilation:
The final skin type is a string concatenation of the individual skin type descriptors from each category, represented as:
Important
은전한닢 + N-gram
ocr.mp4
Name | Role | Major |
---|---|---|
Jieun Lee (LeeZEun) | Frontend | Software Engineering |
Suji Bae (Bae-suji) | Frontend | Software Engineering |
Yoon Wook Cho (yoonwook) | Frontend | Software Engineering |
Heesang Kwak (KWAKMANBO) | Frontend | Software Engineering |
Seok Won Choi (Alfex4936) | Backend | Software Engineering |
This project is licensed under the MIT license. Feel free to edit and distribute this template as you like.