This back end application is a challenge about the creation of a task manager in Java.
With the Heroku deployment you can visit the Swagger documentation-ui through this url:
api-spring-challenge.herokuapp.com/swagger-ui.html (the loading time until the page loads may take long if the application has not been deployed recently)
- Swagger-ui interfaced
- Api rest Crud
- Code with unit testing
- Docker Containerization
- Heroku deployment configuration
- Java 8
- Maven 3.8.3
- Spring Boot v2.5.6
- Swagge2 3.0.0
- Jackson 2.13.0
- Junit
- Docker preconfigured file
- Heroku preconfigured file
Clone the source code
git clone https://github.com/Sevalas/spring-challenge.git
cd spring-challenge/springAppResolve/install maven dependencies and run spring-boot start command
mvn install or mvn package
mvn spring-boot:runWith Docker installed in the system, build the image with Dockerfile instructions and then run it
docker build -t spring-app/desafio-mantenedor .
docker run -p 8080:8080 spring-app/desafio-mantenedorThe deployment default host is http://localhost:8080/. While the application is running, we can use five different endpoints:
- [POST]{{host}}/task-manager/add-task
- [GET]{{host}}/task-manager/get-task-list
- [GET]{{host}}/task-manager/get-task/{task-id}
- [PUT]{{host}}/task-manager/update-task/{task-id}
- [DELETE]{{host}}/task-manage/delete-task/{task-id}
✨With Swagger we can use the documentation-ui through this url✨ {{host}}/swagger-ui.html
The Interface of a task in this application is:
- String id
- String reporterName
- String assigneeName
- String creationDate
- String updateDate
- String title
- String description
- String status
Example of json body request to add or update a task:
{
"reporterName": "Sevalas",
"assigneeName": "GitUser",
"creationDate": "Fri Nov 05 11:57:10 CLST 2021",
"updateDate": "Fri Nov 05 11:57:10 CLST 2021",
"title": "Clone and Use the task manager Application",
"description": "Follow the README instructions, deploy and test the application",
"status": "Open"
}This application has only runtime persistence, no db connections, however, a constant tasks list are initialize with the application for the testings reason.
Sebastian Valencia Lasprilla, Application developer