A full-stack wellness application that transforms your mental health journey into an engaging growth experience.
Live Demo: MindBloom Application
MindBloom is a wellness application designed to help users track their mental wellbeing through daily mood logging and mindfulness challenges. The application features a plant-based visualization that grows as users complete challenges and maintain streaks, creating an engaging incentive for consistent wellness practices.
- Mood Tracking 🎭 - Express yourself with emoji selections and reflective journal entries
- Wellness Challenges 🏆 - Engage with daily, weekly, and monthly mindfulness activities
- Progress Visualization 🌿 - Watch your progress on your wellness journey
- Streak Tracking 🔥 - Maintain consistency with visual tracking of your daily engagement
- Calendar View 📅 - Review your historical mood data in an intuitive calendar format
- Responsive Design 📱 - Enjoy a seamless experience on both mobile and desktop platforms
- Secure Authentication 🔒 - Your wellness journey remains private with JWT-based security
- React
- TypeScript
- React Router
- CSS for responsive styling
- Node.js
- Express.js
- PostgreSQL database
- JWT authentication
- Node.js and npm
- PostgreSQL database
-
Clone the repository
git clone https://github.com/JRodriguez-Luna/MindBloom.git cd MindBloom -
Install dependencies
npm install -
Create a
.envfile in the root directory:DATABASE_URL=your_postgresql_connection_string PORT=3000 TOKEN_SECRET=your_jwt_secret_key -
Set up the database
npm run db:setup -
Start the development server
npm run dev -
Open your browser and navigate to
http://localhost:3000
/client: Frontend React application/server: Backend Express application/database: Database schemas and sample data
POST /api/auth/sign-up: Register a new userPOST /api/auth/sign-in: Login existing user
GET /api/progress/:userId: Retrieve user progressGET /api/mood-tracking/:userId: Access user mood data for specific datesPOST /api/mood-logs/:userId: Create a new mood entry
GET /api/challenges: Retrieve all available challengesGET /api/user-challenges/:userId: Access user-completed challengesPOST /api/user-challenges/completion/:userId: Mark challenges as completed
Contributions are welcome! Please feel free to submit a Pull Request with enhancements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who helped develop and test MindBloom
- Icons and imagery sourced from open-source resources
Remember: Just as plants need consistent care to flourish, your mental well-being thrives with regular attention. MindBloom is here to make that journey both enjoyable and rewarding.