3bd9a/BAC-System
Project Overview
BAC-System (BAC 2027 Intelligent Study Operating System)
A study app combining spaced repetition flashcards, Pomodoro timers, and gamified progress tracking for exam prep.
True Intent (AI Assessment)
A personal, local-first study operating system for BAC exam preparation, merging spaced-repetition flashcards, Pomodoro timing, and gamified analytics.
README Accuracy
Notes
No README to verify against, but the source code is internally consistent with a legitimate study application. No network exfiltration, obfuscation, or suspicious behavior observed. Code includes deliberate XSS-mitigation utilities. The 'BAC' here clearly means Baccalaureate exam, not anything malicious.
This is a self-hosted study management web application built for students preparing for the Baccalaureate (BAC) exam, apparently targeting the year 2027. It combines a spaced-repetition flashcard system (using the FSRS algorithm), a Pomodoro focus timer, an XP/gamification layer, and analytics dashboards into one local-first study tool. The interface includes Arabic-language comments, suggesting it is built by and for an Arabic-speaking student.
The problem it solves is fragmented study tooling. Instead of using separate apps for flashcards (like Anki), focus timing (Pomodoro), and progress tracking, this app bundles all of them into a single Node.js server with HTML/JS frontend. It also integrates with an Obsidian-style Markdown 'vault', parsing wikilinks, tags, frontmatter, and embeds so study notes can feed directly into the system.
The intended user is an individual student (likely the author themselves) running the app locally on their own machine via 'start.bat' or 'npm start'. It is not a multi-user SaaS product; there is no authentication, and most state is stored in browser localStorage plus a local SQLite database file. Users review flashcards, run timed study sessions, and watch their stats and XP grow.
Technically, it runs an Express-style Node server (server.js) backed by a better-sqlite3 database storing study sessions, XP events, achievements, and pre-computed daily stats. The FSRS algorithm (ported from simple-ts-fsrs) schedules card reviews scientifically based on stability and retrievability. The vault-parser.js uses gray-matter and chokidar to read and watch Markdown files. The frontend (app.js, cards.html, review.html, index.html) dynamically imports modular Pomodoro components and renders charts via Chart.js.
Notable patterns: the code shows clear security awareness, with explicit XSS-prevention utilities (sanitizeHTML, setSafeHTML using textContent) and comments documenting fixes to avoid function conflicts. This indicates an iterating, security-conscious solo developer. No README exists, package.json metadata is mostly empty, and there are no obvious red flags or malicious behavior — it reads as a genuine personal study tool.
| Languages | JavaScript, HTML, CSS, Batchfile |
| Runtime | Node.js (CommonJS server, ES module frontend imports) |
| Framework | None (vanilla Node HTTP server and vanilla JS frontend) |
| Database | SQLite (via better-sqlite3) plus browser localStorage |
| Package Manager | npm |
| Key Dependencies | better-sqlite3, chart.js, chokidar, gray-matter |
| Build Tool | None |
| Test Framework | Node.js built-in test runner (node --test) |