(INNERECHO) Mental Health App
A comprehensive mental health application designed to help users manage their mental wellbeing through various features including mood tracking, journaling, meditation exercises, breathing techniques, and AI-powered support.
- Overview
- Features
- Screenshots
- Tech Stack
- Project Structure
- Installation & Setup
- Usage
- API Documentation
- Contributing
- License
- Contact
The Mental Health App is designed to provide users with a comprehensive set of tools to support their mental wellbeing journey. The application combines modern UI/UX design principles with evidence-based mental health practices to deliver a seamless and effective user experience.
Our goal is to make mental health support accessible to everyone through technology, providing users with self-help tools that can be used anytime, anywhere.
- Create and manage personalized user profiles
- Track progress and achievements
- Customize app settings and preferences
- Daily mood check-ins and tracking
- Visualization of mood patterns over time
- Identification of triggers and patterns
- Private and secure digital journal
- Guided journal prompts for reflection
- Search and review past entries
- Express thoughts and emotions in a safe space
- Guided meditation sessions for various needs
- Timer and tracking for meditation practice
- Background ambient sounds
- Progress tracking for meditation habits
- Guided breathing techniques for stress relief
- Visual breathing guides with animations
- Different techniques for different needs (relaxation, focus, energy)
- Customizable session durations
- Positive daily affirmations
- Customizable affirmation categories
- Option to create personal affirmations
- Scheduled affirmation reminders
- 24/7 AI chatbot for immediate support
- Guided conversations for various mental health concerns
- Resource recommendations based on user needs
- Crisis support information and referrals
- Framework: Flutter for cross-platform mobile development
- Language: Dart
- State Management: Provider pattern
- UI Components: Material Design
- Navigation: Flutter Navigation 2.0
- Local Storage: SharedPreferences, SQLite
- HTTP Client: Dio
- Framework: Spring Boot
- Language: Java
- Database: MongoDB for flexible data storage
- API: RESTful API with JSON
- Authentication: JWT (JSON Web Tokens)
- Build Tool: Maven
- Deployment: Docker containerization
- Testing: JUnit, Mockito
The project is organized into two main components:
frontend/
├── assets/ # Images, fonts, and other static files
├── lib/
│ ├── main.dart # Application entry point
│ ├── screens/ # UI screens
│ ├── src/ # Core application code
│ │ ├── app.dart # App configuration
│ │ ├── localization/ # Internationalization
│ │ ├── settings/ # App settings
│ │ └── sample_feature/ # Feature components
└── test/ # Unit and widget tests
backend/
├── src/
│ ├── main/
│ │ ├── java/com/inecho/
│ │ │ ├── controller/ # REST API controllers
│ │ │ ├── model/ # Data models
│ │ │ ├── repository/ # Database access
│ │ │ └── service/ # Business logic
│ │ └── resources/ # Configuration files
│ └── test/ # Unit and integration tests
└── pom.xml # Maven configuration
- Flutter SDK (latest stable version)
- Java Development Kit (JDK) 17 or higher
- Maven
- MongoDB
- Git
-
Clone the repository:
git clone https://github.com/yourusername/Mental-Health-App.git cd Mental-Health-App -
Navigate to the frontend directory:
cd frontend -
Install dependencies:
flutter pub get -
Run the application:
flutter run
-
Navigate to the backend directory:
cd backend -
Configure MongoDB connection in
src/main/resources/application.properties -
Build the project:
./mvnw clean install -
Run the server:
./mvnw spring-boot:run
The backend includes a Dockerfile for containerized deployment:
-
Build the Docker image:
docker build -t mental-health-app-backend . -
Run the container:
docker run -p 8080:8080 mental-health-app-backend
- User Registration/Login: Create an account or log in to access personalized features
- Profile Setup: Complete your profile to get personalized recommendations
- Daily Check-in: Track your mood and journal daily for best results
- Explore Features: Try different meditation and breathing exercises
- Chat Support: Use the AI chatbot when you need immediate guidance
The backend API documentation is available at http://localhost:8080/swagger-ui.html when the server is running. This provides a complete reference of all available endpoints, request parameters, and response formats.
Key API endpoints include:
/api/users- User management/api/journal- Journal entries/api/mood- Mood tracking
We welcome contributions to the Mental Health App! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the existing style guidelines and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
Project Link: [(https://github.com/sv6095/InnerEcho)]
This application is designed for self-help and is not a replacement for professional mental health care. If you're experiencing a mental health crisis, please contact your local emergency services or a mental health professional.

