The AVY Education Platform's backend development is committed to building a robust and scalable server-side framework. The focus is on creating efficient data handling, secure endpoints, and reliable integrations for supporting the platform's frontend. Utilizing a collection of mature technologies and libraries, the backend team ensures the system's integrity, security, and performance to provide a seamless backend service that powers the educational experience.
- Programming Language: Java (version 17)
- Primary Framework: Spring Boot (version 2.7.x)
- Security: Spring Security for user authentication and authorization.
- Databases: PostgreSQL, MongoDB.
- Monitoring: Spring Actuator for application health checks.
- API Documentation: Swagger for automated API documentation.
- Messaging & Asynchronicity: ActiveMQ for handling asynchronous events.
- Testing: JUnit and Mockito for unit testing.
- Logging: SLF4J with Logback for logging.
- Build & Deployment: Maven for project building, Docker for containerization.
- Java: JDK 17
- Maven: 3.8.xAvyProjectApplication.java
- Docker: 20.10.x (for containerization)
- PostgreSQL: 14.x
- MongoDB: 5.x
- ActiveMQ: 5.x
To set up the backend environment, follow these steps:
- Install Java JDK 17 and set up the JAVA_HOME environment variable.
- Install Maven for managing project dependencies and building the project.
- Ensure PostgreSQL and MongoDB are set up and running.
- Install ActiveMQ for messaging and event-driven architecture.
- Clone the repository into your local development environment.
- Navigate to the /avy-backend directory.
- Run the command
mvn clean installto build the project and install the dependencies. - To start the application, execute
java -jar target/avy-backend.jaror use the appropriate deployment script for your environment. - For containerization, ensure Docker is installed and running, then build the Docker image using the Dockerfile provided and run the container.
After installation, the backend services will be accessible via defined endpoints. For detailed API endpoints and usage, refer to the Swagger documentation hosted at /swagger-ui.html on the local server. Use Spring Actuator endpoints to monitor the health and metrics of the application.