A comprehensive mental health companion platform designed to support your wellness journey with AI-powered conversations, mentorship, and mindful tools.
- Powered by Google Gemini AI with culturally-aware responses
- Real-time chat interface with conversation history
- Empathetic conversations designed for mental health support
- Privacy-focused with secure data handling
- Browse qualified mentors with specialized expertise
- Book 1:1 sessions with integrated scheduling
- Video conferencing support through Google Meet for remote sessions
- Automated email confirmations and calendar integration
- Interactive drawing canvas for creative expression
- Mood tracking with visual charts and insights
- Gratitude prompts and reflection exercises
- Daily intentions and task management
- Private entries with local storage
- Mindscape Generator - AI-powered visual therapy
- Drawing and text tools for emotional expression
- Customizable prompts for guided reflection
- Community groups for shared experiences
- Topic-based discussions (anxiety, stress, sleep, etc.)
- Peer support network with moderated spaces
- Group chat functionality with real-time messaging
- Quick daily assessments with visual mood tracking
- Progress insights and trend analysis
- Personalized recommendations based on patterns
- Historical data for long-term wellness tracking
- Node.js 16+
- Firebase account
- Google Gemini API key
- Git
-
Clone the repository
git clone https://github.com/anish1206/Aspira.git cd Aspira -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory:# Firebase Configuration REACT_APP_FIREBASE_API_KEY=your_firebase_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com REACT_APP_FIREBASE_PROJECT_ID=your_project_id REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id REACT_APP_FIREBASE_APP_ID=your_app_id REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_id # Google Gemini API GEMINI_API_KEY=your_gemini_api_key
-
Set up Firebase
- Create a new Firebase project
- Enable Authentication (Email/Password and Google)
- Enable Firestore Database
- Configure hosting (optional)
-
Start development server
npm start
Open http://localhost:3000 in your browser.
src/
โโโ components/ # Reusable UI components
โ โโโ Header.js # Navigation header
โ โโโ MainContent.js # Landing page content
โโโ pages/ # Main application pages
โ โโโ Landing.js # Landing page with hero section
โ โโโ Dashboard.js # User dashboard
โ โโโ Chat.js # AI chat interface
โ โโโ Diary.js # Digital journal with drawing
โ โโโ Groups.js # Support groups
โ โโโ MentorList.js # Mentor directory
โ โโโ MentorBooking.js # Session booking
โ โโโ Settings.js # User preferences
โ โโโ Checkins.js # Mood tracking
โโโ api/ # Serverless functions
โ โโโ askGemini.js # AI chat backend
โ โโโ generateMindscape.js # Visual therapy AI
โ โโโ bookSession.js # Mentor booking logic
โโโ auth.js # Authentication context
โโโ firebase.js # Firebase configuration
โโโ App.js # Main application component
- React 19.1.1 - Modern UI library with hooks
- React Router 6.30.1 - Client-side routing
- Tailwind CSS - Utility-first styling
- Custom CSS - Glass morphism and animations
- Firebase Auth - User authentication
- Firestore - NoSQL database
- Google Gemini AI - Conversational AI
- Vercel Functions - Serverless API endpoints
- Email: Resend API
- Calendar: Google Calendar API
- Video: Google Meet integration
- React Scripts 5.0 - Build tooling
- ESLint - Code quality
- Primary: Yellow/Orange gradients (#816bff to #37b6ff)
- Background: Radial gradients with glass morphism
- Text: High contrast dark/light themes
- Accents: Subtle borders and shadows
- Headings: Light to bold weight contrast
- Body: Clean, readable sans-serif
- Interactive: Medium weight with hover states
- Glass morphism cards with backdrop blur
- Gradient borders and subtle animations
- Floating navigation with pill-shaped design
- Responsive grid layouts
POST - AI Chat Conversation
{
"history": [{"role": "user", "parts": [{"text": "previous message"}]}],
"message": "current user message"
}POST - Creative Therapy Visualization
{
"userInput": "I feel anxious about exams"
}POST - Mentor Session Booking
{
"mentorId": "mentor_id",
"date": "2025-01-15",
"time": "14:00",
"userEmail": "[email protected]"
}- Environment variables for sensitive API keys
- Firebase security rules for data protection
- CORS configuration for API endpoints
- User authentication required for all features
- Local storage for sensitive journal data
vercel --prodEnsure all environment variables are configured in your deployment platform.
We welcome contributions from the community! Here's how to get started:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes and commit
git commit -m 'Add amazing feature' - Push to your branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Write clear commit messages
- Add tests for new features
- Update documentation as needed
- Ensure responsive design compatibility
- Mobile app (React Native)
- Crisis intervention features
- Multi-language support
- Offline functionality
- Advanced analytics dashboard
- Integration with wearables
- Family/caregiver features
- Canvas drawing may have performance issues on older devices
- Large journal entries may impact load times
- AI responses occasionally need retry
- Google Gemini AI for conversational intelligence
- Firebase for backend infrastructure
- Tailwind CSS for styling framework
- React community for excellent tooling
- Mental health professionals for guidance and validation
Made with โค๏ธ for mental wellness
- Daily Intentions: Set and track wellness-focused goals
- Task Management: Organize self-care and daily activities
- Gratitude Journaling: Practice mindfulness with guided prompts
- Drawing Canvas: Express emotions through digital art
- Journal Entries: Free-form writing for self-reflection
- Groups for peer support
- Check-ins and wellness monitoring
- User dashboard with progress tracking
- Production: https://mindsync-web.vercel.app/
Runs the app in development mode.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
Note: this is a one-way operation. Once you eject, you can't go back!
Made with โค๏ธ for mental wellness in India ๐ฎ๐ณ