https://github.com/matheusvidal21/fastapi-users-tasks
Projeto FastAPI para aprender conceitos fundamentais: autenticação, consultas, operações CRUD e integração com banco de dados (MongoDB). Ideal para quem deseja explorar APIs modernas e assíncronas em Python.
https://github.com/matheusvidal21/fastapi-users-tasks
api fastapi jwt python
Last synced: about 1 month ago
JSON representation
Projeto FastAPI para aprender conceitos fundamentais: autenticação, consultas, operações CRUD e integração com banco de dados (MongoDB). Ideal para quem deseja explorar APIs modernas e assíncronas em Python.
- Host: GitHub
- URL: https://github.com/matheusvidal21/fastapi-users-tasks
- Owner: matheusvidal21
- Created: 2025-01-29T16:44:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-05T20:39:38.000Z (over 1 year ago)
- Last Synced: 2025-02-05T21:36:49.663Z (over 1 year ago)
- Topics: api, fastapi, jwt, python
- Language: Python
- Homepage:
- Size: 19.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projeto FastAPI - Aprendendo Conceitos Fundamentais
Este repositório contém um projeto desenvolvido com o objetivo de aprender e aplicar conceitos fundamentais do FastAPI, um framework moderno e rápido (high-performance) para construção de APIs com Python. O projeto inclui integração com MongoDB para persistência de dados, autenticação JWT (JSON Web Tokens), e operações CRUD (Create, Read, Update, Delete) para gerenciamento de usuários e tarefas.
## Tecnologias Utilizadas
- FastAPI: Framework para construção da API.
- MongoDB: Banco de dados NoSQL para armazenamento de dados.
- Motor: Driver assíncrono para MongoDB.
- Beanie: ODM (Object Document Mapper) para MongoDB, baseado em Pydantic.
- JWT: Autenticação baseada em tokens.
- Docker: Containerização do MongoDB e Mongo Express.
## Endpoints da API
### Auth
- ```POST /auth/login```: Realiza o login e retorna tokens de acesso e refresh.
- ```POST /auth/test-token```: Testa o token de acesso e retorna os detalhes do usuário autenticado.
## Users
- ```POST /users/register```: Registra um novo usuário.
## Tasks
- ```GET /tasks```: Lista todas as tarefas do usuário autenticado.
- ```GET /tasks/{task_id}```: Obtém uma tarefa específica pelo ID.
- ```POST /tasks```: Cria uma nova tarefa.
- ```PUT /tasks/{task_id}```: Atualiza uma tarefa existente.
- ```DELETE /tasks/{task_id}```: Remove uma tarefa.