Welcome to the RestfulAPIs-With-Spring-Boot-2023 project! This repository serves as a comprehensive guide and implementation of Spring Boot from scratch in 2022.
This project combines the power of Spring Boot with modern technologies to build robust, secure, and highly performant RESTful APIs. Explore our implementations to learn about database management, authentication, Dockerization, CI/CD, testing, and more.
We leverage several cutting-edge technologies to build this project:
- - The backbone of our application.
- - Empowering our application with Spring Boot.
- - Our relational database choice.
- - Our NoSQL database choice.
We've integrated various features and technologies into our project for a robust and modern application:
- Flyway Migration: Seamlessly manage database migrations.
- Content Negotiation: Support different data formats for APIs.
- Hateoas: Implement Hypermedia as the engine of Application State.
- Swagger (OpenAPI): Generate interactive API documentation.
- CORS (Cross-Origin Resource Sharing): Handle cross-origin requests.
- Spring Security with JWT Authentication: Secure your application with JWT-based authentication.
- Docker, Prometheus, Grafana: Containerize, monitor, and visualize your application.
- Pipeline CI/CD on AWS with GitHub Actions: Automate your deployment process.
- Rest Assured: Perform API tests, integration tests, functional tests with Cucumber, and test with Testcontainers using JUnit 5.
- Swagger Documentation - Interactive API documentation.
- Documenting a Spring REST API following the OpenAPI specification
- Integration Testing with Testcontainers - More information on testing with Docker.
- Rest Assured - Learn more about API testing.
This project is licensed under the MIT License. You are free to use, modify, and distribute this software as per the terms of the license.
If you have any questions or need assistance, don't hesitate to reach out. Happy coding!