Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/eric-souzams/spring-blog-app

A blog application using Spring Boot, implementing REST FULL patter, Spring Security with Roles and Authorities, Unit tests covegare.
https://github.com/eric-souzams/spring-blog-app

h2-database java junit junit5 jwt lombok mysql spring spring-boot spring-data-jpa spring-hateoas spring-mvc spring-security

Last synced: 6 days ago
JSON representation

A blog application using Spring Boot, implementing REST FULL patter, Spring Security with Roles and Authorities, Unit tests covegare.

Awesome Lists containing this project

README

        


Spring Blog App


Routes   |   
Documentation   |   
Coverage   |   
Technologies   |   
Building   |   
Contributing   

## Routes
| Method | URL | Description |
|--------|---------------------------------------------------------------------|--------------------------------|
| POST | http://localhost:8080/api/v1/auth/login | Login |
| POST | http://localhost:8080/api/v1/users | Sign Up |
| GET | http://localhost:8080/api/v1/users/email-verification?token={token} | Verify E-mail Account |
| POST | http://localhost:8080/api/v1/users/reset-password-request | Password Reset Request |
| POST | http://localhost:8080/api/v1/users/reset-password?token={token} | Password Reset Update |
| GET | http://localhost:8080/api/v1/users/ | Get All Users |
| GET | http://localhost:8080/api/v1/users/{userID} | Get Specific User |
| GET | http://localhost:8080/api/v1/users/{userID}/addresses | Get All Addresses Belongs User |
| GET | http://localhost:8080/api/v1/users/{userID}/addresses/{addressID} | Get Specific Address From User |
| PUT | http://localhost:8080/api/v1/users/{userID} | Update User Data |
| DELETE | http://localhost:8080/api/v1/users/{userID} | Delete User |

## Documentation
| URL | Description |
|---------------------------------------------|----------------------|
| http://localhost:8080/swagger-ui/index.html | Visual Documentation |
| http://localhost:8080/v2/api-docs | Api Documentation |

## Coverage

## Technologies
This project was developed using the following technologies:
- [Spring Boot](https://spring.io/)
- [Spring Security](https://spring.io/)
- [Spring Data JPA](https://spring.io/projects/spring-data-jpa)
- [Spring Hateoas](https://spring.io/projects/spring-hateoas)
- [Lombok](https://projectlombok.org/)
- [JUnit 5](https://junit.org/junit5/)
- [Model Mapper](http://modelmapper.org/)
- [JWT](https://jwt.io/)
- [Amazon SES](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html)
- [MYSQL + H2]()

## Building
You'll need [Java 11+](https://www.oracle.com/br/java/technologies/javase-jdk11-downloads.html) and [Maven](https://maven.apache.org/download.cgi) installed on your computer in order to build this app.

```bash
$ git clone https://github.com/eric-souzams/spring-blog-app.git
$ cd spring-blog-app
$ mvn spring-boot:run
```

## Contributing
This repository is currently under development. If you want to contribute please fork the repository and get your hands dirty, and make the changes as you'd like and submit the Pull request.