Skip to content

arthurscarpin/escola-api

Repository files navigation

📚 API Escola

Essa API RESTful de uma escola foi desenvolvida para colocar em prática os conhecimentos adquiridos em Django Rest Framework.

🚀 Tecnologias utilizadas

🎒 API RESTful

  • Interface Django Rest Framework:

interface-django-api

  • Interface Django Admin:

interface-django-admin

🖥️ Documentação

Essa API foi documentada através do Swagger e Redoc.

  • Documentação Swagger:

api-escola-swagger

# Url:
<localhost>/swagger
  • Documentação Redoc:

api-escola-redoc

# Url:
<localhost>/redoc

🛠️ Como executar?

Para executar esse projeto é necessário seguir o passo a passo a seguir:

  1. Criar o ambiente virtual do Python.

Na pasta raíz do repositório local, execute o comando:

python -m venv <nome do ambiente virtual>
  1. Ativar o ambiente virutal
.\venv\Scripts\activate
  1. Instalar as dependências do requirements.txt.
pip install -r requirements.txt
  1. Executar as Migrations para preparar o banco de dados.
python manage.py migrate
  1. Executar os comandos a seguir para popular as tabelas do banco de dados utilizando dados Fake para testes.
# Popular tabela de cursos:
python popular_banco_cursos.py

# Popular tabela de estudantes:
python popular_banco_estudantes.py
  1. Executar o comando a seguir para ativar o servidor da aplicação Django:
python .\manage.py runserver

📝 Testes

  • Testes automatizados É possível realizar os teste automatizados desta API, sendo eles os testes unitários e os testes de integração que se encontram no diretório /tests

Para executar esses testes é necessário executar o comando a seguir:

python manage.py test
  • Testes manuais

Para realizar os testes manuais dessa API, você poderá utilizar o Postman ou o Thunder Client:

Os links abaixo contém um suporte de como utilizar as ferramentas mencionadas:

Tutorial Postman

Thunder Client

📁 Documentações de referência

Documentação Django
Documentação Django Rest Framework

About

API RESTful - Escola

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages