https://github.com/pamyydev/to-do-list
📝 To-Do List API é uma API RESTful para gerenciamento de tarefas, oferecendo funcionalidades completas de CRUD com autenticação segura.
https://github.com/pamyydev/to-do-list
api api-rest h2-database java lombok-maven maven spring-boot to-do-list todo-list todolist
Last synced: 3 months ago
JSON representation
📝 To-Do List API é uma API RESTful para gerenciamento de tarefas, oferecendo funcionalidades completas de CRUD com autenticação segura.
- Host: GitHub
- URL: https://github.com/pamyydev/to-do-list
- Owner: pamyydev
- Created: 2024-07-29T01:24:27.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T12:54:50.000Z (11 months ago)
- Last Synced: 2025-03-06T01:35:16.622Z (3 months ago)
- Topics: api, api-rest, h2-database, java, lombok-maven, maven, spring-boot, to-do-list, todo-list, todolist
- Language: Java
- Homepage: https://to-do-list-ds79.onrender.com/
- Size: 43 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🗂️ **To-Do List - API**
Esta API RESTful foi desenvolvida para facilitar o gerenciamento de tarefas, proporcionando uma maneira eficiente e organizada de acompanhar suas atividades diárias.## 🚀 **Funcionalidades**
- **CRUD de Tarefas**: Criação, leitura, atualização e exclusão de tarefas.
- **Autenticação de Usuário**: Cadastro e login para gerenciar suas tarefas de forma segura.
- **Endpoints de Gerenciamento**: Fácil adição e visualização de tarefas.## 📦 **Dependências**




- **Spring Boot**: Framework para desenvolvimento de aplicações Java.
- **Spring Data JPA**: Facilitador para acesso a dados e persistência.
- **H2 Database**: Banco de dados em memória para testes rápidos.
- **Spring Security**: Implementa autenticação e autorização.
- **Lombok**: Reduz a quantidade de código boilerplate.## 📜 **Documentação dos Endpoints**
### 🗒️ **Tarefas**
- **Criar Tarefa**
- **Método**: `POST`
- **URL**: `https://to-do-list-ds79.onrender.com/tasks/`
- **Descrição**: Cria uma nova tarefa.
- **Autenticação**: Requer autenticação.
- **Corpo da Requisição**:```json
{
"description": "Tarefa para organizar a casa",
"title": "Organizar a casa",
"priority": "ALTA",
"startAt": "2024-07-28T23:30:00",
"endAt": "2025-07-29T23:35:00"
}
```- **Listar Tarefas**
- **Método**: `GET`
- **URL**: `https://to-do-list-ds79.onrender.com/tasks/`
- **Descrição**: Obtém uma lista de todas as tarefas.
- **Autenticação**: Requer autenticação.- **Obter Tarefa por ID**
- **Método**: `GET`
- **URL**: `https://to-do-list-ds79.onrender.com/tasks/{id}`
- **Descrição**: Obtém os detalhes de uma tarefa específica pelo ID.
- **Exemplo de URL**: `https://to-do-list-ds79.onrender.com/tasks/c5771d27-c8fd-4e7b-ad1e-82f5f405794e`
- **Autenticação**: Requer autenticação.- **Atualizar Tarefa**
- **Método**: `PUT`
- **URL**: `https://to-do-list-ds79.onrender.com/tasks/{id}`
- **Descrição**: Atualiza uma tarefa existente pelo ID.
- **Autenticação**: Requer autenticação.
- **Corpo da Requisição**:```json
{
"description": "Nova descrição da tarefa",
"title": "Título atualizado",
"priority": "MÉDIA",
"startAt": "2024-08-01T10:00:00",
"endAt": "2025-08-01T10:05:00"
}
```- **Deletar Tarefa**
- **Método**: `DELETE`
- **URL**: `https://to-do-list-ds79.onrender.com/tasks/{id}`
- **Descrição**: Remove uma tarefa pelo ID.
- **Autenticação**: Requer autenticação.### 👤 **Usuários**
- **Criar Usuário**
- **Método**: `POST`
- **URL**: `https://to-do-list-ds79.onrender.com/users/`
- **Descrição**: Cria um novo usuário.
- **Corpo da Requisição**:```json
{
"name": "Pamela",
"username": "pamyszz",
"password": "12345"
}
```- **Login de Usuário**
- **Método**: `POST`
- **URL**: `https://to-do-list-ds79.onrender.com/users/login`
- **Descrição**: Autentica um usuário e gera um token JWT.
- **Corpo da Requisição**:```json
{
"username": "pamyszz",
"password": "12345"
}
```
- **Resposta**: Recebe um token JWT que deve ser incluído no cabeçalho `Authorization` para acessar os endpoints protegidos.## 🌐 **Acesso à API**
Você pode acessar a API hospedada no Render através do seguinte link: [To-Do List API](https://to-do-list-ds79.onrender.com/).## 🛠️ **Como Executar o Projeto**
1. **Clone o Repositório**:```bash
git clone https://github.com/pamyszz/to-do-list.git
```2. **Navegue até o Diretório do Projeto**:
```bash
cd to-do-list
```3. **Construa e Execute a Aplicação**:
```bash
./mvnw spring-boot:run
```4. **Acesse a API**:
A API estará disponível em `https://to-do-list-ds79.onrender.com` durante a execução.## 📄 **Notas Adicionais**
- **Maven**: Certifique-se de ter o Maven instalado e configurado corretamente.
- **Banco de Dados**: O projeto utiliza o H2 para testes. Para ambientes de produção, configure um banco de dados mais robusto.
- **Autenticação**: Utilize o token JWT recebido no login para autenticação nos endpoints protegidos.