Calmora is a web-based mental wellness application designed to help users track their emotional states, visualize mood trends over time, and receive AI-driven recommendations for self-care, positive mental health tips, and motivational guidance.
Table of Contents
Features
User Authentication
- Secure sign-up, login, and logout flows with hashed passwords and session management.
- 30-minute inactivity timeout to safeguard user data.
Mood Tracking
- Free-form mood entry form with optional description.
- Real-time sentiment analysis using NLTK’s VADER (or custom model) yields a sentiment label and numeric score.
Personalized Recommendations
- AI-powered suggestions—mindfulness exercises, motivational quotes, practical tips—based on each entry’s sentiment.
/api/insightsendpoint provides weekly trend data and notes for chart rendering.
Mood History & Insights
- Chronological history page displaying all past entries with timestamps, sentiment badges, and scores.
- Detailed results view shows one entry’s full analysis and tailored recommendations.
Responsive, Themed UI
- Mobile-friendly layouts built with Flexbox and CSS custom properties.
- Light/dark mode toggle powered by vanilla JavaScript and persisted per user.
Robust Form Handling
- CSRF protection and data validation via Flask-WTF/WTForms (
DataRequired,Email,EqualTo). - Flash messages communicate success, warnings, and errors.
- CSRF protection and data validation via Flask-WTF/WTForms (
Tech Stack
Backend
- Flask (micro-framework)
- Flask-SQLAlchemy (ORM) + Flask-Migrate (Alembic)
- MySQL (production) / SQLite (development)
- Flask-WTF / WTForms for secure forms
- NLTK VADER (sentiment analysis) + pandas + NumPy for insights
Frontend
- Jinja2 templating
- Custom CSS (Flexbox, CSS variables)
- Vanilla JavaScript for theme toggling and API calls
Log in or sign up for Devpost to join the conversation.