Tu centro de mando para Google Workspace.
Consolida Drive, Calendar, Gmail y Tasks en una sola interfaz: menos pestañas, más contexto.
- Vista previa
- ¿Qué es AxisDev?
- Funcionalidades
- Stack tecnológico
- Instalación y uso local
- Variables de entorno
- Configurar Google Cloud (OAuth + APIs)
- Comandos
- Estructura del proyecto
- Licencia
| Landing | Dashboard |
|---|---|
![]() |
![]() |
AxisDev es un panel de control que funciona como una capa superior sobre Google Workspace. Su objetivo es reducir la fatiga de pestañas, centralizando información y acciones frecuentes (archivos, agenda, correo y tareas) en una sola vista.
"El centro de mando para tu Google Workspace: convierte el desorden de múltiples pestañas en una interfaz inteligente, accionable y rápida."
- Drive: archivos recientes, navegación por carpetas y flujos de trabajo rápidos.
- Calendar: vista consolidada del día y reuniones.
- Gmail: lectura y estado de correos pendientes.
- Tasks: gestión de pendientes sincronizados.
- OAuth 2.0 (Auth.js / NextAuth v5): sesión JWT y refresh de token.
- Supabase: persistencia y datos de usuario.
| Categoría | Tecnología |
|---|---|
| Framework | Next.js 16.2.3 (App Router) |
| Lenguaje | TypeScript |
| UI | Tailwind CSS v4 |
| Auth | Auth.js / NextAuth v5 (Google) |
| DB | Supabase (JS SDK) |
| Estado | Zustand |
| Formularios | React Hook Form + Zod |
| Gráficos | Recharts |
| Calendario | React Big Calendar |
| Package manager | pnpm |
- Node.js 18+ (recomendado 20+)
- pnpm
- Google Cloud Console (OAuth + APIs)
- Proyecto en Supabase
git clone https://github.com/rody-huancas/axisdev.git
cd axisdevpnpm installcp .env.example .env.localCompleta .env.local (referencia: .env.example).
pnpm devAbre http://localhost:3000.
AxisDev lee variables desde lib/env.ts y .env.example.
| Variable | Uso |
|---|---|
AUTH_SECRET |
Secreto de Auth.js / NextAuth (firma de tokens/sesión). Alternativa soportada: NEXTAUTH_SECRET |
NEXTAUTH_URL |
URL base de la app (local: http://localhost:3000) |
GOOGLE_CLIENT_ID |
OAuth Client ID (Google) |
GOOGLE_CLIENT_SECRET |
OAuth Client Secret (Google) |
NEXT_PUBLIC_SUPABASE_URL |
URL del proyecto Supabase |
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY |
Key pública (publishable/anon) de Supabase |
SUPABASE_SERVICE_ROLE_KEY |
Key de servicio (server-only). Alternativa soportada: NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY |
NEXT_PUBLIC_GOOGLE_API |
Base de scopes de Google (p. ej. https://www.googleapis.com) |
NEXT_PUBLIC_GOOGLE_API_CALENDAR |
Endpoint/URL para Calendar API |
NEXT_PUBLIC_GOOGLE_API_DRIVE |
Endpoint/URL para Drive API |
NEXT_PUBLIC_GOOGLE_API_DRIVE_UPLOAD |
Endpoint/URL para subida a Drive |
NEXT_PUBLIC_GOOGLE_API_TASKS_LIST |
Endpoint/URL para TaskLists (si aplica) |
NEXT_PUBLIC_GOOGLE_API_TASKS |
Endpoint/URL para Tasks |
NEXT_PUBLIC_GOOGLE_API_GMAIL |
Endpoint/URL para Gmail API |
Notas:
- Por seguridad, usa
SUPABASE_SERVICE_ROLE_KEYsin el prefijoNEXT_PUBLIC_. - No subas
.env.localal repositorio.
- Entra a
https://console.cloud.google.com/. - Crea/selecciona un proyecto.
- Habilita APIs:
- Google Drive API
- Google Calendar API
- Gmail API
- Google Tasks API
- Configura la pantalla de consentimiento OAuth.
- Crea credenciales OAuth 2.0 (Aplicación web) y define:
- Orígenes autorizados:
http://localhost:3000 - URI de redirección autorizada:
http://localhost:3000/api/auth/callback/google
- Orígenes autorizados:
- Copia el Client ID/Secret a
.env.local.
pnpm dev # desarrollo
pnpm build # build de producción
pnpm start # servidor de producciónNota: existe pnpm lint, pero en este repo se evita correr linters/formatters salvo que sea solicitado explícitamente.
axisdev/
actions/ # Server Actions (Next.js)
app/ # Rutas y layouts (App Router)
components/ # UI reutilizable
constants/ # Constantes compartidas
hooks/ # Hooks custom
lib/ # Configuración y utilidades
public/ # Assets estáticos
services/ # Integración con APIs de Google
stores/ # Estado global (Zustand)
styles/ # Estilos globales
supabase/ # SQL/migraciones/config (si aplica)
types/ # Tipos TypeScript
auth.ts # Configuración Auth.js
.env.example # Variables de entorno de ejemplo
MIT © Rody Huancas

