Skip to content

Latest commit

 

History

History
169 lines (121 loc) · 5.35 KB

File metadata and controls

169 lines (121 loc) · 5.35 KB

Calmlytic

Your Personal Mind OS - AI-powered journaling and mental wellness platform

License: MIT Next.js TypeScript

Calmlytic is a modern, AI-powered journaling platform that helps users understand their mental wellness patterns through intelligent insights, voice journaling, vision boards, and therapeutic assessments.

✨ Features

  • 📝 AI-Powered Journaling - Get insights and pattern recognition from your entries
  • 🎤 Voice Journaling - Speak your thoughts and let AI transcribe and analyze
  • 🎯 Vision Boards - Create visual goal boards with drag-and-drop editor
  • 📊 Mental Health Assessments - Track your wellness with clinical assessments
  • 🔒 Privacy First - Your data is encrypted and private
  • 📱 PWA Support - Install as an app, works offline
  • 🌙 Dark Mode - Beautiful UI with theme support

🚀 Quick Start

Prerequisites

  • Node.js 18+ and npm
  • A Supabase account (free tier works)
  • (Optional) Google Gemini API key for AI features
  • (Optional) OpenAI API key for voice features

Installation

  1. Clone the repository

    git clone https://github.com/Dev-Adnani/calmlytic.git
    cd calmlytic
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp env.example .env.local

    Edit .env.local and add your Supabase credentials:

    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key
  4. Set up Supabase

    • Create a new project at supabase.com
    • Run the database migrations (see Database Setup)
    • Enable Google OAuth in Supabase Auth settings (optional)
  5. Run the development server

    npm run dev
  6. Open http://localhost:3000

📚 Documentation

Comprehensive documentation is available in the docs/ directory:

🗄️ Database Setup

Option 1: Using Supabase CLI (Recommended)

  1. Install Supabase CLI: npm install -g supabase
  2. Login: supabase login
  3. Link your project: supabase link --project-ref your-project-ref
  4. Push migrations: supabase db push

Option 2: Export Existing Schema

If you have an existing Supabase database:

# Run the export script
./supabase/export-schema.sh

# Or manually
supabase db pull

This will export all tables, RLS policies, triggers, and functions to supabase/migrations/.

See supabase/README.md for detailed instructions.

Option 3: Manual Setup

See the Database Documentation for SQL migration scripts.

🛠️ Tech Stack

📦 Project Structure

calmlytic/
├── src/
│   ├── app/              # Next.js pages and API routes
│   ├── components/       # React components
│   ├── lib/              # Utilities and helpers
│   ├── hooks/            # Custom React hooks
│   ├── store/            # Zustand state management
│   └── types/            # TypeScript types
├── docs/                 # Documentation
├── public/               # Static assets
└── env.example           # Environment variables template

🔧 Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run linter
  • npm run format - Format code

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📧 Support


Made with ❤️ for mental wellness