Sign inSign up

majdalkayyal/algoforge

By majdalkayyal

•Updated 3 months ago

Image
0

246

majdalkayyal/algoforge repository overview

⁠AlgoForge — LeetCode Mastery Training Platform

A local-first web app that teaches all 20 core algorithm patterns for coding interviews. It ships 234 fully-worked problems with C# solutions, tracks your practice with spaced repetition, and drills you with a built-in code editor, per-problem explanations, and direct LeetCode links.

This image serves the production build as a static PWA behind nginx. Everything runs in the browser — no account, no backend, no external network calls except opening LeetCode.

⁠Quick start

docker run -d -p 31337:80 --name algoforge majdalkayyal/algoforge:latest

Then open http://localhost:31337⁠.

Pick any host port you like:

docker run -d -p 8080:80 majdalkayyal/algoforge:latest   # http://localhost:8080

Or with Compose:

services:
  algoforge:
    image: majdalkayyal/algoforge:latest
    ports:
      - "31337:80"
    restart: unless-stopped

⁠What's inside

  • 20 chapters, 234 problems (Arrays & Hashing → Design). Each problem has 3 escalating hints, a brute-force→optimal write-up, a complete commented C# solution, complexity, a walkthrough, and a working LeetCode link.
  • Dashboard — streaks, today's plan, GitHub-style activity heatmap, per-chapter progress, weakest-pattern panel.
  • Problem workspace — Monaco C# editor, countdown timer, scratchpad, and a Hint→Approach→Solution reveal ladder.
  • Spaced repetition (+1/+3/+7/+14/+30 day SM-2), mock interview mode (company presets), pattern-recognizer trainer, and Big-O / C# reference pages.
  • Installable PWA — fully usable offline after first load (Monaco and all content are cached locally).

⁠Image details

Exposed port80 (nginx)
Basenginx:1.27-alpine (multi-stage build from node:22-alpine)
Architectureslinux/amd64, linux/arm64
HealthcheckGET /healthz → 200 ok
RoutingSPA fallback — deep links like /problem/lc-1 resolve to the app shell

The container serves hashed assets with a long immutable cache and keeps index.html / sw.js no-cache, so app updates ship immediately while big bundles stay cached.

⁠Tags

  • latest — most recent release
  • x.y.z — pinned version (e.g. 1.0.0)

⁠Data & privacy

All user data (attempts, notes, review schedule, pattern drills) lives in the browser's IndexedDB. The container is stateless — nothing is persisted server-side, so no volumes are required. Back up your progress from Settings → Export data inside the app.

⁠Source

Built with React 18 + TypeScript + Vite, Tailwind CSS, Monaco Editor, and Dexie.js.

Tag summary

Content type

Image

Digest

sha256:4952bbf5b…

Size

21.6 MB

Last updated

3 months ago

docker pull majdalkayyal/algoforge