Getting Inforario running on your local machine takes just a few commands. The frontend is a standard Vite + React project, and the optional backend services (Supabase auth, cloud persistence, and AI extraction) are isolated behind environment variables so you can skip them entirely if you only need PDF parsing.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/DavidCevallos15/inforario-IA-null/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure you have the following installed:- Node.js v18 or later
- npm v9 or later
- (Optional) Supabase CLI — only needed for local Edge Functions or a local Supabase instance
Run the Frontend
Install frontend dependencies
Move into the This installs React 19, pdfjs-dist, Tesseract.js, Framer Motion, Supabase JS client, jsPDF, Three.js, and the rest of the dependency tree defined in
frontend directory and install all npm packages:frontend/package.json.Configure environment variables
Create a You can find both values in your Supabase project dashboard under Settings → API.
.env.local file inside the frontend/ directory with your Supabase project credentials:The app works without Supabase for core PDF parsing. If you leave these variables empty or skip this file entirely, the local
sguRegexParser.ts will still parse and render your UTM SGU schedule. Supabase is only required for cloud save, user authentication, and Google Calendar sync features. Guest mode is fully functional.Start the Vite development server
From inside the Vite will compile the project and start a local server. Open your browser and navigate to:
frontend/ directory, run:Upload your UTM SGU schedule PDF
Once the app loads, you’ll see the Inforario landing page with a drag-and-drop upload zone. Drop your UTM SGU schedule PDF onto the zone (or click to browse). The app will:
- Extract text from your PDF using pdfjs-dist in the browser.
- Run the local
sguRegexParserto identify subjects, time blocks, classroom codes, and teachers. - Fall back to the Groq AI Edge Function if the regex parser can’t parse the document confidently.
- Render your timetable in the interactive Dashboard view.
Run with Backend Services
For the full experience — including the AI extraction fallback (extract-schedule Edge Function) and Google Calendar sync — you can run both the Vite dev server and the Supabase Edge Functions simultaneously.
Option A: Vite + Edge Functions (Recommended)
Thedev:web script uses concurrently to spin up both processes in a single terminal session:
| Process | Description |
|---|---|
FUNC | Serves the extract-schedule Supabase Edge Function locally using the Supabase CLI, with its own .env file at backend/supabase/functions/extract-schedule/.env |
VITE | Starts the Vite dev server on http://localhost:3000 |
Option B: Local Supabase Instance
If you want a fully self-contained local environment with a local PostgreSQL database and auth server, start the local Supabase stack first:cd ../backend && supabase start under the hood and launches the full Supabase local stack (database, auth, storage, and Edge Functions runtime) via Docker. Once it’s running, the CLI will print your local SUPABASE_URL and ANON_KEY — update your frontend/.env.local with those values, then run npm run dev or npm run dev:web as usual.
Available npm Scripts
| Script | Command | Description |
|---|---|---|
dev | vite | Starts the Vite dev server on port 3000 |
build | tsc && vite build | Type-checks and builds the production bundle |
dev:web | concurrently ... | Runs Vite + extract-schedule Edge Function concurrently |
start:supa | cd ../backend && supabase start | Starts the local Supabase Docker stack |