Skip to content

MikaStiebitz/Git-Gud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitGud: Master Git Through Play

GitGud Logo

An interactive Git learning platform that makes mastering Git fun

Try It Live ยท Features ยท Getting Started ยท Contributing

GitHub stars
If you find this project helpful, please consider giving it a star on GitHub!

Next.js 15 TypeScript Tailwind CSS

๐Ÿš€ About The Project

GitGud is an interactive learning platform designed to help developers master Git through hands-on practice. While traditional tutorials often rely on passive learning, GitGud provides a fully simulated Git environment where you can:

  • Execute real Git commands in a safe sandbox
  • See immediate visual feedback
  • Progress through structured, bite-sized challenges
  • Learn Git intuitively through gamification

Whether you're a complete beginner or looking to level up your Git skills, GitGud offers an engaging, interactive approach to learning this essential developer tool.

๐ŸŒ Visit GitGud at www.gitmastery.me to start your journey!

No registration needed!

โœจ Features

๐ŸŽ“ Core Learning Experience

  • ๐Ÿ–ฅ๏ธ Interactive Terminal: Practice Git commands in a realistic simulated environment
  • ๐ŸŽฏ Structured Learning Path: Progress through carefully designed levels of increasing complexity
  • ๐Ÿ“Š Visual Git Status: See your repository status visually update as you work
  • ๐ŸŽฎ Playground Mode: Freely experiment with Git commands without level requirements
  • ๐Ÿ“ Command Cheat Sheet: Quick reference for Git commands with explanations
  • ๐Ÿ“ˆ Progress Tracking: Track your learning journey with a visual progress system
  • ๐ŸŒ Multi-language Support: Available in both English and German

๐ŸŽฎ Gamification & Rewards

  • ๐Ÿช In-Game Shop: Earn points and purchase customization items and power-ups
  • ๐ŸŽจ Terminal Themes: Unlock beautiful terminal themes including Matrix, Golden, and Dark themes
  • ๐Ÿฑ Git Mascot Pet: Purchase an animated mascot that cheers you on during challenging levels
  • ๐Ÿ”Š Victory Sound Pack: Satisfying sound effects when completing levels and achieving milestones
  • โšก Double XP Weekends: Boost your point earning with 2x multiplier for 7 days
  • ๐Ÿ˜Š Emoji Commit Messages: Smart emoji suggestions for better commit messages
  • ๐Ÿ† Achievement Badges: Visual recognition system with special badges and legendary status
  • ๐ŸŽฒ Mini Games: Practice Git skills through fun interactive challenges

๐Ÿ’ป Advanced Features

  • ๐ŸŒ™ Multiple Terminal Themes: Switch between different visual styles
  • ๐Ÿ“ฑ Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
  • โšก Performance Optimized: Fast loading with server-side rendering
  • โ™ฟ Accessibility: Built with accessibility in mind using Radix UI components
  • ๐ŸŽฏ Contextual Help: Smart suggestions and hints based on current level

๐Ÿ› ๏ธ Tech Stack

GitGud is built with modern web technologies to provide the best learning experience:

Frontend Framework

  • Next.js 15 - React framework with server-side rendering, App Router, and performance optimizations
  • TypeScript - Type-safe development with enhanced IDE support and error catching
  • Tailwind CSS - Utility-first CSS framework for rapid, responsive design

UI & UX

  • Radix UI - Headless, accessible UI components for dialogs, accordions, and form elements
  • Lucide React - Beautiful, customizable SVG icon library
  • shadcn/ui - Re-usable component system built on Radix UI and Tailwind CSS

Game Engine & State Management

  • Custom Git Simulation - Full Git repository simulation in the browser
  • React Context API - Global state management for game progress, themes, and user data
  • LocalStorage - Client-side persistence for progress, purchases, and preferences

Developer Experience

  • ESLint & Prettier - Code linting and formatting for consistent code quality
  • TypeScript Strict Mode - Enhanced type checking for robust applications
  • Hot Module Replacement - Fast development with instant updates

Performance & Optimization

  • Next.js Image Optimization - Automatic image optimization and lazy loading
  • Dynamic Imports - Code splitting for faster initial page loads
  • Server Components - Improved performance with server-side rendering

๐Ÿšฆ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm (v8 or higher)

Installation

  1. Clone the repository
git clone https://github.com/yourusername/gitgud.git
cd gitgud
  1. Install dependencies
npm install
  1. Start the development server
npm run dev
  1. Open your browser

Navigate to http://localhost:3000 to start learning Git!

๐Ÿ“š Documentation

For developers and contributors, detailed documentation is available to help you understand the codebase:

๐Ÿค Contributing

We welcome contributions to GitGud! Whether you're fixing bugs, improving the documentation, or adding new features, please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

For more details on the project structure, check the documentation linked above.

๐Ÿ“ Recent Updates & Improvements

  • Enhanced Git Commands: Improved git add functionality to properly track files โœ…
  • Smart Terminal: Enhanced terminal tab suggestion menu with space support โœ…
  • Advanced Rebasing: Added comprehensive rebasing levels and scenarios โœ…
  • Intelligent Suggestions: Implemented advanced terminal command suggestions โœ…
  • Git Push Integration: Added full git push functionality with remote tracking โœ…
  • Gamification System: Complete shop system with themes, mascot, sounds, and XP boosts โœ…
  • Achievement Badges: Visual recognition system with special status indicators โœ…
  • Mobile Optimization: Responsive design improvements for all device sizes โœ…

โญ Support This Project

If you find GitGud helpful in your Git learning journey, please consider:

  • Giving it a star on GitHub: Visit github.com/MikaStiebitz/Git-Gud and click the star button
  • Sharing it with friends and colleagues who are learning Git
  • Contributing to make it even better

Your support helps this educational tool reach more developers!

๐Ÿ“œ License

This project is licensed under the Restricted Use License - see the LICENSE file for details.


Made with โค๏ธ by Mika Stiebitz