Skip to content

progressive interactive lesson plan to learn the fundamentals and more challenging aspects of git.

Notifications You must be signed in to change notification settings

jaysonsao/LearnGit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JitHub: Learn how to use Git

This repo scaffolds a web app that teaches Git through interactive lessons. Users type commands into a browser terminal, which run inside an isolated Git sandbox per session. The server evaluates progress by inspecting repo state.

Structure

  • apps/api: Fastify API + WebSocket server
  • apps/web: Next.js UI (lesson panel + terminal + repo state)
  • packages/shared: Shared types + protocol
  • sandbox: Dockerfile for the Git sandbox image

Quick Start

  1. Install dependencies at the repo root.
  2. Start API and web in two terminals, or use the root dev script.
npm install
npm run dev

API defaults to http://localhost:3001, web defaults to http://localhost:3000.

Environment

Copy the .env.example files and adjust as needed.

  • apps/api/.env.example
  • apps/web/.env.example

Notes

  • The sandbox manager is stubbed for now; wire in Docker/Podman in apps/api/src/sandbox/dockerManager.ts.
  • The lesson format lives in JSON under apps/api/lessons (3 starter lessons included).

About

progressive interactive lesson plan to learn the fundamentals and more challenging aspects of git.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages