Skip to content

mumufoco/SupportGEO

Repository files navigation

GeoSPT - Sistema de Gerenciamento de Sondagens SPT

Sistema completo para gestão de sondagens SPT (Standard Penetration Test) conforme normas NBR brasileiras, desenvolvido com CodeIgniter 4, PostgreSQL/PostGIS, Redis e MinIO.

🚀 Início Rápido

Opção 1: Instalação via Instalador Web (Recomendado)

O GeoSPT Manager inclui um instalador web completo, similar ao WordPress, que facilita a configuração inicial:

  1. Clone o repositório e configure o servidor web:
git clone https://github.com/mumufoco/SupportGEO.git
cd SupportGEO
  1. Configure as permissões:
chmod -R 755 writable/
  1. Acesse o instalador no navegador:
http://seu-dominio.com/install/
  1. 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

Opção 2: Instalação Manual via Docker

Pré-requisitos

  • Docker Engine 20.10+
  • Docker Compose 2.0+
  • Git

Instalação

  1. Clone o repositório:
git clone https://github.com/mumufoco/SupportGEO.git
cd SupportGEO
  1. Configure o ambiente:
cp .env.example .env
  1. Gere as chaves de segurança:
# JWT Secret Key
php -r 'echo bin2hex(random_bytes(32)) . PHP_EOL;'

# Encryption Key
openssl rand -hex 32

Atualize as chaves no arquivo .env.

  1. Inicie os serviços:
docker compose up --build -d
  1. Execute as migrations:
docker compose exec app php spark migrate
  1. Acesse a aplicação:

Para instruções detalhadas, consulte: docs/PHASE_0_SETUP.md

🏗️ Arquitetura

Stack Tecnológica

  • 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ços

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

📚 Documentação

Plano de Elaboração

O projeto segue um plano de desenvolvimento em fases:

Guias Técnicos

🔧 Comandos Úteis

Instalador Web

# 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/

Docker

# 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

CodeIgniter

# 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

Composer

# 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.

Testes

# Executar testes
docker compose exec app vendor/bin/phpunit

# Executar teste específico
docker compose exec app vendor/bin/phpunit --filter TestClassName

🔒 Segurança

⚠️ IMPORTANTE: As configurações padrão são apenas para desenvolvimento!

Para ambientes de produção:

  1. Altere todas as senhas padrão
  2. Gere chaves JWT e de criptografia fortes
  3. Use HTTPS/SSL para todas as conexões
  4. Configure firewall e segurança de rede adequados
  5. Use gerenciamento de secrets (e.g., Docker Secrets, Vault)
  6. Não exponha portas desnecessárias publicamente

🤝 Contribuindo

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Licença

Este projeto é propriedade de Support Solo Sondagens Ltda.

📞 Suporte

Para suporte e questões técnicas, entre em contato através das issues do GitHub.


© 2025 Support Solo Sondagens Ltda

About

Elaboração de App Web para emissão de relatórios dias, projeto para complementar as funcionalidades da empresa Support Solo Sondagens.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors