MindMate is a mental health chat application built using Java Spring Boot for the backend and Next.js for the frontend. It facilitates secure real-time communication between clients and therapists, enabling session booking, profile management, and journal functionalities.
- User Authentication (JWT).
- Real-time chat using WebSockets.
- Session booking and management.
- Client and therapist profiles.
- Journal entries for mental health tracking.
- Stripe payment integration.
For a detailed overview of the project, including planning, features, and contributions, visit the MindMate Project Summary on Notion
- Backend: Java Spring Boot.
- Frontend: Next.js (React), TailwindCSS.
- Database: MySQL.
- Authentication: JWT.
- Payment: Stripe API integration.
- Java (version 11 or higher)
- Node.js (version 16 or higher) and npm/yarn.
- MySQL database installed locally or on a server.
.
├── backend
│ ├── src/main/java/edu/neu/csye6200
│ ├── src/main/resources
│ └── pom.xml
└── frontend
├── public
├── src
└── package.json
-
Navigate to the
backend
folder:cd backend
-
Set up the database:
- Create a MySQL database called
mindmate
(or update the name inapplication.properties
). - Update
src/main/resources/application.properties
:spring.datasource.url=jdbc:mysql://localhost:3306/mindmate spring.datasource.username=<your_mysql_username> spring.datasource.password=<your_mysql_password> spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
- Create a MySQL database called
-
Build and Run:
- Build the backend:
mvn clean install
- Start the backend server:
mvn spring-boot:run
- The backend should now be running at
http://localhost:8080
.
- Build the backend:
-
API Documentation:
- Visit
http://localhost:8080/swagger-ui.html
(if Swagger is enabled) for detailed API documentation.
- Visit
-
Navigate to the
frontend
folder:cd frontend
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env.local
file in thefrontend
directory:NEXT_PUBLIC_BACKEND_URL=http://localhost:8080 NEXT_PUBLIC_STRIPE_PUBLIC_KEY=<your_stripe_public_key>
- Create a
-
Start the frontend:
npm run dev
- The frontend should now be running at
http://localhost:3000
.
- The frontend should now be running at
-
Run both the backend and frontend:
- Ensure the backend is running on
http://localhost:8080
. - Start the frontend on
http://localhost:3000
.
- Ensure the backend is running on
-
Access the app:
- Navigate to
http://localhost:3000
in your browser.
- Navigate to
-
Register and Login:
- Use the app to sign up as a client or therapist and explore functionalities like booking sessions, chatting, and managing profiles.
- Use Maven for dependency management:
mvn clean install
- Run tests:
mvn test
- Start the development server:
npm run dev
- Build for production:
npm run build
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Commit your changes and push to the branch:
git push origin feature/your-feature-name
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE
file for more details.
For any questions or issues, please reach out to the team:
- Sahana Jayadeva Prakash: [email protected]
- Rutuja Patil: [email protected]
- Bhagyashree Chavan: [email protected]
- Pushkar Patil: [email protected]
- Sonal Takalikar: [email protected]
Enjoy building with MindMate! 😊