GeoHub é uma aplicação full-stack para gerenciamento de dados geográficos, integrando APIs externas para enriquecer informações de países, continentes e cidades com dados econômicos e estatísticos globais.
- Visão geral dos dados registrados
- CRUD completo de Continentes, Países e Cidades
- Integração com REST Countries API (moedas, idiomas, população, bandeiras)
- Integração com World Bank API (PIB, expectativa de vida, população urbana)
- Interface moderna com tema claro/escuro
- Filtros avançados por continente e país
- Visualização de dados em tabelas, cards e estatísticas
- Layout responsivo para desktop e mobile
geohub/
├── assets/
├── backend-geohub/
│ ├── prisma/
│ ├── src/
├── frontend-geohub/
│ ├── public/
│ ├── src/
├── README.md
└── ...- Node.js 18+ e npm/yarn — nodejs.org
- PostgreSQL 14+ — postgresql.org
- Git — git-scm.com
git clone https://github.com/victorrgodoy/geohub.git
cd geohubcd backend-geohub
npm installCrie o arquivo .env baseado no .env.example:
DATABASE_USER=seu_usuario
DATABASE_PASSWORD=sua_senha
DATABASE_NAME=geohub
DATABASE_URL="postgresql://${DATABASE_USER}:${DATABASE_PASSWORD}@localhost:5432/${DATABASE_NAME}?schema=public"
FRONTEND_URL=http://localhost:5173
REST_COUNTRIES_API_URL=https://restcountries.com/v3.1create database geohubAntes de rodar o Docker, configure o arquivo
.envcorretamente com as variáveis do banco de dados.
docker-compose up -dO docker-compose.yml do backend sobe um container PostgreSQL pronto para uso com as credenciais definidas no .env.
Rodar migrate para configurar o banco de dados
npx prisma migrate devPopule o banco de dados com seeds:
npm run seed:continent
npm run seed:country
npm run seed:cityInicie o servidor:
npm run start:devO backend estará rodando em http://localhost:3000
cd frontend-geohub
npm installCrie o arquivo .env baseado no .env.example:
VITE_BACKEND_API_URL=http://localhost:3000
VITE_WORLD_BANK_API_URL=https://api.worldbank.org/v2Inicie o servidor de desenvolvimento:
npm run devO frontend estará rodando em http://localhost:5173
- Backend README - Documentação completa da API
- Frontend README - Documentação da interface
npm run start:dev # Servidor em modo watch
npm run build # Build de produção
npm run seed:continent # Popular continentes
npm run seed:country # Popular países (REST Countries API)
npm run seed:city # Popular 100 cidades
npx prisma studio # Interface visual do banconpm run dev # Servidor de desenvolvimento
npm run build # Build de produção
npm run preview # Preview do build
npm run lint # Verificar códigoEste projeto está licenciado sob a licença MIT. Copyright © 2025

