Skip to content

Modern educational platform for organizing study materials with LaTeX support, drag-and-drop interface, and interactive demo mode. Features a polished UI/UX with i18n, real-time preview, and advanced filtering. Perfect for students, teachers, and teaching assistants.

License

Notifications You must be signed in to change notification settings

xhandlr/note-forge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Note Forge

Empowering students and educators with organized knowledge


πŸ“Š Project ⚑ Tech Stack 🀝 Community
Status React Issues
License Node.js Contributors
MySQL

Table of Contents


The Problem & Solution

The Challenge

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.

The Solution

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.

Who Is This For?

Students πŸ‘¨β€πŸŽ“

Keep your study materials, guides, and exercises neatly organized in categories β€” no more scattered files!

Educators πŸ‘©β€πŸ«

Reuse exercises you’ve already created by storing them in Note Forge, and export new study material in PDF format.

Teaching Assistants πŸ‘¨β€πŸ’Ό

Quickly generate study materials with LaTeX styling, perfect for preparing exercises on demand.


Key Features

πŸ“ Exercise Management

  • 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

πŸ“ Custom Categories

  • 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

πŸ“š Study Guide Generator (Working on it)

  • 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

Project Status & Roadmap

  • πŸ“… Started: January 2025
  • πŸ’» Active Development: Yes
  • πŸ“ Documentation: Continuously updated

🚧 Current Work

Feature Status
UI/UX Redesign 🟑 50%
API & UI Testing 🟑 50%
Documentation 🟑 50%

πŸ“‹ Backlog

Feature Priority
Responsive Layout πŸ”Έ Medium
Error Handling πŸ”Έ Medium

Tech Stack

🎨 Frontend

  • React 18 + Vite
  • TailwindCSS

βš™οΈ Backend

  • Node.js (Express)
  • MySQL 8.0+

🐳 Infrastructure

  • Docker/Podman

Getting Started

Prerequisites

Make sure you have these installed:

  • βœ… Node.js v22.x+
  • βœ… MySQL 8.0+
  • 🐳 Docker/Podman (optional)

Manual Installation

  1. Clone the repository
git clone https://github.com/xhandlr/note-forge.git
cd note-forge
  1. Set up the database

Make sure MySQL is running, then log into your MySQL client and execute the script located a db/init.sql.

  1. Configure environment variables
cp note-forge-api/.env.example note-forge-api/.env

Edit the new .env file and update your DB credentials and JWT_SECRET.

  1. Start the backend
cd note-forge-api
npm install
node index.js

By default, the API will run at: http://localhost:5000

  1. Start the frontend
cd ../note-forge-ui
npm install
npm run dev

Access the app at: http://localhost:5173

Docker Installation

If you prefer to run the app using containers:

  1. Clone the repository
git clone https://github.com/xhandlr/note-forge.git
cd note-forge
  1. Start services with Docker Compose
docker-compose up -d

This will start:

  • MySQL with initial schema

  • Backend API

  • Frontend UI

Visit http://localhost:5173 to use the app.


Project Structure

πŸ“¦ Monorepo Structure

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 config

Contributions

Contributions, bug reports, and feature suggestions are welcome! Feel free to open an issue or submit a pull request.

About

Modern educational platform for organizing study materials with LaTeX support, drag-and-drop interface, and interactive demo mode. Features a polished UI/UX with i18n, real-time preview, and advanced filtering. Perfect for students, teachers, and teaching assistants.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published