Plataforma web para consulta de diagnóstico de defeitos em equipamentos eletrônicos, desenvolvida em Django, com foco em organização, escalabilidade e boas práticas de desenvolvimento.
O projeto foi estruturado para servir tanto como aplicação funcional quanto como base sólida para evolução contínua, adotando padrões modernos de configuração, integração contínua e gerenciamento de dependências.
- Python 3.12
- Git
- PostgreSQL 18+
Este projeto utiliza o uv como gerenciador de dependências e ambientes virtuais, seguindo uma abordagem moderna e reprodutível.
O uv é necessário?
Sim. O uso douvé recomendado para garantir consistência entre ambientes de desenvolvimento, CI e produção.
Caso ainda não tenha o uv instalado, execute:
curl -LsSf https://astral.sh/uv/install.sh | shApós a instalação, reinicie o terminal ou garanta que o uv esteja disponível no PATH:
uv --versionClone o repositório a partir do GitHub:
git clone https://github.com/fabiofsilva/eletronica.git
cd eletronicaCrie o ambiente virtual e instale as dependências do projeto:
uv syncO repositório já fornece arquivos de exemplo para facilitar a configuração do ambiente de desenvolvimento.
Existe um arquivo env.example na raiz do projeto. Ele deve ser copiado para .env:
cp env.example .envEdite o arquivo .env e ajuste os valores conforme seu ambiente, especialmente as variáveis relacionadas ao PostgreSQL.
O projeto disponibiliza um arquivo development.example, que contém uma configuração de settings de desenvolvimento já pré-configurada.
Copie o arquivo para o local correto:
cp development.example eletronica/settings/development.pyEsse arquivo será utilizado como settings de desenvolvimento, facilitando o setup local do projeto.
A conexão com o banco de dados é feita exclusivamente por meio da variável de ambiente DATABASE_URL, declarada no arquivo .env.
No arquivo .env, configure a variável no formato:
DATABASE_URL=postgresql://usuario:senha@host:porta/nome_do_bancoExemplo:
DATABASE_URL=postgresql://eletronica_user:senha_segura@localhost:5432/eletronicaApós configurar o .env, execute as migrações do banco de dados:
uv run python manage.py migrate
```bash
uv run python manage.py migrate(Opcional) Criar um superusuário para acessar o admin do Django:
uv run python manage.py createsuperuserPara iniciar o servidor local utilizando os settings de desenvolvimento:
uv run python manage.py runserver --settings=eletronica.settings.developmentA aplicação estará disponível em:
http://127.0.0.1:8000/
Para rodar a suíte de testes automatizados:
uv run python manage.py test --settings=eletronica.settings.testO projeto utiliza GitHub Actions para garantir qualidade e consistência do código a cada pull request para a branch master.
O workflow Django CI executa automaticamente:
- ✅ Instalação das dependências utilizando
uve o arquivouv.lock - 🧹 Linting do código com Ruff, garantindo padronização e qualidade
- 🧪 Execução dos testes automatizados do Django
Este projeto é licenciado sob a GNU Affero General Public License (AGPL) v3, de 19 de novembro de 2007.
Isso significa que:
- O código-fonte deve permanecer aberto
- Modificações e redistribuições devem manter a mesma licença
- Aplicações que utilizem este projeto via rede também devem disponibilizar o código-fonte correspondente
Consulte o arquivo LICENSE para mais detalhes.