Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Taykl12/Classify/llms.txt

Use this file to discover all available pages before exploring further.

Classify is a full-stack school management platform designed specifically for technical secondary schools. Built with React 19, TypeScript, and a Node/Express backend powered by Supabase, it gives students, professors, and administrators a single, cohesive workspace to manage coursework, track attendance, collaborate on projects, and interact with ESP32-based biometric hardware — all through a Spanish-language interface tailored to the Argentine technical-education context.

Who Is Classify For?

Classify serves three distinct user roles, each with a dedicated experience:
  • Students (alumnos) — View enrolled courses, track project tasks, check the academic calendar, and see their own attendance records.
  • Professors (profesores) — Manage course rosters, register attendance (including via ESP32 biometric device), oversee project workspaces, and assign tasks.
  • Administrators (admins) — Govern the entire platform: create and archive courses (cursos), manage subjects (materias), configure users, and monitor connected ESP32 devices.

Key Capabilities

Project Management

Collaborative project workspaces with task boards, member roles, and per-project configuration — accessible at /proyectos and /proyectos/:id/config.

Attendance Tracking

Professors register attendance manually or through an ESP32-C3 SuperMini biometric device. Records are persisted in Supabase and viewable in real time.

Academic Calendar

A shared calendar at /calendario lets staff and students track deadlines, events, and scheduled activities across the school year.

ESP32 Hardware Integration

The platform speaks directly to ESP32-C3 SuperMini devices over a shared device token, enabling touchless biometric attendance registration from the classroom.

Role System

Access control is enforced at both the API middleware layer and Supabase Row-Level Security policies. Roles are stored as integers in the database:
RoleIDCapabilities
admin1Full platform access, user & device management
profesor2Course management, attendance, project oversight
alumno3Read-only course view, personal projects & tasks
Every API request carries a JWT (stored as classify_access_token in localStorage) which Express decodes to determine the caller’s role before routing to role-restricted endpoints.

Spanish-Language UI

All routes, labels, and navigation elements are in Spanish, reflecting the platform’s origin at Escuela de Educación Técnica N° 24. Route paths such as /recuperar-contrasena, /proyectos, and /proyectos/:id/config mirror the Spanish terminology used throughout the interface.

Explore the Docs

Quickstart

Clone the repo, configure environment variables, and have a running dev environment in under five minutes.

Architecture

Understand the monorepo layout, Vite proxy, Express API structure, and Supabase RLS setup.

Roles & Permissions

Deep-dive into how admin, profesor, and alumno roles are enforced across the API and database.

Authentication API

Learn how JWTs are issued, stored, refreshed, and validated on every protected route.

Build docs developers (and LLMs) love