Uma API para gerenciamento de tarefas.
Uma API para funcionalidade de gerenciamento de tarefas, TODO List. Utilizando FastAPI para o desenvolvimento, organizando o projeto em escopos de funcionalidade routes
, services
, models
, etc, facilitando a manutenção do código.
Liste as principais funcionalidades do projeto. Exemplos:
- Criação, listagem, atualização e exclusão de tarefa.
- Geração e autenticação através de tokens
Instruções para instalar o projeto e suas dependências. Exemplo:
-
Clone o repositório:
git clone https://github.com/lucasgpalves/api-to-do-list.git
-
Navegue até o diretório do projeto:
cd api-to-do-list
-
Instale as dependências:
pip install -r requirements.txt
-
Acesse o seu sistema gerenciador de banco de dados e crie um SCHEMA ou DATABASE:
CREATE DATABASE nome_database;
-
Configure seu
.env
conforme o.env.example
:DB_NAME="database_name_here" DB_USER="user_here" DB_PASSWORD="password_here" DB_ADDRESS="127.0.0.1" DB_PORT="5432" SECRET_KEY="your_secret_key"
-
Realize as migrations do projeto:
alembic upgrade head
Instruções para usar o projeto. Exemplos:
-
Inicie o aplicativo:
fastapi dev main.py
-
Acesse a aplicação em
http://localhost:8000
. -
Acesse a documentação Swagger em
http://localhost:8000/docs
.
- GET
http://localhost:8000/tasks
- GET
http://localhost:8000/tasks/{id}
- GET
http://localhost:8000/tasks/state/{state}
- GET
http://localhost:8000/tasks/page/?skip=0&limit=10
- POST
http://localhost:8000/tasks/{id}
curl --request POST \
--url http://localhost:8000/tasks \
--header 'Authorization: Bearer <token_here>' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/10.3.0' \
--data '{
"title": "Teste",
"description": "Teste",
"state": "PENDENTE"
}'
- PUT
http://localhost:8000/tasks/{id}
curl --request PUT \
--url http://localhost:8000/tasks/<id> \
--header 'Authorization: Bearer <token_here>' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/10.3.0' \
--data '{
"title": "Teste",
"description": "Teste",
"state": "EM_ANDAMENTO"
}'
- DELETE
http://localhost:8000/tasks/{id}
- GET
http://localhost:8000/token