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.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.
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:| Role | ID | Capabilities |
|---|---|---|
admin | 1 | Full platform access, user & device management |
profesor | 2 | Course management, attendance, project oversight |
alumno | 3 | Read-only course view, personal projects & tasks |
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.