Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edsonwade/spring-rest-api-project-2023
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.
https://github.com/edsonwade/spring-rest-api-project-2023
docker-compose flyway-migrations github-actions grafana hateoas integration-testing java jpa-hibernate junit5 maven mysql openapi pipelines prometheus rest-api spring-boot spring-security-jwt swagger testcontainers
Last synced: 4 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/edsonwade/spring-rest-api-project-2023
- Owner: edsonwade
- License: mit
- Created: 2022-07-09T14:08:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-20T12:28:04.000Z (about 1 year ago)
- Last Synced: 2023-09-21T01:44:08.433Z (about 1 year ago)
- Topics: docker-compose, flyway-migrations, github-actions, grafana, hateoas, integration-testing, java, jpa-hibernate, junit5, maven, mysql, openapi, pipelines, prometheus, rest-api, spring-boot, spring-security-jwt, swagger, testcontainers
- Language: Java
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RestfulAPIs-With-Spring-Boot-2023
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.
## Description
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.
## Technologies
We leverage several cutting-edge technologies to build this project:
- ![Java](https://img.shields.io/badge/Java-ED8B00?style=for-the-badge&logo=java&logoColor=white) - The backbone of our application.
- ![Spring](https://img.shields.io/badge/Spring-6DB33F?style=for-the-badge&logo=spring&logoColor=white) - Empowering our application with Spring Boot.
- ![MySQL](https://img.shields.io/badge/MySQL-00000F?style=for-the-badge&logo=mysql&logoColor=white) - Our relational database choice.
- ![MongoDB](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=mongodb&logoColor=white) - Our NoSQL database choice.## Implementations
We've integrated various features and technologies into our project for a robust and modern application:
1. **Flyway Migration**: Seamlessly manage database migrations.
2. **Content Negotiation**: Support different data formats for APIs.
3. **Hateoas**: Implement Hypermedia as the engine of Application State.
4. **Swagger (OpenAPI)**: Generate interactive API documentation.
5. **CORS (Cross-Origin Resource Sharing)**: Handle cross-origin requests.
6. **Spring Security with JWT Authentication**: Secure your application with JWT-based authentication.
7. **Docker, Prometheus, Grafana**: Containerize, monitor, and visualize your application.
8. **Pipeline CI/CD on AWS with GitHub Actions**: Automate your deployment process.
9. **Rest Assured**: Perform API tests, integration tests, functional tests with Cucumber, and test with Testcontainers using JUnit 5.### Documentation and Resources
- [Swagger Documentation](http://localhost:8080/swagger-ui/index.html) - Interactive API documentation.
- [Documenting a Spring REST API following the OpenAPI specification](https://lankydan.dev/documenting-a-spring-rest-api-following-the-openapi-specification)
- [Integration Testing with Testcontainers](https://www.testcontainers.org/) - More information on testing with Docker.
- [Rest Assured](https://www.rest-assured.io) - Learn more about API testing.## Contributing
- [Vanilson Muhongo](https://www.github.com/edsonwade)## License
This project is licensed under the [MIT License](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!