Skip to content

darkcom109/iGITit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iGITit

Learn Git by doing inside a guided, sandboxed lesson runner built with Django.

Tech stack

Python Django PostgreSQL SQLite Gunicorn WhiteNoise Render Git

Quick start (local)

Prereqs: Python 3.12+, pip, git.

python -m venv .venv
.\.venv\Scripts\activate  # on Windows (PowerShell); use `source .venv/bin/activate` on macOS/Linux
pip install -r requirements.txt
python manage.py migrate
python manage.py seed_lessons
python manage.py runserver

Visit http://localhost:8000 and sign up. Lessons live under /lessons/; the guided terminal is in the lesson play view.

Environment

  • SECRET_KEY (required in production)
  • DEBUG (default True; set False in production)
  • ALLOWED_HOSTS (comma-separated hostnames)
  • CSRF_TRUSTED_ORIGINS (comma-separated origins, e.g. https://yourapp.onrender.com)
  • DATABASE_URL (Postgres URL; auto-provided by Render Postgres)

Static files are served by WhiteNoise; collectstatic writes to staticfiles/.

Deployment (Render)

  • render.yaml + Procfile are included. Render commands:
    • Build: pip install -r requirements.txt && python manage.py collectstatic --noinput
    • Start: python manage.py migrate --noinput && gunicorn igitit.wsgi:application --bind 0.0.0.0:$PORT
  • Add a Render Postgres instance (sets DATABASE_URL automatically).
  • Set ALLOWED_HOSTS and CSRF_TRUSTED_ORIGINS to your Render domain.
  • Auto-deploy from your Git branch if desired.

Features

  • Lesson catalog with progress tracking and dashboard.
  • Guided lesson “play” view with a sandboxed git runner and command logs.
  • Step validators for common git tasks (status/add/commit/branch/merge/stash/reset/etc.).
  • Resettable per-user workspaces.

Data seeding

Run python manage.py seed_lessons anytime to (re)load the bundled lessons and steps.

Notes

  • Uses SQLite locally by default; switches to Postgres automatically when DATABASE_URL is set.
  • Static assets: static/ (source), staticfiles/ (collected for production).

About

iGITit is a Practical Learning Platform For Beginners Interested in How To Use GIT, Teaching Intermediate and Basic Commands in a Working GIT Terminal Built Using Django and Deployed on Render

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors