Skip to content

fiwon123/todolist-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sobre

Projeto de aprendizado com FastAPI, implementando uma lista de TODOs. Foi feito um CRUD simples com autenticação de usuário, JWT para geração de token, Docker para Postgres, SQLite para banco de testes e UV para gerenciamento de packages no python.

Descrição do projeto: https://roadmap.sh/projects/todo-list-api

Requisitos

  • Python
  • Docker
  • SQLite
  • UV ( gerenciador de packages )

Docker

Segue o comando utilizado para criação do banco de dados postgres:

docker run --name todo-pg -e POSTGRES_DB=todos -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=mysecretp
assword -p 5432:5432 -d postgres:15

Como utilizar

  • Clone o projeto com o comando git clone https://github.com/fiwon123/todolist-python.git ou baixe o projeto
  • Renomeie o arquivo .example.env para .env
  • Utilize o comando uv sync para resolver as dependências
  • Utilize o comando estando na pasta raiz para rodar a API uv run uvicorn todolist.main:app --reload
  • Acesse o http://127.0.0.1:8000/docs no navegador para testar os endpoints
  • Caso queira testar direto a API é necessário uma plataform de API para testes como Bruno, Postman ou rodar por linha de comando usando curl por exemplo

Testes

Os arquivos de testes estão localizados na pasta ./todolist/test/

Estando na pasta raiz utilize o comando uv run pytest, uv pytest --disable-warnings ou uv pytest -vv

É possível rodar sem o comando uv ativando o ambiente de desenvolvimento do python localizado na pasta .venv. Para ativar é necessário rodar o comando na pasta raiz:

  • source .venv/bin/activate (Linux)
  • pytest

E para desativar apenas rodar:

  • deactivate

About

Projeto de aprendizado com FastAPI, implementando uma lista de TODOs. Foi feito um CRUD simples com autenticação de usuário, JWT para geração de token, Docker para Postgres, SQLite para banco de testes e UV para gerenciamento de packges no python.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages