MindMap is a comprehensive mental health Progressive Web App (PWA) built with Next.js and TypeScript. It is a mental health app designed to help and aid individuals with anxiety, ADHD, bipolar, depression, and chronic migraines by giving them an easy way to record, visualize, and reflect on their daily experiences.
- Features
- Tech Stack
- Getting Started
- Available Scripts
- Environment Variables
- Project Structure
- API Overview
- Deployment
- Contributing
- License
- Mood & Symptom Tracking – Log mood, anxiety, sleep quality, and physical symptoms with detailed notes.
- Routine & Medication Management – Schedule routines, track medication adherence, and set reminders.
- Analytics Dashboard – Review trends, correlations, and progress over time with interactive charts.
- Emergency & Support Tools – Add crisis contacts, generate quick access plans, and track emergency events.
- Weather Correlation – Explore how local weather patterns influence symptoms and overall wellbeing.
- Offline-Ready PWA – Install on desktop or mobile and keep using the app with limited connectivity.
- Accessible UI Library – Reusable shadcn/ui components power a clean, responsive, and accessible experience.
- Data Export – Export personal data in CSV or JSON for sharing or backup.
- Framework: Next.js 15 (App Router) with TypeScript
- UI: Tailwind CSS, shadcn/ui, Radix UI primitives, Lucide icons
- Charts & Visualization: Recharts, Embla Carousel
- State & Forms: React Hook Form, Zod, custom hooks
- Database: Supabase (PostgreSQL) with tracked schema migrations
- Utilities: date-fns, class-variance-authority, clsx
- PWA Support: Service worker, web manifest, install prompts
- Analytics: @vercel/analytics
- Deployment: Vercel
- Node.js 18 or higher
- pnpm (recommended), npm, or yarn
- Optional: Python 3.8+ for the legacy FastAPI/Streamlit backend (see
Mindmap.py)
git clone https://github.com/jonnyterrero/MindMap.git
cd MindMap
pnpm installpnpm devThen open your browser at http://localhost:3000.
pnpm build
pnpm startpnpm dev– Start the development server with hot reloading.pnpm build– Create an optimized production build.pnpm start– Serve the production build locally.pnpm lint– Run lint checks using Next.js lint configuration.
Create a .env.local file for any secrets or third-party API keys:
# Example variables
NEXT_PUBLIC_API_BASE_URL=https://api.example.com
WEATHER_API_KEY=your_weather_api_key
.env*files are already ignored from version control.
MindMap/
├── app/ # Next.js App Router pages, layouts, and API routes
├── components/ # Reusable UI components (shadcn/ui)
├── hooks/ # React hooks, e.g. toast and mobile detection
├── lib/ # Utility helpers
├── public/ # Static assets, icons, and service worker
├── styles/ # Global CSS
├── supabase/ # Supabase migration scripts
├── Mindmap.py # Legacy FastAPI backend (reference)
├── streamlit_*.py # Streamlit prototypes and utilities
└── tsconfig.json # TypeScript configuration
The Next.js app exposes REST endpoints under /api/v1 for mood, sleep, medications, analytics, and authentication. See API_DOCUMENTATION.md for full request/response details. A legacy FastAPI backend (Mindmap.py) is included for reference or hybrid deployments.
Analytics are captured automatically via @vercel/analytics from app/layout.tsx.
- Vercel – Recommended for the PWA. Connect the GitHub repository and enable automatic deployments on push.
- Netlify / Railway / Render – Suitable alternatives with static or serverless hosting.
- Streamlit Cloud – For the Python UI referenced in
streamlit_mindtrack_complete.py.
Contributions, bug reports, and feature requests are always welcome. See CONTRIBUTING.md for full guidelines.
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m "Add your feature" - Push to your fork and open a pull request referencing any related issues.
This project is released under the MIT License. See the LICENSE file for details.
Made with love from me 💗