Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasfrancaid/todo-api
A back-end Todo API created to productive front-end developers
https://github.com/lucasfrancaid/todo-api
api django-rest-framework postgresql swagger todo
Last synced: 5 days ago
JSON representation
A back-end Todo API created to productive front-end developers
- Host: GitHub
- URL: https://github.com/lucasfrancaid/todo-api
- Owner: lucasfrancaid
- Created: 2021-03-15T09:24:23.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-24T00:33:27.000Z (almost 4 years ago)
- Last Synced: 2024-12-15T16:39:40.682Z (about 2 months ago)
- Topics: api, django-rest-framework, postgresql, swagger, todo
- Language: Python
- Homepage: https://drf-todoapi.herokuapp.com/api/docs/
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![LinkedIn][linkedin-shield]][linkedin-url]
Todo API
Construído para desenvolvedores front-end produtivos.
Documentação com Swagger (DEMO)
💻 Tecnologias |
🕵️ Sobre o projeto |
🚀 Iniciando |
🆙 Como contribuir |
📬 Contate-me
## 💻 Tecnologias
* [Django](https://www.djangoproject.com/)
* [Django Rest Framework](https://www.django-rest-framework.org/)
* [JWT Authentication](https://django-rest-framework-simplejwt.readthedocs.io/en/latest/)
* [Swagger](https://drf-yasg.readthedocs.io/en/stable/)
* [PostgreSQL](https://www.postgresql.org/)
## 🕵️ Sobre o projeto
Todo API, é um projeto criado com Django Rest Framework na intenção de aumentar a produtividade de desenvolvedores front-end. Dado que um desenvolvedor quer treinar suas habilidades ou experimentar uma nova tecnologia (no front-end), pode reaproveitar essa API focando apenas no necessário.O que você pode construir utilizando essa API:
- Criação de usuários (Users Endpoint)
- Autenticação de usuários via JWT (Auth Endpoint)
- Ler, criar, atualizar e deletar tarefas (Task Endpoint)
## 🚀 Iniciando o projeto
Para iniciar vamos utilizar o Docker, então garanta que você tem instalado em sua máquina o Docker e o Docker Compose. Tudo certinho? Então execute na pasta raíz do projeto:
```bash
cp .env.sample .env
sudo docker-compose up
```API disponível nas seguintes URL:
- Documentação com Swagger: http://localhost:8000/api/docs/
- Documentação com Redoc: http://localhost:8000/api/redoc/
- Auth Endpoint [POST]: http://localhost:8000/api/auth/token/
- Users Endpoint [POST]: http://localhost:8000/api/users/
- Tasks Endpoint [GET, POST, PUT, DELETE]: http://localhost:8000/api/tasks/
- Painel de Admin: http://localhost:8000/admin/
```
[ADMIN LOGIN]
user: admin
pass: 123
```Caso prefira, utilize as rotas pré-definidas com o Postman:
[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/ab48013b4c23ceb3666c)
## Observações
- O CORS já está configurado para aceitar as requisições do front-end
- Crie um usuário na rota Users, e o utilize na rota de autenticação
- Para criar tasks, é necessário que o usuário esteja autenticado, para isso é só enviar no Header de cada requisição:
```js
'Authorization': 'Bearer (token)'
```
- Todos os dados serão persistidos na base de dados (PostgreSQL)
- Você pode gerenciar os dados do banco utilizando a interface de admin
- A API possui Rate Limit por IP, sendo o número de requisições para anônimos 100/dia e autenticados 5000/dia
## 🆙 Como contribuir
- Faça um fork desse repositório
- Crie uma branch com sua feature, para isso execute ```git checkout -b nome-feature```
- Desenvolva sua implementação, adicione seus commits e execute ```git push origin nome-feature```
- Abra um Pull Request explanando sua implementação
## 📬 Contato
Lucas França
https://lucasfrancaid.com.br/
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/lucasfrancaid