Sistema completo para gestão de sondagens SPT (Standard Penetration Test) conforme normas NBR brasileiras, desenvolvido com CodeIgniter 4, PostgreSQL/PostGIS, Redis e MinIO.
O GeoSPT Manager inclui um instalador web completo, similar ao WordPress, que facilita a configuração inicial:
- Clone o repositório e configure o servidor web:
git clone https://github.com/mumufoco/SupportGEO.git
cd SupportGEO- Configure as permissões:
chmod -R 755 writable/- Acesse o instalador no navegador:
http://seu-dominio.com/install/
- Siga o assistente de instalação:
- ✅ Verificação de requisitos do sistema
- 🗄️ Configuração do banco de dados PostgreSQL
- ⚙️ Instalação automática de migrations e estrutura
- 👤 Criação do usuário administrador
- 🎉 Sistema pronto para uso!
📚 Documentação completa do instalador: public/install/README.md
- Docker Engine 20.10+
- Docker Compose 2.0+
- Git
- Clone o repositório:
git clone https://github.com/mumufoco/SupportGEO.git
cd SupportGEO- Configure o ambiente:
cp .env.example .env- Gere as chaves de segurança:
# JWT Secret Key
php -r 'echo bin2hex(random_bytes(32)) . PHP_EOL;'
# Encryption Key
openssl rand -hex 32Atualize as chaves no arquivo .env.
- Inicie os serviços:
docker compose up --build -d- Execute as migrations:
docker compose exec app php spark migrate- Acesse a aplicação:
- Aplicação: http://localhost:8080
- MinIO Console: http://localhost:9001 (minioadmin/minioadmin)
Para instruções detalhadas, consulte: docs/PHASE_0_SETUP.md
- Backend: PHP 8.2 + CodeIgniter 4
- Banco de Dados: PostgreSQL 15 + PostGIS 3.4
- Cache/Filas: Redis 7
- Armazenamento: MinIO (S3-compatible)
- Web Server: Nginx
- Containers: Docker + Docker Compose
| Serviço | Porta | Descrição |
|---|---|---|
| Nginx | 8080 | Web server |
| PostgreSQL/PostGIS | 5432 | Banco de dados com extensões espaciais |
| Redis | 6379 | Cache e sistema de filas |
| MinIO API | 9000 | Armazenamento de objetos (API) |
| MinIO Console | 9001 | Interface web do MinIO |
O projeto segue um plano de desenvolvimento em fases:
- Fase 0 - Preparação do Ambiente ✅
- Fase 1 - Estrutura do Banco de Dados
- Fase 2 - Models e Repositories
- Fase 3 - Bibliotecas NBR
- Fase 4 - PDF Service
- Fase 5 - API REST
- Fase 6 - Interface
- Fase 7 - Fotos e Importação
- Fase 8 - Testes
- Fase 9 - Deploy
- Setup Inicial (Fase 0) - Configuração do ambiente de desenvolvimento
- Instalador Web - Documentação completa do instalador
- Testes do Instalador - Checklist de testes do instalador
- Mais documentação será adicionada nas próximas fases
# Desinstalar para testes de desenvolvimento (⚠️ remove todos os dados!)
bash scripts/uninstall-dev.sh
# Remover instalador após instalação (segurança)
rm -rf public/install/
# Ou renomear para desabilitar
mv public/install/ public/install-disabled/# Iniciar serviços
docker compose up -d
# Ver logs
docker compose logs -f app
# Parar serviços
docker compose down
# Reconstruir containers
docker compose up --build -d
# Acessar shell do container
docker compose exec app bash# Migrations
docker compose exec app php spark migrate
docker compose exec app php spark migrate:rollback
# Seeders
docker compose exec app php spark db:seed InitialDataSeeder
# Cache
docker compose exec app php spark cache:clear
# Rotas
docker compose exec app php spark routes# Instalar dependências
docker compose exec app composer install
# Atualizar dependências
docker compose exec app composer update
# Autoload
docker compose exec app composer dump-autoload💡 Nota: O repositório suporta versionamento do diretório
vendor/para cenários que requerem disponibilidade garantida de dependências. Consulte docs/COMMIT_VENDOR.md para procedimentos seguros.
# Executar testes
docker compose exec app vendor/bin/phpunit
# Executar teste específico
docker compose exec app vendor/bin/phpunit --filter TestClassNamePara ambientes de produção:
- Altere todas as senhas padrão
- Gere chaves JWT e de criptografia fortes
- Use HTTPS/SSL para todas as conexões
- Configure firewall e segurança de rede adequados
- Use gerenciamento de secrets (e.g., Docker Secrets, Vault)
- Não exponha portas desnecessárias publicamente
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto é propriedade de Support Solo Sondagens Ltda.
Para suporte e questões técnicas, entre em contato através das issues do GitHub.
© 2025 Support Solo Sondagens Ltda