Skip to content

lmellaV/GeoHere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GetInWork

GetInWork es una solucion full-stack para gestion de asistencia y verificacion domiciliaria con geolocalizacion.

Caracteristicas

  • Full-stack con Next.js App Router.
  • Diseno mobile-first.
  • Geolocalizacion con control de radio.
  • Login por RUT para usuarios y login por empresa para admin.
  • Panel administrativo para usuarios, empresas, ubicaciones, logs y mensajes.

Stack

  • Framework: Next.js 16
  • Lenguaje: TypeScript
  • UI: CSS Modules
  • DB objetivo cloud: Cloudflare D1 + Drizzle ORM
  • Auth: JWT con jose + hashing PBKDF2 (Web Crypto)
  • Runtime deploy: Cloudflare Workers (OpenNext)

Desarrollo Local

  1. Instalar dependencias
npm install
  1. Crear .env
JWT_SECRET=tu_secreto_super_seguro
GEO_RADIUS=100
  1. Levantar en dev
npm run dev

Despliegue en Cloudflare (GitHub conectado)

El repositorio ya esta preparado para OpenNext + Wrangler.

1) Crear D1 y configurar binding

npx wrangler d1 create getinwork-db
  • Copia el database_id resultante.
  • Reemplaza REEMPLAZAR_CON_ID_REAL en wrangler.jsonc.

2) Crear esquema y datos iniciales en D1

Generar seed SQL con hashes PBKDF2 compatibles con Workers:

node scripts/generate-d1-seed.js

Aplicar esquema y seed a D1:

npx wrangler d1 execute getinwork-db --file=scripts/d1-schema.sql --remote
npx wrangler d1 execute getinwork-db --file=scripts/d1-seed.sql --remote

3) Variables de entorno en Cloudflare

En Workers Builds (Build variables and secrets):

  • JWT_SECRET (secret)
  • GEO_RADIUS (variable normal, por ejemplo 100)

4) Build y deploy en Cloudflare (desde GitHub)

En la configuracion de Builds del Worker:

  • Build command:
npx @opennextjs/cloudflare build
  • Deploy command:
npx @opennextjs/cloudflare deploy

5) Probar localmente en runtime Workers (opcional)

npm run preview

Comandos utiles

  • npm run dev
  • npm run build
  • npm run preview
  • npm run deploy
  • npm run upload
  • npm run cf-typegen
  • npm run fixture
  • npm run fixture:keep
  • npm run test

Credenciales de prueba (seed)

  • Admin empresa: Casona Nueva / admin123
  • Usuario: 12345678-9 / admin123

About

Este repositorio contiene el proyecto GeoHere para marcar y calcular horas trabajadas en un lugar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors