Page 1 of 6
System Requirements Document (SRD)
Project Name: amber-system
1. Introduction
The amber-system is a web-based platform designed to perform mental health risk assessments and provide basic guidance to users. The system aims to raise awareness and encourage early intervention for mental health concerns. It is not a diagnostic tool but rather an educational and supportive resource.
The system will feature a structured hybrid pipeline combining rule-based logic and machine learning to assess mental health risks. Users will also have access to a mood tracking dashboard to monitor their emotional patterns over time. The website will prioritize user safety, privacy, and usability, ensuring a seamless and responsible experience.
Page 2 of 6
2. System Overview
The amber-system is designed to:
- Provide a mental health risk assessment through a 10-question standardized questionnaire.
- Process user responses using a hybrid pipeline that combines rule-based scoring and a Logistic Regression machine learning model.
- Deliver tailored recommendations based on the assessed risk level, with a clear warning for high-risk users.
- Allow users to log their daily mood anonymously and view trends over time via a dashboard.
- Maintain user privacy by avoiding the collection of personally identifiable information (PII).
The website will be built using modern web technologies, including FastAPI for the backend, React for the frontend, and MongoDB for data storage. The design will follow a "Midnight Zen" dark theme, ensuring a calming and user-friendly interface.
3. Functional Requirements
- As a User, I should be able to complete a 10-question mental health assessment with a 0–3 rating scale.
- As a User, I should receive a risk level (low, moderate, or high) based on my assessment responses.
- As a User, I should see tailored recommendations based on my risk level.
- As a User, I should see a clear warning message if my risk level is high.
- As a User, I should be able to log my daily mood using a 1–5 emoji scale and add an optional note.
- As a User, I should be able to view a dashboard with a trend graph of my mood history.
- As a User, I should be able to view past assessment results on the dashboard.
- As a User, I should see a medical disclaimer on every page of the website.
Page 3 of 6
4. User Personas
- Anonymous User:
- Can complete the mental health assessment.
- Can log daily moods and view mood trends.
- Cannot save data across devices (data stored locally in the browser).
5. Visuals Colors and Theme
The amber-system will follow a custom "Midnight Zen" dark theme to create a calming and modern aesthetic. The design tokens are as follows:
- primary: #1E293B (Deep Navy)
- primary_light: #334155 (Slate Blue)
- secondary: #F59E0B (Amber Gold)
- accent: #10B981 (Emerald Green)
- highlight: #F97316 (Warm Orange)
- bg: #0F172A (Dark Blue)
- surface: rgba(31, 41, 55, 0.9) (Semi-transparent Charcoal)
- text: #F8FAFC (Light Gray)
- text_muted: #94A3B8 (Muted Slate)
- border: rgba(148, 163, 184, 0.2) (Soft Slate Border)
6. Signature Design Concept
The amber-system homepage will feature an interactive "Mindful Night Sky" experience.
Page 4 of 6
Concept Details:
- Background: A dynamic, starry night sky with constellations that subtly shift and twinkle.
- Interactive Elements:
- Users can hover over constellations to reveal motivational quotes or mental health tips.
- Clicking on a star will smoothly scroll the page to the corresponding section (e.g., "Start Assessment," "Mood Tracker," "About Us").
- Animation:
- Smooth parallax scrolling with stars moving at different speeds using
gsap and ScrollTrigger.
- Subtle hover effects on stars using
framer-motion.
- Transitions:
- Sections fade in and out as users scroll through the page.
- Buttons and links have a springy, tactile feel when clicked.
This concept will create a serene and engaging first impression, encouraging users to explore the website while maintaining a calming atmosphere.
7. Interaction Model & Motion Direction
- Landing Page: Parallax interaction model with layered depth and scroll-triggered animations.
- Internal Pages: Animated interaction model with hover transitions and smooth reveals for key elements.
- Dashboard: Static interaction model for clarity and ease of use.
Each section of the landing page will have a unique interactive mechanic, such as hoverable constellations, scroll-triggered fades, and animated transitions.
Page 5 of 6
8. Non-Functional Requirements
- The website must load within 3 seconds on a standard broadband connection.
- The system must handle up to 1,000 concurrent users.
- All inputs must be validated to prevent invalid or missing data.
- The website must not collect or store personally identifiable information (PII).
- The system must prioritize user safety by not underestimating risk levels.
9. Tech Stack
-
Frontend:
- React (Vite)
- TailwindCSS
- shadcn (UI components)
-
Backend:
- FastAPI
- Motor (MongoDB driver)
-
Database:
-
Machine Learning:
- Logistic Regression (sklearn)
-
Testing:
- Cypress (frontend end-to-end tests)
- Pytest (backend unit tests)
Page 6 of 6
10. Assumptions and Constraints
- The system assumes users have access to a modern web browser with JavaScript enabled.
- Data is stored locally in the browser for anonymous sessions; no user accounts are supported.
- The machine learning model is pre-trained using a placeholder dataset and may require updates for improved accuracy.
- The website is designed for desktop and mobile browsers.
11. Glossary
- PII: Personally Identifiable Information.
- Rule-based Scoring: A method of calculating risk levels based on predefined rules.
- Logistic Regression: A machine learning algorithm used for binary or multi-class classification.
- Parallax: A design technique where background elements move slower than foreground elements, creating a sense of depth.
- Recharts: A charting library for React used to create data visualizations.
This document outlines the complete system requirements for the amber-system website. Let me know if you need further refinements or additional details!
No comments yet. Be the first!