Skip to content

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

Personal platform to organize exercises, categories, and study guides. Built with React, Node.js, and MySQL.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •