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/insights endpoint 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.

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
Share this project:

Updates