Este é um projeto de um aplicativo de cadastro de ações sociais e problemas na cidade, desenvolvido com Streamlit. O aplicativo permite que visitantes e usuários cadastrados vejam um mapa com os problemas e ações sociais, e que usuários cadastrados registrem novos problemas.
cidade_solidaria/
│
├── .streamlit/
│ └── secrets.toml
├── streamlit_app.py
├── database.py
├── docker-compose.yml
├── .env
├── requirements.txt
└── Dockerfile
-
Visitantes:
- Visualização de problemas e ações sociais no mapa
- Visualização de descrições dos pontos no mapa
-
Usuários Cadastrados:
- Todas as funcionalidades dos visitantes
- Registro de novos pontos no mapa
- Cadastro de novos usuários
-
Admin:
- Visualização e gerenciamento de todos os pontos cadastrados
- Python 3.7+
- Docker (opcional, para ambiente Docker)
- PostgreSQL (opcional, para ambiente Docker ou produção)
git clone https://github.com/seu-usuario/cidade_solidaria.git
cd cidade_solidaria
Crie um arquivo .env
na raiz do projeto com o conteudo de example.env:
Crie um diretório .streamlit
e adicione o arquivo secrets.toml
com o seguinte conteúdo:
# Variáveis de ambiente gerais
[general]
ENVIRONMENT = "development"
api_key = "your_opencage_api_key"
# Credenciais do banco de dados
db_username = "your_db_username"
db_password = "your_db_password"
# URLs de banco de dados para diferentes ambientes
[database]
url_local = "sqlite:///data.db"
url_docker = "postgresql://postgres:postgres@localhost/postgres"
url_production = "postgresql://your_db_username:your_db_password@production_host/your_database"
Substitua your_db_username
, your_db_password
, your_opencage_api_key
, e as URLs do banco de dados pelos valores apropriados.
pip install -r requirements.txt
streamlit run streamlit_app.py
docker-compose up -d
docker build -t cidade_solidaria .
docker run -p 8501:8501 --env-file .env cidade_solidaria
- Defina a variável de ambiente
ENVIRONMENT
comoproduction
no arquivo.env
. - Configure o banco de dados PostgreSQL de produção com as credenciais apropriadas.
- Faça o deploy da aplicação para o ambiente de produção seguindo as práticas recomendadas para o seu provedor de hospedagem.
Contém segredos e variáveis de ambiente sensíveis, como credenciais de banco de dados e chaves de API.
Contém a lógica principal do aplicativo Streamlit, incluindo autenticação, visualização do mapa, e formulários para registro de problemas e ações sociais.
Configurações do SQLAlchemy para conexão com SQLite ou PostgreSQL, definição das tabelas e funções auxiliares para manipulação dos dados.
Configura um contêiner Docker para o PostgreSQL.
Arquivo de variáveis de ambiente contendo configurações específicas para cada ambiente (desenvolvimento, Docker, produção).
Lista de dependências do projeto.
Define a construção da imagem Docker para o aplicativo Streamlit.
- Fork o repositório
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
) - Commit suas mudanças (
git commit -am 'Adicione uma nova feature'
) - Push para a branch (
git push origin feature/nova-feature
) - Crie um novo Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.