Plataforma integral de gestiΓ³n de proyectos de construcciΓ³n
GestiΓ³n de proyectos, presupuestos, cronogramas, inventarios, equipos y mΓ‘s β todo en una sola plataforma con IA integrada y soporte multi-tenant.
Deploy Β· Issues Β· Contributing
- 27 pantallas completas: dashboard, proyectos, tareas, cronograma, presupuesto, facturaciΓ³n, RFI, submittals, punch list, galerΓa de fotos, inventario, chat en tiempo real y mΓ‘s.
- Kanban board interactivo con drag & drop (
@dnd-kit). - Calendario integrado con vista de eventos y plazos.
- Seguimiento de tiempo (time tracking) por proyecto y tarea.
- PuntuaciΓ³n de salud del proyecto calculada automΓ‘ticamente (schedule, budget, quality, safety, RFIs, tasks).
- Asistente IA con panel de chat y acciones rΓ‘pidas (sugerir tareas, analizar presupuesto, planificar cronograma).
- RAG (Retrieval-Augmented Generation) con contexto del proyecto.
- CreaciΓ³n de tareas, gastos, proveedores y reuniones por voz o texto natural.
- Comandos de WhatsApp para gestiΓ³n remota desde el celular.
- Aislamiento completo de datos por tenant (espacio de trabajo).
- Roles: Super Admin (creador) y Miembro (invitado).
- CΓ³digo de invitaciΓ³n para unir miembros al espacio.
- GestiΓ³n de miembros con badges visuales.
- OneDrive (equipo compartido + personal) con carpetas automΓ‘ticas por proyecto (planos, fotos, contratos, presupuestos, otros).
- WhatsApp (envΓo, notificaciones, webhook, IA conversacional).
- Calendly, GitHub, Slack, Jira, Stripe (conectores disponibles).
- API REST v1 con OpenAPI spec, API keys y exportaciΓ³n CSV/JSON.
- Webhooks configurables con firma HMAC-SHA256.
- AutenticaciΓ³n via Firebase Auth (email, Google, Microsoft SSO).
- EncriptaciΓ³n AES-256-GCM de tokens de Microsoft almacenados en Firestore.
- Rate limiting por usuario/tenant con ventana deslizante (Firestore + cachΓ© en memoria).
- SSO y SCIM para aprovisionamiento empresarial.
- GDPR service con polΓticas de retenciΓ³n y derecho al olvido.
- CSP (Content Security Policy) configurado para Firebase, Google y Microsoft.
- AuditorΓa de acciones sensibles (
audit-logger).
- PWA completa con manifest, service worker, e instalaciΓ³n nativa.
- CachΓ© inteligente (IndexedDB) con cola de sincronizaciΓ³n offline.
- Modo claro/oscuro con tema personalizable.
- PDF con jsPDF + jsPDF-autotable.
- Excel/CSV con xlsx.
- Reportes: visiΓ³n general, financiero, obra, tiempo, equipo.
- Dashboard BI con esquema exportable.
| CategorΓa | TecnologΓa |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript 5 |
| Base de datos | Firebase Firestore |
| AutenticaciΓ³n | Firebase Auth + SSO |
| IA | Google Gemini (via z-ai-web-dev-sdk) |
| Estado | Zustand, React Context |
| UI | Tailwind CSS 4, Radix UI, shadcn/ui, Framer Motion, Lucide React |
| GrΓ‘ficos | Recharts |
| Drag & Drop | @dnd-kit |
| jsPDF + jsPDF-autotable | |
| Excel/CSV | xlsx |
| Notificaciones | Web Push API, Resend (email), WhatsApp |
| Almacenamiento | OneDrive (Graph API), Firebase Storage |
| Testing | Vitest, Testing Library |
archii/
βββ src/
β βββ app/ # Next.js App Router
β β βββ layout.tsx # Layout raΓz con metadata PWA
β β βββ HomeContent.tsx # Shell de la aplicaciΓ³n
β β βββ ClientProviders.tsx # Providers de contexto
β β βββ api/ # ~38 rutas API
β β βββ ai/ # IA assistant, agent, RAG
β β βββ collab/ # ColaboraciΓ³n en tiempo real
β β βββ onedrive/ # Archivos, carpetas, galerΓa, bΓΊsqueda
β β βββ tenants/ # Multi-tenant, OneDrive compartido
β β βββ v1/ # API REST pΓΊblica (OpenAPI, export)
β β βββ whatsapp/ # MensajerΓa y notificaciones
β β βββ integrations/ # Conectores terceros
β β βββ webhooks/ # Webhooks configurables
β βββ screens/ # 27 pantallas de la app
β βββ components/ # Componentes UI organizados por dominio
β β βββ ui/ # Primitivos shadcn/ui (~30)
β β βββ layout/ # Sidebar, TopBar, NavegaciΓ³n
β β βββ modals/ # Modales de entidades
β β βββ kanban/ # Tablero Kanban
β β βββ archii/ # IA (chat, quick actions)
β β βββ reports/ # Componentes de reportes
β βββ hooks/ # Custom hooks (auth, chat, inventory, etc.)
β βββ lib/ # ~50 servicios y utilidades
β β βββ connectors/ # Calendly, GitHub, Slack, Jira, Stripe
β βββ stores/ # Zustand store
β βββ contexts/ # React Context (AppContext)
β βββ types/ # Definiciones de tipos
βββ sdk/ # SDK de Archii (TypeScript, 0 dependencias)
βββ public/ # PWA manifest, service worker, Γconos
βββ firebase.json # ConfiguraciΓ³n Firebase
βββ firestore.rules # Reglas de seguridad Firestore
βββ vitest.config.ts # ConfiguraciΓ³n de tests
βββ LICENSE # MIT
- Node.js 18+ (o Bun)
- Un proyecto de Firebase con Firestore habilitado
- Variables de entorno configuradas (ver
.env.example)
git clone https://github.com/yecos/archii.git
cd archii
npm installCrea un archivo .env.local basado en los valores necesarios:
# Firebase (requerido)
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
# Firebase Admin (requerido para server-side)
FIREBASE_PROJECT_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=
# Microsoft OneDrive (opcional)
AZURE_CLIENT_ID=
AZURE_CLIENT_SECRET=
# Email (opcional - notificaciones por email)
RESEND_API_KEY=
RESEND_FROM_EMAIL=
# VAPID (opcional - push notifications)
NEXT_PUBLIC_VAPID_KEY=
VAPID_PRIVATE_KEY=
VAPID_SUBJECT=npm run dev # Servidor de desarrollo en http://localhost:3000
npm run build # Build de producciΓ³n
npm run start # Servidor de producciΓ³n
npm run lint # Linter
npm run test # Tests unitarios (Vitest)
npm run test:watch # Tests en modo watchArchii sigue una arquitectura SPA dentro de App Router: la aplicaciΓ³n es una sola pΓ‘gina (HomeContent.tsx) que renderiza pantallas de forma condicional segΓΊn la navegaciΓ³n, similar a una app mΓ³vil nativa.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Next.js App Router β
β β
β layout.tsx βββΊ ClientProviders βββΊ AppContext β
β β β
β HomeContent.tsx β
β β β
β ββββββββββββββββββββ€ β
β β Sidebar β β
β β TopBar β β
β β Screen Router β β
β β β β
β β ββββββββββββββββ β β
β β β 27 Screens β β β
β β β 90 Componentsβ β β
β β β 50 Services β β β
β β ββββββββββββββββ β β
β ββββββββββββββββββββ β
β β
β /api/* βββΊ 38 API Routes (Firebase Admin + Graph API)β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Login (Firebase Auth) βββΊ SelecciΓ³n de tenant
β β
β ββββββββ΄βββββββ
β β 1 tenant: β
β β auto-select β
β ββββββββ¬βββββββ
β β
β βββββββββ΄ββββββββ
β β Crear / Unir β
β β con cΓ³digo β
β βββββββββ¬βββββββ
β β
βΌ βΌ
Super Admin Miembro
(full access) (acceso limitado)
Archii expone una API REST pΓΊblica en /api/v1/ con soporte para API keys:
| Endpoint | DescripciΓ³n |
|---|---|
GET /api/v1/projects |
Listar proyectos (paginado) |
GET /api/v1/tasks |
Listar tareas (filtros + paginaciΓ³n) |
POST /api/v1/keys |
Crear API key |
DELETE /api/v1/keys/:id |
Revocar API key |
GET /api/v1/health |
Health check |
GET /api/v1/openapi |
EspecificaciΓ³n OpenAPI 3.1 |
POST /api/v1/export/csv |
Exportar datos a CSV |
POST /api/v1/export/json |
Exportar datos a JSON |
GET /api/v1/bi/schema |
Schema BI para anΓ‘lisis |
AutenticaciΓ³n: header X-API-Key o Authorization: Bearer <firebase-token>.
Archii incluye un SDK de TypeScript independiente en sdk/:
npm install archii-sdkimport { ArchiiClient } from 'archii-sdk';
const client = new ArchiiClient({
apiKey: 'af_live_...',
tenantId: 'mi-tenant',
});
const projects = await client.projects.list({ page: 1, pageSize: 20 });
const task = await client.tasks.create({
projectId: 'proj-123',
title: 'Instalar ventanas',
priority: 'High',
});Las reglas de Firestore (firestore.rules) implementan:
- Lectura/escritura solo para usuarios autenticados.
- Aislamiento por tenant: los usuarios solo pueden acceder a documentos de sus tenants.
- Los campos sensibles (tokens MS) se encriptan con AES-256-GCM antes de almacenar.
- Rate limiting en todos los endpoints pΓΊblicos.
- Content Security Policy configurado para permitir flujos de auth de Firebase, Google y Microsoft.
Lee SECURITY.md para la polΓtica completa y cΓ³mo reportar vulnerabilidades.
Las contribuciones son bienvenidas. Por favor lee CONTRIBUTING.md para los lineamientos.
MIT Β© 2026 Archii