Skip to content

Latest commit

 

History

History
142 lines (103 loc) · 5.44 KB

File metadata and controls

142 lines (103 loc) · 5.44 KB

TaskZenith Logo

TaskZenith - Corporate Task Management 🚀

"Collaborative management and cloud synchronization for productive teams." "Gestión colaborativa y sincronización en la nube para equipos productivos."



🌎 Overview / Descripción General

TaskZenith is an advanced corporate task management platform designed for teams that require real-time collaboration, cross-platform synchronization, and complete workspace customization.

TaskZenith es una plataforma avanzada de gestión de tareas corporativas diseñada para equipos que necesitan colaboración en tiempo real, sincronización multiplataforma y personalización completa de su espacio de trabajo.

✨ Key Features / Características Principales

  • 🎯 Adaptive Dashboard: Free-form grid system (48 columns) with resizable and reorganizable widgets. / Dashboard Adaptativo: Sistema de grid libre (48 columnas) con widgets redimensionables y reorganizables.
  • 🔐 Robust Authentication: Access codes with differentiated roles (Admin/Operator). / Autenticación Robusta: Códigos de acceso con roles diferenciados (Admin/Operador).
  • ☁️ Cloud Synchronization: Personal configuration saved in Firestore for access from any device. / Sincronización en la Nube: Configuración personal guardada en Firestore para acceso desde cualquier dispositivo.
  • 🎨 Custom Themes: 8 predefined color palettes with automatic saving. / Temas Personalizables: 8 paletas de colores predefinidas con guardado automático.
  • 📊 Multiple Views: Todo List, Kanban, Calendar, History, and Statistics. / Múltiples Vistas: Todo List, Kanban, Calendario, Historial y Estadísticas.
  • ⏱️ Pomodoro Timer: Integrated timer for time management. / Pomodoro Timer: Temporizador integrado para gestión de tiempo.
  • 📱 Responsive Design: Optimized for desktop, tablet, and mobile. / Responsive Design: Optimizado para escritorio, tablet y móvil.

🛠️ Tech Stack / Stack Tecnológico

  • Frontend: Next.js 15.5 (App Router) + React 19 + TypeScript 5
  • UI Framework: TailwindCSS + shadcn/ui components
  • Database/Auth: Firebase Firestore & Firebase Authentication
  • State Management: React Context API with Firestore persistence
  • Interactivity: Custom drag-and-drop system with collision detection

🚀 Getting Started / Guía de Inicio

1. Clone the Repository / Clonar el Repositorio

git clone https://github.com/sjaquer/TaskZenith.git
cd TaskZenith

2. Install Dependencies / Instalar Dependencias

npm install

3. Environment Variables / Variables de Entorno

Create a .env.local file in the root directory and add your Firebase credentials (see .env.example): Crea un archivo .env.local en la raíz y añade tus credenciales de Firebase (ver .env.example):

NEXT_PUBLIC_FIREBASE_API_KEY=your_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id

4. Firestore Rules / Reglas de Firestore

Ensure your Firestore rules allow access based on authentication: Asegúrate de que tus reglas de Firestore permitan el acceso basado en autenticación:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    match /tasks/{taskId} {
      allow read, write: if request.auth != null;
    }
    match /userPreferences/{userId} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

5. Run Development Server / Ejecutar en Desarrollo

npm run dev

🎨 Personalization / Personalización

Adaptive Grid System

The dashboard uses a virtual 48-column adaptive grid:

  • Fluid Positioning: Based on percentages for full responsiveness.
  • Magnetic Snap: Automatic alignment every 10px.
  • Persistence: Automatic saving in Firestore per user.

Access Codes / Códigos de Acceso

The application uses access codes to differentiate roles:

  • TASKZENITH-ADMIN: Administrator access (full features).
  • TASKZENITH-CORP: Operator access (standard features).

📝 License / Licencia

Distributed under the MIT License. See LICENSE for more information. Distribuido bajo la Licencia MIT. Consulta LICENSE para más información.


👨‍💻 Author / Autor

Developed by Sebastián Jaque


Made with ❤️ using Next.js, React and Firebase