Skip to content

Inxmail/todo-app-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TODO App

Table of Contents

  1. Prerequisites
  2. Startup
  3. Used Technologies
  4. Backend Endpoints

Prerequisites

Requirements for execution and development:

  • Java 21 (Backend)
  • Node 20 (Frontend)

Startup

Backend

The Spring Boot backend can be started using Gradle (using default port 8080):

cd backend
./gradlew bootRun

Executing the unit tests:

cd backend
./gradlew check

Frontend

The React frontend is started with NPM:

cd frontend
npm install
npm run dev

Used Technologies

Backend

Frontend

  • React
  • Typescript
  • Mantine (UI components)
  • Axios (backend communication)
  • Sass (styling)

Backend Endpoints

The backend provides two simple REST endpoints:

Purpose URL Http Method Output
Get all todo lists todo-service/lists GET List of todo-lists and todos, e.g.:
[
{
"id": 1,
"name": "List 1",
"completed": false,
"todos": [
{
"id": 1,
"title": "Todo 1.1",
"completed": false
},
{
"id": 2,
"title": "Todo 1.2",
"completed": false
}
]
},
{
"id": 2,
"name": "List 2",
"completed": true,
"todos": [
{
"id": 3,
"title": "Todo 2.1",
"completed": true
},
{
"id": 4,
"title": "Todo 2.2",
"completed": true
}
]
},
]
Toggle completed-state of todo todo-service/todos/${id}/toggle POST Edited todo, e.g.:
{
"id": 1,
"title": "Todo 1.1",
"completed": true
}