Skip to content

Latest commit

 

History

278 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TravelPal

TravelPal

Planifica, reserva y controla tus viajes
Una plataforma completa para itinerarios, gastos, presupuestos y analíticas.

Instalación · Características · Documentación · Roadmap

Next.js React TypeScript InsForge Cloudflare Workers CI/CD

📋 Descripción

TravelPal es una aplicación web para gestionar todo el ciclo de un viaje: itinerarios, control de gastos, presupuestos y analíticas. El backend es InsForge (Postgres + Auth + Storage) y el hosting es Cloudflare Workers con @opennextjs/cloudflare.

🚀 Características

  • ✅ Gestión completa de viajes: crear, editar y organizar itinerarios
  • 💸 Control de gastos por viaje con categorías y métricas
  • 💼 Presupuestos y seguimiento financiero
  • 📊 Dashboard analítico con visualizaciones interactivas
  • 🔐 Autenticación con InsForge (server actions; refresh token httpOnly)
  • 🧩 Logger centralizado y notificaciones toast
  • 📱 Diseño responsive y accesible

🗂️ Estructura del Proyecto

app-viajes/
├── src/
│   ├── app/                 # Rutas, páginas y API routes (App Router)
│   ├── components/          # UI y componentes por dominio
│   ├── lib/                 # Clientes (insforge), auth, utilidades
│   └── contexts/            # Contextos de React
├── migrations/              # Esquema InsForge (fuente de verdad, ver ADR-004)
├── docs/                    # Documentación colaborativa
├── .github/                 # Workflows, plantillas y labels
├── CONTEXT.md               # Contexto de dominio para agentes
└── README.md

⚙️ Instalación y Uso

Prerrequisitos

  • Node.js 22+
  • npm
  • Un proyecto de InsForge (URL + anon key + API key)

Instalación

git clone https://github.com/PabloJustDevelops/Proyecto-TravelPal-App-de-Viajes.git
cd Proyecto-TravelPal-App-de-Viajes
npm install

Configuración

# Copiar variables de entorno
cp .env.example .env.local

Variables de .env.local (nunca se versionan):

NEXT_PUBLIC_INSFORGE_URL=https://<appkey>.<region>.insforge.app
NEXT_PUBLIC_INSFORGE_ANON_KEY=<anon key>
INSFORGE_API_KEY=<api key de proyecto, solo servidor>

Ejecución

npm run dev          # Desarrollo (http://localhost:3000)
npm run lint         # ESLint
npm run type-check   # TypeScript
npm run test:ci      # Jest
npm run test:e2e     # Playwright (ver docs/TESTING.md)
npm run build        # next build

Despliegue (Cloudflare Workers)

npm run preview      # Build de OpenNext + wrangler dev local
npm run deploy       # Build de OpenNext + deploy a Cloudflare

INSFORGE_API_KEY es un secreto de runtime: se sube con wrangler secret put INSFORGE_API_KEY.

📖 Documentación


🔧 Tecnologías

  • Frontend: Next.js 16 (App Router), React 19, TypeScript
  • Estilos: Tailwind CSS
  • Backend: InsForge (Postgres, Auth, Storage) vía @insforge/sdk
  • Hosting: Cloudflare Workers con @opennextjs/cloudflare
  • Testing: Jest + Testing Library (unitarios y componentes) y Playwright (E2E)
  • CI/CD: GitHub Actions (lint, type-check, tests, build y build del Worker)

📋 Roadmap

  • Internacionalización (i18n)
  • Integración con más APIs de viajes
  • Sistema de colaboración en viajes
  • App móvil (React Native)

👥 Contribuidores

🤝 Contribuir

  1. Crea una rama para tu cambio
  2. Commit con Conventional Commits (ver docs/COMMITS.md)
  3. Abre un Pull Request (ver docs/PR_PROCESS.md)

📄 Licencia

MIT.

📞 Contacto

Pablo Rodríguez Garijo - @PabloJustDevelops

About

App de viajes colaborativa con Next.js, documentación y CI listo.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages