https://github.com/kauanrodrigues01/projeto-teacherhunt
TeacherHunt é uma API desenvolvida com Django REST Framework para uma plataforma que conecta alunos a professores particulares. A API gerencia o cadastro de usuários, busca de professores por matéria, avaliações e aulas particulares.
https://github.com/kauanrodrigues01/projeto-teacherhunt
django django-rest-framework docker docker-compose rest-api swagger
Last synced: 2 months ago
JSON representation
TeacherHunt é uma API desenvolvida com Django REST Framework para uma plataforma que conecta alunos a professores particulares. A API gerencia o cadastro de usuários, busca de professores por matéria, avaliações e aulas particulares.
- Host: GitHub
- URL: https://github.com/kauanrodrigues01/projeto-teacherhunt
- Owner: Kauanrodrigues01
- License: mit
- Created: 2024-09-07T22:50:57.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-09T15:18:24.000Z (5 months ago)
- Last Synced: 2025-01-26T17:42:14.065Z (4 months ago)
- Topics: django, django-rest-framework, docker, docker-compose, rest-api, swagger
- Language: Python
- Homepage:
- Size: 7.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Passa a Passo para utilizar a API
### Documentação e descrição completa da API:
- [Link para acessar a documentação](https://github.com/Kauanrodrigues01/documentacao-teacherhunt)
### Requisitos:
- VS Code
- Python
- Docker e Docker Compose**links para instalação:**
- [Python](https://www.python.org/ftp/python/3.12.6/python-3.12.6-amd64.exe)
- [Docker](https://www.docker.com/products/docker-desktop)### **Executar a API usando docker e docker-compose:**
- [Link para acessar o passo a passo](#docker)## Primeiros passos para usar a API
- Certifique-se de que o Docker está instalado e em execução no seu sistema.
- Execute o seguinte comando no terminal para criar e iniciar um container com o banco de dados MySQL:
```
docker run --name teacherhunt-db -e MYSQL_ROOT_PASSWORD=rootpassword -e MYSQL_DATABASE=teacherhunt -p 3306:3306 -d mysql:5.7
```
- **MYSQL_ROOT_PASSWORD:** Substitua "rootpassword" pela senha desejada para o usuário root.
- **MYSQL_DATABASE:** Garante que o banco de dados "teacherhunt" seja criado automaticamente.- Depois de criar o container, vá ao GitHub e baixe ou faça um clone do repositório da API.
- Com o projeto no seu PC, abra-o no VS Code, abra o terminal e digite **"python -m venv venv"**, depois **"venv/scripts/activate"**, e em seguida instale as dependências com o comando **"pip install -r requirements.txt"**:
```
python -m venv venvvenv/scripts/activate
pip install -r requirements.txt
```- Após todas as dependências instaladas, crie o arquivo **".env"** dentro do diretório principal (cuidado para não criar o arquivo dentro de outra pasta que não seja o diretório principal) e insira o seguinte conteúdo:
```
SECRET_KEY=-px9!&aurijpz9e*f_c8)jov!v=++5hx6r%vslywp2^l+8*@gr
DEBUG=True
ALLOWED_HOSTS=*
DATABASE_URL=mysql://root:[email protected]:3306/teacherhunt
# mysql://username:password@host:port/database
ACCESS_TOKEN_LIFETIME_SECONDS = 3600
REFRESH_TOKEN_LIFETIME_SECONDS = 7200
```**Nota:** Certifique-se de usar a mesma senha configurada no comando `docker run` para o campo `rootpassword`.
- Depois disso, volte ao terminal e execute os seguintes comandos para aplicar as migrações e iniciar o servidor:
```
python manage.py migrate# Iniciar o servidor
python manage.py runserver
```## Popular banco de dados (Opcional)
- Executando o arquivo populate, o banco de dados será preenchido com vários dados aleatórios. Isso pode ajudar no desenvolvimento do front-end e mobile, pois haverá dados disponíveis para visualização na aplicação:
```
python populate.py
```# Executando a API com Docker
- Execute no terminal:
```
docker-compose up --build
```- Certifique-se de que os containers estejam rodando:
```
docker start teacherhunt-dbdocker start teacherhunt-app
```## **Aviso importante:**
- Sempre que fechar e abrir o VS Code, ative a venv (ambiente virtual) antes de utilizar o "python manage.py runserver". Verifique se a venv está ativa antes de iniciar o servidor.
- Quando a venv está ativa, o nome (venv) aparece no início da linha principal do terminal.