๐ Leer en Espaรฑol
Boost productivity for students and educators with centralized study material
Note Forge is a web app where you store exercises, tag them by subject and difficulty, and drag them into exportable LaTeX study guides.
๐ฎ Live Demo ยท โจ Features ยท ๐ Docs ยท ๐ Issues
Note Forge was born out of a real need: as a tutor at my university, I found myself spending too much time searching for exercises, images, and references to assemble study guides for my students. With materials of varying difficulty, format, and source, the process was inefficient. Note Forge solves that.
| Role | How it helps |
|---|---|
| ๐ Students | Centralize all study material โ exercises, images, and answers โ in one place |
| ๐จโ๐ซ Teaching Assistants | Build study guides from an existing exercise bank with drag-and-drop |
| ๐จโ๐ผ Professors | LaTeX support for distributing exercises across subjects and exporting guides effortlessly |
- ๐จ Modern UX โ rose, amber, and slate color palette with clean, animated UI
- ๐ i18n support โ full English and Spanish translations
- ๐ฎ Interactive demo โ no registration, no Docker, no backend needed. Try it here
- LaTeX Editor โ real-time rendering for equations, matrices, and scientific notation with syntax highlighting
- Rich Metadata โ 5-level difficulty rating, duration estimates, multi-tag support, custom images, and references
- Advanced Search โ filter exercises by subject, difficulty, or whether they include images
- Drag & Drop Interface โ intuitive reordering with smooth animations
- Unified Workspace โ three-panel layout: exercise library, guide metadata, and live preview
- Smart Metrics โ automatic total time calculation (15 min/exercise) and average difficulty with visual indicators
- Export Options โ save drafts and export to LaTeX (
.tex) format
- Flexible Organization โ subject-based categories with custom images, rich descriptions, and unlimited nesting
- Dedicated Views โ hero sections with cover images, tabbed interface (exercises vs. guides), and pinnable favorite subjects
- Complete i18n with English and Spanish
- Full-featured interactive demo with pre-loaded mock data โ no setup required
| Technology | Version | Purpose |
|---|---|---|
| React | 18.3 | UI library with hooks and functional components |
| TypeScript | 5.5 | Type safety and enhanced developer experience |
| Vite | 5.0 | Lightning-fast build tool with instant HMR |
| TailwindCSS | 3.4 | Utility-first CSS for rapid development |
| React Router | 6.x | Client-side routing with nested routes |
| react-i18next | 16.0 | Complete i18n solution with language detection |
| Technology | Version | Purpose |
|---|---|---|
| Node.js | 22+ | JavaScript runtime with ES modules |
| Express | 4.x | Fast, minimalist web framework |
| MySQL | 8.0+ | Relational database with JSON support |
| JWT | 9.x | Stateless authentication tokens |
| bcrypt | 6.0 | Password hashing and security |
- Context API for global state management
- Custom React hooks for reusable logic
- Docker & Docker Compose for containerization
- GitHub Pages for demo deployment
The fastest way to explore Note Forge โ no setup needed:
- Visit xhandlr.github.io/note-forge
- Click "Probar sin registrarse" on the landing page
- Explore full functionality with pre-loaded mock data
The demo includes pre-configured categories, sample exercises with LaTeX, study guides with drag-and-drop, and full search capabilities.
For local development:
- โ Node.js v22.x+ โ Download
- โ MySQL 8.0+ โ Installation Guide
- ๐ณ Docker/Podman (optional) โ Get Docker
- ๐ฆ npm or pnpm โ comes with Node.js
1. Clone the repository
git clone https://github.com/xhandlr/note-forge.git
cd note-forge2. Set up the database
mysql -u root -p
source db/init.sql3. Configure environment variables
cp note-forge-api/.env.example note-forge-api/.env
# Edit .env with your database credentials:
# DB_HOST=localhost
# DB_USER=root
# DB_PASSWORD=your_password
# DB_NAME=note_forge
# JWT_SECRET=your_secret_key4. Start the backend
cd note-forge-api
npm install
node index.js
# API running at http://localhost:50005. Start the frontend
cd note-forge-ui
npm install
npm run dev
# App running at http://localhost:5173git clone https://github.com/xhandlr/note-forge.git
cd note-forge
docker-compose up -d
# Visit http://localhost:5173To stop:
docker-compose downnote-forge/
โ
โโโ db/ # Database layer
โ โโโ init.sql # Initial schema and tables
โ โโโ init_test.sql # Test schema
โ
โโโ note-forge-api/ # Backend (Node.js + Express)
โ โโโ config/ # Database and auth configuration
โ โโโ controllers/ # Request handlers
โ โโโ services/ # Business logic layer
โ โโโ models/ # Data models and SQL queries
โ โโโ routes/ # API endpoint definitions
โ โโโ middleware/ # JWT authentication
โ โโโ .env.example # Environment template
โ โโโ index.js # Server entry point
โ
โโโ note-forge-ui/ # Frontend (React + TypeScript)
โ โโโ public/ # Static assets
โ โโโ src/
โ โโโ assets/ # Images, fonts
โ โโโ components/
โ โ โโโ UI/ # Reusable components
โ โ โโโ Dashboard/ # Navbar, Footer
โ โโโ contexts/ # React Context (Demo, Notifications)
โ โโโ pages/ # Route-based views
โ โ โโโ Auth/ # Home, Login, Registration
โ โ โโโ Categories/ # Category views and forms
โ โ โโโ Exercises/ # Exercise views and forms
โ โ โโโ Guides/ # Guide builder workspace
โ โ โโโ Dashboard/ # Main dashboard
โ โ โโโ Search/ # Search page
โ โโโ services/ # API services
โ โโโ mocks/ # Mock data for demo mode
โ โโโ i18n/ # EN/ES translations
โ
โโโ docker-compose.yml
โโโ README.md
โโโ README_ES.md
โโโ LICENSE
This project is licensed under the MIT License.
Built with ๐ฉท๐๐ฉท by xhandlr
If you find this project useful, consider giving it a โญ on GitHub!



