Este projeto foi desenvolvido para a disciplina Métodos de Desenvolvimento de Software na Universidade de Brasília (UnB) durante o segundo semestre de 2024
- 📜 Descrição do Projeto
- ✔️ Funcionalidades
- 🛠️ Ferramentas Utilizadas
- 📋 Estrutura do Projeto
- 🚀 Como Executar o Projeto
- 📚 Documentação
- 🤝 Como Contribuir
- 👥 Colaboradores
- 📍 Licença
O Monitoramento de Gastos Públicos é um projeto desenvolvido para oferecer uma plataforma acessível e intuitiva, permitindo que cidadãos, estudantes e profissionais visualizem e analisem de forma clara os gastos públicos da cidade de Maceió. Com foco na transparência, o sistema facilita o acompanhamento das finanças públicas, promovendo maior controle e compreensão sobre a gestão dos recursos municipais.
O projeto oferece uma série de funcionalidades que tornam o acompanhamento dos gastos públicos mais fácil e interativo:
- Consulta de Gastos: Permite que os usuários visualizem os gastos detalhados em diversas áreas da administração pública da cidade, como saúde, educação e infraestrutura.
- Pesquisa Avançada: Oferece filtros para que os usuários possam realizar buscas específicas por período e fornecedores.
- Transparência diariamente: A plataforma mantém os dados atualizados diariamente, garantindo que as informações sobre os gastos públicos estejam sempre disponíveis e acessíveis.
- React e TailwindCSS: Para a construção da estrutura e estilização das páginas web, garantindo uma interface visual atraente e responsiva.
- Python: Linguagem de programação utilizada para o desenvolvimento do backend e automações.
- Django_rest: Framework utilizado para a criação do backend, gerenciamento de banco de dados e APIs REST.
- Docker: Plataforma de containerização utilizada para criar, gerenciar e implantar os serviços da aplicação de forma isolada, garantindo portabilidade, escalabilidade e consistência no ambiente de desenvolvimento e produção.
- React com Typescript: Biblioteca JavaScript, com suporte a typescript, utilizada para o desenvolvimento do frontend, oferecendo uma interface dinâmica e responsiva.
- Querido Diário: Biblioteca utilizada para a extração automatizada de dados dos diários oficiais de Maceió, AL, facilitando o acesso a informações sobre gastos públicos municipais.
root/
├── client/
│ ├── node_modules/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Componentes do projeto
│ │ ├── hooks/
│ │ │ ├── Hooks personalizados do projeto
│ │ ├── pages/
│ │ │ ├── Páginas do projeto
│ │ ├── services/
│ │ │ ├── serviços para comunicação do front com o back
│ │ ├── App.css
│ │ ├── App.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── setupTests.ts
│ │ └── react-app-env.d.ts
│ ├── Dockerfile
│ ├── tailwind.config.js
│ ├── tsconfig.json
│ ├── package.json
│ ├── .env
│ └── README.md
├── server/
│ ├── apps/
│ │ ├── diarios/
│ │ │ ├── migrations/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── 0001_initial.py
│ │ │ │ └── 0002_alter_diario_contratacoes.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── models.py
│ │ │ ├── serializers.py
│ │ │ ├── services.py
│ │ │ ├── tests_controladores.py
│ │ │ ├── urls.py
│ │ │ ├── views.py
│ │ │ └── __init__.py
│ ├── server/
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ ├── wsgi.py
│ ├── Dockerfile
│ │ └── wsgi.py
│ ├── .env
│ ├── manage.py
│ └── requirements.txt
├── .gitignore
├── .dockerignore
├── .prettierrc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docker-compose.yml
├── LICENSE
├── README.md
└── SECURITY.md
-
Crie na pasta
server/
o seguinte .env:- DB_NAME=YOUR_DB_NAME - DB_USER=YOUR_DB_USER - DB_PASSWORD=YOUR_DB_PASSWORD - DB_HOST=YOUR_DB_HOST - FRONTEND_URL=YOUR_FRONTEND_URL - ALLOWED_HOSTS=LINK_DO_DEPLOY,localhost,127.0.0.1
-
Crie um .env na pasta
client/
desse jeito:
REACT_APP_API_BASE_URL=YOUR_REACT_APP_API_BASE_URL
-
Execute o comando no seu terminal:
docker-compose up --build -d
-
Quando terminar o processo acesse o frontend no link
http://localhost:3000/
, se possível espere até o backend poder receber conexões em torno de uns 20 segundos; -
Acesse o servidor no
http://localhost:8000/
, teste por exemplo a rota:http://localhost:8000/diarios/get-diarios/
.
A documentação completa do projeto pode ser acessada neste link.
A documentação sobre o guia de contribuição pode ser acessada neste link.
A documentação sobre a licença pode ser acessada neste link.
Link para vercel usado para a documentação de deploy pode ser acessada neste link.
Se você deseja colaborar com o projeto, siga as etapas abaixo:
-
Faça um fork deste repositório clicando no botão "Fork" no canto superior direito da página.
-
Clone o repositório forkado para a sua máquina:
git clone https://github.com/unb-mds/2024-2-Squad06
-
Crie uma branch para realizar suas alterações:
git checkout -b minha-feature
-
Faça as alterações desejadas no código e adicione os arquivos modificados ao controle de versão:
git add .
-
Realize o commit das suas alterações:
git commit -m "Descrição clara da feature ou correção"
-
Envie as alterações para o seu fork:
git push origin minha-feature
-
Abra um Pull Request no repositório original.
- Certifique-se de seguir as convenções de estilo do código adotadas no projeto.
- Adicione comentários claros para facilitar o entendimento do código.
- Teste suas alterações localmente antes de abrir o Pull Request.
- Inclua uma descrição detalhada no Pull Request, explicando as mudanças realizadas.
Caso tenha dúvidas, entre em contato com a equipe do projeto por meio das issues.
Imagens de exemplos do projeto, sendo respectivamentes da pagina Home e Pagina Area de busca.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Este projeto está licenciado sob a Licença MIT.