Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Stivenz3/Nexu/llms.txt

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

Nexu is a web-based certification platform that trains food handlers in Buenas Prácticas de Manufactura (BPM) in compliance with Colombia’s Resolución 2674 de 2013. Every learner who passes the platform earns a tamper-evident digital certificate whose authenticity anyone can verify at a public URL — no login required.

What Nexu Does

A learner starts by creating an account, works through a structured sequence of lessons, and finishes with an official certificate they can share or present to their employer. Each lesson bundles video content, theory blocks, an interactive game, and a final exam; a score of 70 % or higher unlocks the certificate for that lesson. The certificate is generated entirely in the browser — no server-side rendering — as a downloadable PDF with an embedded QR code that points back to the public verification endpoint.
Registro → /ruta → /leccion/:id (bloques) → /leccion/:id/evaluacion → /certificado

Platform Layers

Nexu is split into three distinct layers that every developer should understand before touching the code:
LayerWhat it isWhere it lives
FrontReact app — screens, lesson flow, PDF generationsrc/ → deployed on Vercel
BackFirebase Auth + Firestore + security rulesProject nexu-156ce on Google Cloud
Seed scriptsCLI tools for uploading lesson content to Firestorescripts/ + firestore-seed/
The front acts as a client that reads lesson data and writes learner progress directly to Firestore; there is no large REST API between them. The seed scripts are team utilities run from a terminal — they never run on Vercel.

Tech Stack

TechnologyVersionRole
React18.3UI framework
Vite5Build tool and dev server
TypeScript5.4Type safety across the codebase
Firebase AuthSDK 12Authentication and session management
FirestoreSDK 12Lessons, progress, certificates
Tailwind CSS3.4Utility-first styling
VercelHosting and SPA rewrites
jsPDF + html2canvas4 / 1.4In-browser certificate PDF generation
QRCode1.5QR code embedded in certificate PDF

App Routes

All routes are defined in src/App.tsx. Protected routes redirect unauthenticated visitors to /login.
RouteAuth requiredDescription
/NoWelcome page
/loginNoSign in
/registroNoCreate account
/forgot-passwordNoPassword reset
/rutaYesLearning path — list of all lessons
/leccion/:idYesLesson block flow (video → theory → game)
/leccion/:id/mapaYesVisual lesson map
/leccion/:id/evaluacionYesFinal exam for a lesson
/certificadoYesMy certificates (Firestore)
/certificado/documentoYesOfficial certificate document (PDF view)
/verificar/:codeNoPublic certificate verification
The lesson ID for Lesson 1 is lesson_01_higiene_personal.

Shared Firebase Project

All developers — local and production — point to the same Firebase project: nexu-156ce. Team members with Owner or Editor access share this project. Lesson 1 is already seeded in it, so new developers can test the full learner flow on day one without running any seed commands. In production, the VITE_FIREBASE_* environment variables are set in the Vercel dashboard. In development, if no .env.local is present, src/firebase/config.ts falls back automatically to the shared nexu-156ce credentials so the dev server works out of the box.

Key Features

Quickstart

Clone the repo, configure environment variables, and run the full learner flow locally in under 5 minutes.

Architecture Overview

Deep-dive into the Front / Back / Seed layer split, Firestore collections, and the certificate issuance flow.

Lesson Structure

How lessons, blocks, and questions are modelled in Firestore and rendered in the lesson flow page.

Certificates

How certificates are issued on exam pass, generated as PDFs with QR codes, and verified publicly.

Who This Documentation Is For

This documentation is written for developers building on or maintaining Nexu — whether you are adding new lessons (content + seed), extending the certificate flow, improving the UI, or managing Firebase rules and Vercel deployments. It assumes familiarity with React and TypeScript; no prior BPM domain knowledge is required. If you are a learner looking for the platform itself, visit the deployed app rather than this documentation.

Build docs developers (and LLMs) love