A Shopping / To-Do / Tasks List with a RESTful API, Spring +Angular, Layered Architecture
- Java 8 as OOP language
- Spring Boot 2 to run Spring Web Application
- Hibernate 5 ORM for data mapping
- MySQL database
- Maven
- IntelliJ IDEA
- REST API
- Postman
- Angular
- HTML
- CSS
- TypeScript
- JUnit
- Mockito
Project uses an in-memory database MySQL
login: root
password: root
Application works on localhost:8080
Project is: in progress
Layer | Source |
---|---|
JavaBean domains | domain folder |
Repositories | repository folder |
Services | service folder |
REST API Controllers | controller folder |
URL: http://localhost:8080/boards
HTTP-method: POST
Data:
- Unique Board title
RequestBody:
{
"title": "Task List"
}
URL: http://localhost:8080/boards/3
HTTP-method: GET
URL: http://localhost:8080/boards/search/li
HTTP-method: GET
URL: http://localhost:8080/boards/
HTTP-method: GET
URL: http://localhost:8080/boards/3
HTTP-method: PUT
Data:
- Unique board title
RequestBody:
{
"title": "Update Task List"
}
URL: http://localhost:8080/boards/3
HTTP-method: DELETE
URL: http://localhost:8080/categories
HTTP-method: POST
Data:
- Unique category title
- Category color (optional)
RequestBody:
{
"title": "New Category",
"color": "#222222"
}
URL: http://localhost:8080/categories/2
HTTP-method: GET
URL: http://localhost:8080/categories/search/at
HTTP-method: GET
URL: http://localhost:8080/categories/
HTTP-method: GET
URL: http://localhost:8080/categories/3
HTTP-method: PUT
Data:
- Unique category title
- Category color (optional)
RequestBody:
{
"title": "Update Category3",
"color": "#333333"
}
URL: http://localhost:8080/categories/6
HTTP-method: DELETE
URL: http://localhost:8080/tasks
HTTP-method: POST
Data:
- Unique task title
- Task description (optional)
- Task amount (optional)
- board_id
- category_id
RequestBody:
{
"title": "New Task2",
"description": "Task description",
"category": {
"id": "5"
},
"board": {
"id": "4"
}
}
URL: http://localhost:8080/tasks/5
HTTP-method: GET
URL: http://localhost:8080/tasks/search/as
HTTP-method: GET
URL: http://localhost:8080/tasks/
HTTP-method: GET
URL: http://localhost:8080/tasks/5
HTTP-method: PUT
Data:
- Unique task title
- Task description (optional)
- Task amount (optional)
- completed (optional)
- board_id
- category_id
RequestBody:
{
"title": "New Task2",
"description": "Task description",
"completed": "true",
"category": {
"id": "5"
},
"board": {
"id": "1"
}
}
URL: http://localhost:8080/tasks/6
HTTP-method: DELETE