Page 1 of 5
System Requirements Document (SRD)
1. Introduction
GlowTrack is a full-stack web application designed to help users track their daily health data and skin condition. Based on user inputs, the system provides personalized skincare product suggestions and a simple diet plan. This MVP version focuses on simplicity, using rule-based logic to deliver recommendations. The system will feature connected collections to ensure data relationships are maintained for better insights and recommendations.
2. System Overview
GlowTrack enables users to:
- Log daily health data such as hydration levels, sleep hours, stress levels, and diet notes.
- Record skin condition details, including skin type, issues, and severity.
- Receive skincare product suggestions tailored to their skin type and condition.
- Access simple diet plans that align with their health data and skincare goals.
The system architecture will include:
- A React-based frontend for user interaction.
- A Node.js + Express backend to handle API requests and business logic.
- A MongoDB database to store and manage connected collections for user data, health data, skin conditions, products, and diet plans.
3. Functional Requirements as Story Points
- As a User, I should be able to log my daily health data, including hydration levels, sleep hours, stress levels, and diet notes.
- As a User, I should be able to record my skin condition, including skin type, issues, and severity.
- As a User, I should be able to view personalized skincare product suggestions based on my logged data.
- As a User, I should be able to access a simple diet plan tailored to my health data and skincare goals.
- As a User, I should be able to view a history of my logged health and skin condition data.
4. User Personas
- User: The primary user who logs health and skin data, views recommendations, and accesses diet plans. This persona values simplicity, ease of use, and actionable insights.
Page 2 of 5
5. Visuals Colors and Theme
The GlowTrack application will use a soothing and clean aesthetic to align with its focus on health and skincare. The proposed color scheme is:
- Primary Color: Soft Lavender (#D8BFD8) โ to evoke calmness and self-care.
- Secondary Color: Mint Green (#98FF98) โ to represent health and freshness.
- Accent Color: Coral Pink (#FF6F61) โ for actionable elements like buttons and highlights.
- Background Color: Light Beige (#FFF5E1) โ to maintain a warm and inviting feel.
- Font: Use a modern sans-serif font like "Poppins" or "Lato" for readability and elegance.
6. Signature Design Concept
Interactive Skin Journal Dashboard
The GlowTrack homepage will feature an interactive skin journal dashboard that visually represents the user's health and skin condition data over time. The dashboard will include:
- Dynamic Graphs: Smoothly animated line and bar graphs that display hydration levels, sleep hours, and stress levels over the past week or month.
- Skin Condition Heatmap: A color-coded heatmap that highlights the severity of skin issues over time.
- Product Carousel: A 3D rotating carousel of recommended skincare products, with hover effects that display key details like ingredients and suitability.
- Diet Plan Cards: Flip-style cards for each meal (breakfast, lunch, dinner) that reveal detailed diet suggestions when clicked.
- Micro-Interactions: Subtle animations, such as glowing effects on buttons and transitions between sections, to create a polished and engaging user experience.
The homepage will feel like a personal, interactive health journal, making the user feel connected to their progress and motivated to engage daily.
7. Non-Functional Requirements
- The system must handle at least 1,000 concurrent users during peak times.
- The database should ensure data consistency and maintain relationships between collections.
- The application should load within 3 seconds on standard broadband connections.
- The system must be scalable to accommodate future features like user authentication and advanced recommendation algorithms.
8. Tech Stack
- Frontend: React
- Backend: Node.js + Express
- Database: MongoDB
- Local Orchestration: Docker, docker-compose
Page 3 of 5
9. Assumptions and Constraints
- The MVP will not include user authentication; all data will be connected but open for simplicity.
- The recommendation logic will remain rule-based, with no AI or machine learning integration at this stage.
- The system will not support offline functionality in the MVP.
- The application will be optimized for desktop use, with mobile responsiveness as a secondary priority.
10. Glossary
- MVP: Minimum Viable Product.
- Rule-Based Logic: A simple decision-making system based on predefined rules.
- Hydration Level: The amount of water intake logged by the user.
- Skin Type: Categories such as oily, dry, combination, or sensitive skin.
- Heatmap: A graphical representation of data where values are depicted by color.
11. Database Schema and System Architecture
Page 4 of 5
Database Schema
Users (optional for now):
{
"_id": "ObjectId",
"name": "String",
"email": "String"
}
HealthData:
{
"_id": "ObjectId",
"userId": "ObjectId",
"date": "Date",
"hydrationLevel": "Number",
"sleepHours": "Number",
"stressLevel": "Number",
"dietNotes": "String"
}
SkinCondition:
{
"_id": "ObjectId",
"userId": "ObjectId",
"date": "Date",
"skinType": "String",
"issues": ["String"],
"severity": "Number"
}
Products:
{
"_id": "ObjectId",
"productName": "String",
"ingredients": ["String"],
"skinTypeSuitability": ["String"],
"purpose": "String"
}
DietPlans:
{
"_id": "ObjectId",
"mealType": "String",
"foods": ["String"],
"benefits": "String"
}
Page 5 of 5
System Architecture
Frontend:
- React-based UI for logging data, viewing recommendations, and accessing the interactive dashboard.
Backend:
- Node.js + Express to handle API requests and implement rule-based recommendation logic.
API Endpoints:
POST /health-data: Log health data.POST /skin-condition: Log skin condition.GET /recommendations: Fetch skincare product suggestions.GET /diet-plan: Fetch diet plan suggestions.GET /history: Fetch logged health and skin condition data.
Recommendation Logic:
- Match skin type to suitable product ingredients.
- Suggest diet plans based on hydration levels, stress levels, and skin condition severity.
This document outlines the updated system requirements for GlowTrack, incorporating connected collections, a clear system architecture, and defined API endpoints for the MVP.
No comments yet. Be the first!