Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 TaskForce API

API RESTful simples para gerenciamento de tarefas (to-do list), construída com FastAPI e persistência de dados em arquivo JSON.


📌 Sobre o projeto

O TaskForce API é uma API desenvolvida para praticar os conceitos de FastAPI, oferecendo operações básicas de um CRUD de tarefas:

  • Criar tarefas
  • Listar tarefas
  • Marcar/desmarcar tarefas como concluídas
  • Deletar tarefas

Os dados são armazenados localmente em um arquivo task.json, sem a necessidade de configurar um banco de dados externo — ideal para estudo e testes rápidos.


🚀 Tecnologias utilizadas

  • Python 3
  • FastAPI — framework web para construção da API
  • Uvicorn — servidor ASGI
  • Pydantic — validação de dados
  • Armazenamento em JSON (sem banco de dados)

📂 Estrutura do projeto

TaskForce_api/
├── api/
│   └── apiTask.py        # Rotas/endpoints da API
├── classes/
│   └── Classes.py        # Modelo (schema) da tarefa (Pydantic)
├── util/
│   └── jsonFile.py        # Lógica de leitura/escrita no arquivo JSON
├── main.py                 # Ponto de entrada da aplicação
├── requeriments.txt        # Dependências do projeto
└── README.md

⚙️ Como executar o projeto

1. Clone o repositório

git clone https://github.com/GoomezCode/TaskForce_api.git
cd TaskForce_api

2. Crie e ative um ambiente virtual (opcional, mas recomendado)

python -m venv venv

# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate

3. Instale as dependências

pip install -r requeriments.txt

4. Execute a aplicação

python main.py

A API estará disponível em:

http://localhost:8000

A documentação interativa (Swagger UI) gerada automaticamente pelo FastAPI pode ser acessada em:

http://localhost:8000/docs

📖 Endpoints da API

Método Rota Descrição
GET /task/get Lista todas as tarefas cadastradas
POST /task/create/{task} Cria uma nova tarefa
PUT /task/put/marcar/{idTask} Marca/desmarca uma tarefa como concluída
DELETE /task/delete/{idTask} Remove uma tarefa pelo ID

Exemplo — Criar uma tarefa

POST /task/create/Estudar%20FastAPI

Exemplo — Listar tarefas

GET /task/get

Resposta:

[
    {
        "id": 1,
        "tarefa": "Estudar FastAPI",
        "feito": false,
        "data": "06/07/26",
        "hora": "14:32:10"
    }
]

Exemplo — Marcar tarefa como concluída

PUT /task/put/marcar/1

Exemplo — Deletar tarefa

DELETE /task/delete/1

💾 Persistência dos dados

As tarefas são salvas automaticamente no arquivo pathJson/task.json, criado na primeira execução da API. Não é necessário configurar nenhum banco de dados.


🛠️ Melhorias futuras

  • Migrar a persistência de dados para um banco de dados relacional (ex: SQLite/PostgreSQL)
  • Adicionar autenticação de usuários
  • Adicionar testes automatizados
  • Adicionar suporte a edição do texto da tarefa
  • Tratar melhor os erros de validação de entrada

👤 Autor

Desenvolvido por GoomezCode.

About

Api está completa e funcional...

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages