Skip to content

victorrgodoy/geohub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoHub

Project 1

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.

Project 2

Funcionalidades

  • 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

Estrutura do projeto

geohub/
├── assets/ 
├── backend-geohub/         
│   ├── prisma/
│   ├── src/
├── frontend-geohub/                
│   ├── public/
│   ├── src/             
├── README.md
└── ...

Pré-requisitos

Instalação e Configuração

1. Clone o repositório

git clone https://github.com/victorrgodoy/geohub.git
cd geohub

2. Configure o Backend

cd backend-geohub
npm install

Configuração do Banco de Dados

Crie 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.1

Opção 1 - Banco de Dados Local

create database geohub

Opção 2 — Docker para o Banco de Dados

Antes de rodar o Docker, configure o arquivo .env corretamente com as variáveis do banco de dados.

docker-compose up -d

O 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 dev

Popule o banco de dados com seeds:

npm run seed:continent
npm run seed:country
npm run seed:city

Inicie o servidor:

npm run start:dev

O backend estará rodando em http://localhost:3000

3. Configure o Frontend

cd frontend-geohub
npm install

Crie o arquivo .env baseado no .env.example:

VITE_BACKEND_API_URL=http://localhost:3000
VITE_WORLD_BANK_API_URL=https://api.worldbank.org/v2

Inicie o servidor de desenvolvimento:

npm run dev

O frontend estará rodando em http://localhost:5173

Documentação Detalhada

Scripts Úteis

Backend

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 banco

Frontend

npm run dev              # Servidor de desenvolvimento
npm run build            # Build de produção
npm run preview          # Preview do build
npm run lint             # Verificar código

Licença

Este projeto está licenciado sob a licença MIT. Copyright © 2025

About

Web page dashboard with information about continents, countries, and cities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors