Este projeto é a Plataforma de Reskilling "Leme". Ele oferece funcionalidades completas de CRUD (Create, Read, Update, Delete) e exportação para json para gerenciar seus recursos através de dois componentes principais: uma API RESTful e uma Interface de Linha de Comando (CLI) interativa.
O projeto está organizado da seguinte forma:
/
|-- api.py # Ponto de entrada da API Flask, define todos os endpoints.
|-- main.py # Interface de Linha de Comando (CLI) com menus para CRUD.
|-- test_api.py # Suíte de testes de integração para validar os endpoints da API.
|-- requirements.txt # Lista de dependências do Python.
|-- README.md # Este arquivo.
|
|-- usuarios.py # Lógica de CRUD para a tabela de usuários.
|-- trilhas.py # Lógica de CRUD para a tabela de trilhas.
|-- modulos.py # Lógica de CRUD para a tabela de módulos.
|-- progressos.py # Lógica de CRUD para a tabela de progressos.
|-- sugestoes.py # Lógica de CRUD para a tabela de sugestões.
|-- previsoes.py # Lógica de CRUD para a tabela de previsões.
|
`-- utilitarios.py # Funções utilitárias.
- Python 3: Linguagem de programação principal.
- Flask: Microframework web para a criação da API.
- Requests: Biblioteca para realizar as chamadas HTTP nos testes.
- python-dotenv: Para gerenciamento de variáveis de ambiente em desenvolvimento.
-
Clone o repositório:
git clone <URL_DO_SEU_REPOSITORIO> cd Leme-Python
-
Crie e ative um ambiente virtual (recomendado):
python -m venv venv # Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
Para executar o projeto localmente, o sistema precisa das credenciais de acesso ao banco de dados Oracle.
-
Crie um arquivo
.envna raiz do projeto. Este arquivo não é versionado para proteger suas credenciais. -
Adicione as seguintes variáveis ao arquivo
.env, substituindo os valores de exemplo pelas suas credenciais reais:ORACLE_USER=seu_usuario ORACLE_PASSWORD=sua_senha ORACLE_DSN=seu_dsn_oracle
O sistema está configurado para ler essas variáveis automaticamente durante a execução.
O projeto pode ser executado de duas formas:
Para iniciar o servidor da API, que oferece endpoints para operações de CRUD em todos os recursos, execute:
python api.pyO servidor estará em execução no endereço http://127.0.0.1:8080.
Para usar a aplicação via terminal, que oferece um menu para realizar operações de CRUD (Criar, Ler, Atualizar, Deletar) em todos os recursos, execute:
python main.pyPara garantir que todos os endpoints da API estão funcionando corretamente, execute a suíte de testes:
python test_api.pyVocê deverá ver uma saída indicando que todos os testes passaram (OK).
| Nome | RM |
|---|---|
| Felipe Ferrete Lemes | RM562999 |
| Gustavo Bosak Santos | RM566315 |
| Nikolas Henrique de Souza Lemes Brisola | RM564371 |