- π― The Problem & Solution
- β¨ Key Features
- π₯ Who Is This For
- π§ Project Status & Roadmap
- π οΈ Tech Stack
- β‘ Getting Started
- ποΈ Project Structure
- π€ Contributions
Students and educators often struggle with:
- π Scattered Materials: Practice problems spread across PDFs, websites, and notebooks.
- π Poor Organization: Hard to find specific exercises when you need them.
- β° Time-Consuming Setup: Manually organizing materials takes time away from actual learning.
Note Forge makes educational content management easy:
- π― Unified Platform: All exercises, categories, and study materials in one place.
- π·οΈ Smart Organization: Tag-based system with custom categories for quick retrieval.
- β‘ Quick Setup: Get organized in minutes, not hours.
Keep your study materials, guides, and exercises neatly organized in categories β no more scattered files!
Reuse exercises youβve already created by storing them in Note Forge, and export new study material in PDF format.
Quickly generate study materials with LaTeX styling, perfect for preparing exercises on demand.
- Create & Customize: Text editor with LaTeX support for mathematical expressions
- Smart Tagging: Organize with custom tags, difficulty levels, and time estimates
- Quick Search: Find exercises instantly by title, tags, or content
- Flexible Organization: Create subject-based, difficulty-based, or custom taxonomies
- Visual Categories: Add images and descriptions to make browsing intuitive
- Pin Important: Mark frequently-used categories for quick access
- Adaptive Selection: Generate guides based on difficulty progression
- Time-Based Sessions: Create study sessions fitting your available time
- Export Options: Generate PDFs for offline studying
- π Started: January 2025
- π» Active Development: Yes
- π Documentation: Continuously updated
| Feature | Status |
|---|---|
| UI/UX Redesign | π‘ 50% |
| API & UI Testing | π‘ 50% |
| Documentation | π‘ 50% |
| Feature | Priority |
|---|---|
| Responsive Layout | πΈ Medium |
| Error Handling | πΈ Medium |
π¨ Frontend
- React 18 + Vite
- TailwindCSS
βοΈ Backend
- Node.js (Express)
- MySQL 8.0+
π³ Infrastructure
- Docker/Podman
Make sure you have these installed:
- β
Node.js
v22.x+ - β
MySQL
8.0+ - π³ Docker/Podman (optional)
- Clone the repository
git clone https://github.com/xhandlr/note-forge.gitcd note-forge- Set up the database
Make sure MySQL is running, then log into your MySQL client and execute the script located a db/init.sql.
- Configure environment variables
cp note-forge-api/.env.example note-forge-api/.envEdit the new .env file and update your DB credentials and JWT_SECRET.
- Start the backend
cd note-forge-apinpm installnode index.jsBy default, the API will run at: http://localhost:5000
- Start the frontend
cd ../note-forge-uinpm installnpm run devAccess the app at: http://localhost:5173
If you prefer to run the app using containers:
- Clone the repository
git clone https://github.com/xhandlr/note-forge.gitcd note-forge- Start services with Docker Compose
docker-compose up -dThis will start:
-
MySQL with initial schema
-
Backend API
-
Frontend UI
Visit http://localhost:5173 to use the app.
note-forge/
β£ββ ποΈ db/ β Database scripts (SQL files)
β
β£ββ β‘ note-forge-api/ β Backend service
β β£ββ config/ β App configuration
β β£ββ controllers/ β Request handlers
β β£ββ services/ β Business logic
β β£ββ models/ β Data models
β βββ routes/ β API endpoints
β
β£ββ π¨ note-forge-ui/ β Frontend client
β β£ββ src/components/ β React components
β β£ββ src/pages/ β Application views
β
βββ π³ docker-compose.yml β Container configContributions, bug reports, and feature suggestions are welcome! Feel free to open an issue or submit a pull request.