Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxjdev/sysacademy-management_system-users_instructors_gymtraining-api_rest-java-spring-postgres-swagger

User, instructor and gym training management system using Java, Spring Boot, Postgres, Maven, Spring Web, Spring Data JPA, Spring DevTools, Swagger, Lombok and Validation
https://github.com/maxjdev/sysacademy-management_system-users_instructors_gymtraining-api_rest-java-spring-postgres-swagger

dbeaver devtools docker java lombok maven openapi-documentation postgresql postman spring spring-data-jpa spring-devtools spring-web swagger3

Last synced: about 1 month ago
JSON representation

User, instructor and gym training management system using Java, Spring Boot, Postgres, Maven, Spring Web, Spring Data JPA, Spring DevTools, Swagger, Lombok and Validation

Awesome Lists containing this project

README

        

sysAcademy: API REST Management system for users, instructors and gym training

### Techs Used

![Java](https://img.shields.io/badge/Java-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white)
![Spring](https://img.shields.io/badge/Spring-6DB33F?style=for-the-badge&logo=spring&logoColor=white)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white)
![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=for-the-badge&logo=Docker&logoColor=white)
![DBeaver](https://img.shields.io/badge/dbeaver-382923?style=for-the-badge&logo=dbeaver&logoColor=white)
![Postman](https://img.shields.io/badge/Postman-FF6C37?style=for-the-badge&logo=postman&logoColor=white)
![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white)
![Maven](https://img.shields.io/badge/Apache%20Maven-C71A36.svg?style=for-the-badge&logo=Apache-Maven&logoColor=white)

### Image

[![Swagger Print](https://i.postimg.cc/PxVWq1tm/screencapture-localhost-8080-swagger-ui-index-html-2024-02-22-12-00-08.png)](https://postimg.cc/qhnhbh6R)

## Description

sysAcademy is an academy management solution developed using Java and Spring Framework technologies. Using Spring Boot, Spring Web and Spring Data JPA, the project offers a RESTful API to facilitate the management of users, instructors and bodybuilding training.

The sysAcademy architecture follows good development practices, with well-structured controllers, services, repositories, entities and DTOs for CRUD operations. Furthermore, the project makes use of modern technologies such as Spring DevTools to facilitate development and increase the team's productivity.

Integration with a PostgreSQL database in a Docker container provides an efficient and scalable persistence layer, ensuring secure and reliable storage of the academy's data.

API documentation is provided interactively by Swagger, allowing a clear and detailed view of available endpoints, which facilitates the development, testing and integration of new features.

Additionally, the project makes use of Lombok to reduce code verbosity, simplifying class writing and making code cleaner and more readable. Data validations are guaranteed by integration with the Spring validation library, ensuring the consistency and integrity of the data manipulated by the application.

Finally, tools such as Postman are used to test and validate the API, ensuring its quality and reliability in different usage scenarios.

## How to Start the Project

- **Clone the repository:**
```bash
git clone https://github.com/your-username/repository-name.git
```
- **Open the project directory:**
```bash
cd repository-name
```
- **Install project dependencies:**
```bash
mvn install
```
- **Start:**
```bash
mvn spring-boot:run
```

## Contributing

We welcome and appreciate your contributions to this project! Whether you have suggestions, bug fixes, or new features you'd like to add, please feel free to fork this repository.

### How to Contribute

1. Fork the project.
2. Create a branch for your contribution: `git checkout -b my-contribution`.
3. Make your changes and commit: `git commit -m 'Add my contribution'`.
4. Push to your branch: `git push origin my-contribution`.
5. Open a pull request for review.

## Feedback and Issues

If you have contributions, suggestions, or feedback, feel free to open an issue.