Spring Rest Api Starter

screenshot of Spring Rest Api Starter

:coffee: A "simple" starter project custom RESTful API using Spring.

Overview

The Spring REST API Starter project is a robust and flexible template designed for developers looking to create a RESTful API with minimal effort. Utilizing Spring Boot, this starter project allows for easy integration with multiple databases and a mail server, making it an excellent choice for both beginners and seasoned developers. From the initial setup to deployment with Docker, this guide facilitates a streamlined development experience.

With essential features like automated database setup and API documentation through Swagger, the project offers everything needed to jumpstart backend API development. This repository not only focuses on functionality but also places an emphasis on proper testing and documentation, ensuring that your API is not just built, but built right.

Features

  • Easy Setup: Clone the repository, edit your application properties, and compile with mvn clean install to set up your project effortlessly.
  • Multiple Database Support: Compatible with MySQL, PostgreSQL, and H2, allowing flexibility depending on your project's requirements.
  • API Documentation: Automatically generates API documentation using Swagger, providing users with easy access to all available endpoints.
  • Docker Integration: Contains a Dockerfile and docker-compose template, enabling simple deployment of your application through containerization.
  • Unit and Integration Testing: Built-in support for unit tests and integration tests ensures your application functions correctly throughout the development process.
  • Mail Server Configuration: Easily connect your API to a mail server using comprehensive application properties, facilitating communication features.
  • Helper Tools: Comes with a helper script, tools.sh, for performing common operations, enhancing usability for developers.
  • Contribution Friendly: The project has detailed contribution guidelines, welcoming collaboration from the community.