This repository contains the backend services for the EYEDRA mental wellbeing social media application. It follows a microservices architecture with Spring Boot and various supporting technologies to ensure scalability, reliability, and performance.
- Microservices Architecture: Separate services for users, communities, posts, reactions, and notifications.
- Video Call Therapy Sessions: Real-time video calls with listeners (counselors).
- Community Chat Groups: Secure, listener-exclusive community creation and management.
- Layered Architecture: Ensures separation of concerns and scalability.
- JWT Authentication and Authorization: Role-based access control for
user,listener, andadmin. - Service Discovery and API Gateway: Uses Eureka Server and Spring Cloud Gateway.
- Real-time Notifications: Keep users updated on important events.
- Backend Framework: Spring Boot
- Architecture: Microservices
- Service Discovery: Eureka Server
- API Gateway: Spring Cloud Gateway
- Authentication: JWT Token-based
- Database: MySQL, MongoDB
- Communication Protocols: REST, WebSockets, Socket.io
- Load Balancing and Service Registry: Eureka
- Logging and Monitoring: Spring Boot Actuator
- Java 17 or higher
- Maven
- Docker (for containerization)
- MySQL
- MongoDB