Projeto de Esportes da Disciplina de Bases de Dados.
git clone https://github.com/Gabriel-Fachini/USPort
cd projeto-esportes-bd
pip install -r requirements.txt
- Existe um arquivo
.env.example
onde as variáveis já estão definidas. Apenas é necessário substituir pelos valores que irá utilizar.
A aplicação é configurada nos arquivos:
- Arquivo
.env
com variáveis de ambiente - Valores padrão em
config.py
- Python 3.x
- Pydantic # Validação de dados
- pydantic_settings # Gerenciamento de configurações
- pydantic[email] # Validação de email
- colorama # Output colorido
- InquirerPy # CLI Interativo
- psycopg2 # Para conexão com banco de dados
- Python 3.x instalado
- Banco de dados PostgreSQL
Execute o comando na pasta raiz do projeto:
python main.py
.
├── main.py # Arquivo principal com a lógica da aplicação e menu interativo
├── app/
│ ├── __init__.py # Inicialização do módulo app
│ ├── config.py # Configurações da aplicação, incluindo variáveis de ambiente
│ ├── database.py # Configuração e conexão com o banco de dados PostgreSQL
│ ├── schemas.py # Definição dos modelos de dados utilizando Pydantic
│ ├── funcionalidades/
│ │ ├── __init__.py # Inicialização do módulo funcionalidades
│ │ ├── criar_aluno.py # Função para criar um novo aluno
│ │ ├── criar_atletica.py # Função para criar uma nova atlética
│ │ ├── criar_usuario.py # Função para criar um novo usuário
│ │ ├── feed_personalizado.py # Função para obter o feed personalizado
│ │ ├── inscrever_usuario_evento.py # Função para inscrever um usuário em um evento
│ │ ├── listar_estatisticas.py # Função para listar estatísticas de engajamento
│ │ ├── listar_eventos_atletica.py # Função para listar eventos de uma atlética
│ │ ├── listar_participacoes_comuns.py # Função para listar participações comuns entre usuários
├── printers.py # Funções para exibir dados formatados no terminal
├── requirements.txt # Dependências do projeto
├── scripts/
│ ├── dados.sql # Script SQL para popular o banco de dados com dados iniciais
│ ├── esquema.sql # Script SQL para criar as tabelas do banco de dados
├── .env # Variáveis de ambiente
├── .env.example # Exemplo de arquivo de variáveis de ambiente
├── .gitignore # Arquivo para ignorar arquivos e pastas no Git
└── README.md # Documentação do projeto
- A aplicação usa conexão com PostgreSQL via
psycopg2
- Todas as operações incluem tratamento de erros
- Utiliza queries parametrizadas para prevenir SQL injection
- Credenciais sensíveis são gerenciadas via variáveis de ambiente
- Validação de dados com Pydantic
- Conexões são fechadas automaticamente com context manager