Refactor: Analyze project documentation

This commit is contained in:
gpt-engineer-app[bot]
2025-10-12 01:00:32 +00:00
parent 4bd776e3bd
commit bdb8b2d7e2
5 changed files with 2694 additions and 46 deletions

387
README.md
View File

@@ -1,73 +1,368 @@
# Welcome to your Lovable project
# 🌴 Karibeo - Tourism & Business Management Platform
## Project info
[![React](https://img.shields.io/badge/React-18.3.1-blue.svg)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.5.3-blue.svg)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.4.1-38bdf8.svg)](https://tailwindcss.com/)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
**URL**: https://lovable.dev/projects/0a15968a-5628-423b-852e-32fae49619db
Karibeo es una plataforma integral de gestión turística y comercial diseñada para conectar turistas con servicios locales mientras proporciona herramientas empresariales avanzadas para hoteles, restaurantes y comercios.
## How can I edit this code?
## 🚀 Características Principales
There are several ways of editing your application.
### Para Turistas 🧳
- **Exploración Interactiva**: Descubre destinos, lugares y experiencias únicas
- **Reservas Integradas**: Sistema completo de reservas para hoteles, restaurantes y tours
- **Geolocalización Avanzada**: Encuentra servicios cercanos con mapas interactivos
- **Billetera Digital**: Gestión de pagos y transacciones seguras
- **Reseñas y Valoraciones**: Sistema completo de reviews y puntuaciones
- **Asistente IA**: Asistente flotante con inteligencia artificial para ayuda personalizada
**Use Lovable**
### Para Negocios 💼
Simply visit the [Lovable Project](https://lovable.dev/projects/0a15968a-5628-423b-852e-32fae49619db) and start prompting.
#### 🏨 Gestión Hotelera
- Sistema de reservas y check-in/check-out
- Gestión de habitaciones e inventario
- Room service y amenidades
- Control de acceso sin llaves (keyless entry)
- Gestión de personal y turnos
Changes made via Lovable will be committed automatically to this repo.
#### 🍽️ Sistema POS Restaurante
- Terminal de punto de venta completa
- Gestión de pedidos y cocina
- Sistema de mesas y reservaciones
- Gestión de menú dinámico
- Control de inventario
- Facturación y cuentas
**Use your preferred IDE**
#### 🏪 Gestión de Comercio
- Tienda virtual integrada
- Terminal POS para ventas
- Gestión de inventario y productos
- Control de clientes y fidelización
- Sistema de caja y reportes
- Gestión de personal
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
### Panel de Administración 👨‍💼
- **Dashboard Ejecutivo**: Métricas en tiempo real y KPIs
- **Gestión de Usuarios**: Control completo de usuarios y perfiles
- **Sistema de Roles y Permisos**: Gestión granular por entidad (Admin, Hotel, Restaurante, Comercio)
- **CRM Integrado**: Gestión de contactos, campañas y analytics
- **Channel Manager**: Sincronización multi-canal (Booking, Airbnb, Expedia)
- **Sistema de Comisiones**: Reglas automatizadas y tracking
- **Configuración Global**: APIs, pagos, integraciones
- **Security Center**: Monitoreo y auditoría de seguridad
- **Analytics Avanzado**: Reportes y visualización de datos
The only requirement is having Node.js & npm installed - [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating)
### Módulos Especiales 🌟
- **POLITUR**: Sistema de emergencias y seguridad turística
- **Guías Turísticos**: Creación y gestión de itinerarios personalizados
- **Sostenibilidad**: Tracking de impacto ambiental y certificaciones
- **Gestión de Vehículos**: Control de flotas y mantenimiento
Follow these steps:
## 🛠️ Stack Tecnológico
```sh
# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>
### Frontend
- **Framework**: React 18.3.1 + TypeScript
- **Build Tool**: Vite 6.2.0
- **Styling**: Tailwind CSS + shadcn/ui components
- **State Management**: React Context + TanStack Query
- **Routing**: React Router DOM 7.8.2
- **Forms**: React Hook Form + Zod validation
- **Maps**: Google Maps API
- **Charts**: Recharts + ApexCharts
# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>
# Step 3: Install the necessary dependencies.
npm i
# Step 4: Start the development server with auto-reloading and an instant preview.
npm run dev
### Dependencias Clave
```json
{
"@tanstack/react-query": "^5.83.0",
"@googlemaps/js-api-loader": "^1.16.10",
"react-hook-form": "^7.61.1",
"zod": "^3.25.76",
"recharts": "^3.1.2",
"lucide-react": "^0.462.0"
}
```
**Edit a file directly in GitHub**
## 📁 Estructura del Proyecto
- Navigate to the desired file(s).
- Click the "Edit" button (pencil icon) at the top right of the file view.
- Make your changes and commit the changes.
```
karibeo/
├── src/
│ ├── components/ # Componentes reutilizables
│ │ ├── admin/ # Componentes de administración
│ │ ├── hotel/ # Componentes hoteleros
│ │ ├── restaurant/ # Componentes de restaurante
│ │ ├── roles/ # Sistema de roles
│ │ ├── security/ # Componentes de seguridad
│ │ └── ui/ # Componentes UI base (shadcn)
│ ├── contexts/ # React Contexts
│ │ ├── AuthContext.tsx
│ │ ├── CartContext.tsx
│ │ └── CurrencyContext.tsx
│ ├── hooks/ # Custom React Hooks
│ │ ├── useAdminData.ts
│ │ ├── useBooking.ts
│ │ └── useRolesPermissions.ts
│ ├── pages/ # Páginas/Rutas
│ │ ├── dashboard/ # Panel de control
│ │ ├── SignIn.tsx
│ │ └── SignUp.tsx
│ ├── services/ # Servicios API
│ │ ├── adminApi.ts
│ │ ├── emergencyApi.ts
│ │ └── paymentService.ts
│ ├── types/ # Definiciones TypeScript
│ ├── lib/ # Utilidades
│ │ ├── utils.ts
│ │ └── validation.ts # Schemas de validación Zod
│ ├── i18n/ # Internacionalización
│ └── App.tsx # Componente principal
├── public/ # Assets estáticos
├── tailwind.config.ts # Configuración Tailwind
├── tsconfig.json # Configuración TypeScript
└── vite.config.ts # Configuración Vite
```
**Use GitHub Codespaces**
## 🚦 Instalación y Configuración
- Navigate to the main page of your repository.
- Click on the "Code" button (green button) near the top right.
- Select the "Codespaces" tab.
- Click on "New codespace" to launch a new Codespace environment.
- Edit files directly within the Codespace and commit and push your changes once you're done.
### Prerrequisitos
- Node.js 18+ (recomendado usar [nvm](https://github.com/nvm-sh/nvm))
- npm o yarn
## What technologies are used for this project?
### Instalación Local
This project is built with:
```bash
# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/karibeo.git
cd karibeo
- Vite
- TypeScript
- React
- shadcn-ui
- Tailwind CSS
# 2. Instalar dependencias
npm install
## How can I deploy this project?
# 3. Configurar variables de entorno
# Crear archivo .env en la raíz (ver sección de Configuración)
Simply open [Lovable](https://lovable.dev/projects/0a15968a-5628-423b-852e-32fae49619db) and click on Share -> Publish.
# 4. Iniciar servidor de desarrollo
npm run dev
## Can I connect a custom domain to my Lovable project?
# El proyecto estará disponible en http://localhost:5173
```
Yes, you can!
### Scripts Disponibles
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
```bash
npm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run preview # Preview del build
npm run lint # Linting con ESLint
```
Read more here: [Setting up a custom domain](https://docs.lovable.dev/tips-tricks/custom-domain#step-by-step-guide)
## 🔐 Autenticación y Seguridad
### Sistema de Autenticación
- Login mediante email/password con validación robusta
- Tokens JWT con refresh token automático
- Soporte para OAuth (Google, Apple)
- Sesiones persistentes en localStorage
### Validación de Inputs
Todos los formularios utilizan **Zod** para validación:
```typescript
// Ejemplo de schema de validación
const loginSchema = z.object({
email: z.string().email().max(255),
password: z.string().min(8).max(128)
});
```
### Roles y Permisos
Sistema granular de permisos por entidad:
- **Admin**: Gestión global del sistema
- **Hotel**: Permisos específicos para hoteles
- **Restaurant**: Permisos para restaurantes
- **Commerce**: Permisos para comercios
## 🌍 Internacionalización
Soporte multi-idioma con contexto dedicado:
- Español (ES) - Por defecto
- Inglés (EN)
- Fácilmente extensible a más idiomas
```typescript
// Uso del contexto de idioma
const { t, language, changeLanguage } = useLanguage();
<h1>{t('welcome')}</h1>
```
## 💰 Sistema de Pagos
Integración con múltiples pasarelas:
- Stripe
- PayPal
- Pagos locales
Gestión de:
- Billetera digital integrada
- Transacciones seguras
- Historial y facturas
- Sistema de comisiones automatizado
## 📊 Analytics y Reportes
### Métricas Disponibles
- KPIs en tiempo real
- Reportes financieros
- Analytics de usuarios
- Tasa de conversión
- Ocupación y reservas
- Ventas y rendimiento
### Visualizaciones
- Gráficos de línea y barra
- Mapas de calor
- Tablas interactivas
- Exportación a PDF/Excel
## 🗺️ Integración de Mapas
Google Maps integrado para:
- Geolocalización de servicios
- Geofences y alertas
- Navegación en tiempo real
- Tracking de vehículos
- Puntos de interés (POI)
## 📱 Responsive Design
Diseño completamente responsive:
- Mobile-first approach
- Breakpoints: sm, md, lg, xl, 2xl
- Touch-friendly interfaces
- PWA capabilities
## 🔌 API Endpoints
### Base URL
```
https://karibeo.lesoluciones.net:8443/api/v1
```
### Endpoints Principales
#### Autenticación
```typescript
POST /auth/login
POST /auth/register
POST /auth/refresh
GET /auth/profile
```
#### Usuarios
```typescript
GET /admin/users
POST /admin/users
PUT /admin/users/:id
DELETE /admin/users/:id
```
#### Reservas
```typescript
GET /reservations
POST /reservations
PUT /reservations/:id
DELETE /reservations/:id
```
#### Establecimientos
```typescript
GET /establishments
POST /establishments
GET /establishments/:id
```
## 🧪 Testing
```bash
# Ejecutar tests
npm run test
# Coverage
npm run test:coverage
```
## 📦 Deployment
### Build de Producción
```bash
npm run build
```
Los archivos se generarán en `/dist`
### Deploy en Lovable
1. Ir a [Lovable Project](https://lovable.dev/projects/0a15968a-5628-423b-852e-32fae49619db)
2. Click en **Share → Publish**
3. Configurar dominio personalizado (opcional)
### Deploy en Otros Servicios
- **Vercel**: `vercel deploy`
- **Netlify**: Conectar repositorio GitHub
- **AWS S3**: Subir carpeta `/dist`
## 🔧 Configuración Avanzada
### Variables de Entorno
```env
VITE_API_BASE_URL=https://karibeo.lesoluciones.net:8443/api/v1
VITE_GOOGLE_MAPS_API_KEY=tu_api_key
VITE_STRIPE_PUBLIC_KEY=tu_stripe_key
```
### Tailwind Design Tokens
Sistema de diseño centralizado en `index.css`:
- Variables CSS personalizadas
- Tema claro/oscuro
- Gradientes y sombras
- Animaciones
## 🤝 Contribución
### Workflow
1. Fork el proyecto
2. Crear feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit cambios (`git commit -m 'Add: AmazingFeature'`)
4. Push al branch (`git push origin feature/AmazingFeature`)
5. Abrir Pull Request
### Convenciones de Código
- **TypeScript** estricto
- **ESLint** para linting
- **Prettier** para formateo
- Commits semánticos (feat, fix, docs, style, refactor, test, chore)
## 📄 Licencia
Este proyecto está bajo la licencia MIT. Ver archivo [LICENSE](LICENSE) para más detalles.
## 🆘 Soporte
- **Documentación**: [docs.karibeo.com](https://docs.karibeo.com)
- **Issues**: [GitHub Issues](https://github.com/tu-usuario/karibeo/issues)
- **Email**: soporte@karibeo.com
- **Discord**: [Comunidad Karibeo](https://discord.gg/karibeo)
## 🙏 Agradecimientos
- [shadcn/ui](https://ui.shadcn.com/) por los componentes UI
- [Lucide](https://lucide.dev/) por los iconos
- [React Icons](https://react-icons.github.io/react-icons/) por iconos adicionales
- Comunidad de código abierto
---
**Desarrollado con ❤️ para la industria turística del Caribe**
**Versión**: 1.0.0
**Última actualización**: 2025-01-12