Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pamyszz/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/pamyszz/to-do-list
api api-rest h2-database java lombok-maven maven spring-boot to-do-list todo-list todolist
Last synced: 2 days 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/pamyszz/to-do-list
- Owner: pamyszz
- Created: 2024-07-29T01:24:27.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T12:54:50.000Z (5 months ago)
- Last Synced: 2024-11-11T07:45:07.148Z (2 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](https://img.shields.io/badge/Spring%20Boot-2.7.9-brightgreen)
![Spring Data JPA](https://img.shields.io/badge/Spring%20Data%20JPA-2.7.9-green)
![H2 Database](https://img.shields.io/badge/H2%20Database-1.4.200-blue)
![Lombok](https://img.shields.io/badge/Lombok-1.18.24-yellowgreen)
![Java](https://img.shields.io/badge/Java-17-red)- **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.