# Aplicativo de Lista de Tarefas
## Visão Geral
Este é um aplicativo de Lista de Tarefas construído com Java e Spring Boot.
Ele permite que os usuários criem, leiam, atualizem e excluam tarefas.
O aplicativo usa uma API RESTful para gerenciar contas de usuários e tarefas.
## Funcionalidades
- Registro e autenticação de usuários
- Gerenciamento de tarefas (operações CRUD)
- Hashing de senhas com BCrypt
- Dockerizado para fácil implantação
## Tecnologias Utilizadas
- Java
- Spring Boot
- Maven
- Docker
- BCrypt para hashing de senhas
## Pré-requisitos
- Java 17
- Maven
- Docker
## Começando
### Clonar o Repositório
```sh
git clone https://github.com/linconvinicius/todolist.git
cd todolist
mvn clean install
mvn spring-boot:run
- Construir a imagem Docker:
docker build -t todolist-app .
- Executar o container Docker:
docker run -p 8080:8080 todolist-app
POST /users/
- Criar um novo usuário- Corpo da Requisição:
{ "username": "string", "password": "string" }
- Resposta:
201 Created
se o usuário for criado com sucesso400 Bad Request
se o usuário já existir
- Corpo da Requisição:
GET /tasks/
- Obter todas as tarefasPOST /tasks/
- Criar uma nova tarefaPUT /tasks/{id}
- Atualizar uma tarefaDELETE /tasks/{id}
- Excluir uma tarefa
todolist
├── src
│ ├── main
│ │ ├── java
│ │ │ └── br
│ │ │ └── com
│ │ │ └── todolist
│ │ │ ├── todolist
│ │ │ │ ├── user
│ │ │ │ │ ├── UserController.java
│ │ │ │ │ ├── UserModel.java
│ │ │ │ │ └── UserRepository.java
│ │ │ │ └── task
│ │ │ │ ├── TaskController.java
│ │ │ │ ├── TaskModel.java
│ │ │ │ └── TaskRepository.java
│ │ └── resources
│ │ └── application.properties
├── Dockerfile
└── pom.xml
O aplicativo pode ser configurado usando o arquivo application.properties
localizado no diretório src/main/resources
.
O projeto utiliza as seguintes dependências:
- Spring Boot
- Spring Data JPA
- H2 Database
- BCrypt
- Maven