Skip to content

spigelspike/PyPath-Interactive-Python-Learning-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PyPath Logo

PyPath โ€” Interactive Python Learning Platform

From absolute beginner to job-ready backend developer. Zero setup. 100% free.


Status Python License Modules Lessons Projects Serverless



๐Ÿš€ Get Started ย ยทย  ๐Ÿ“š Curriculum ย ยทย  โœจ Features ย ยทย  ๐Ÿ“‚ Project Structure ย ยทย  ๐Ÿค Contributing


๐ŸŒŸ What is PyPath?

PyPath is a fully serverless, browser-based Python learning platform that takes absolute beginners all the way to job-ready developers โ€” with zero installation required.

Write and run real Python code directly in your browser using Pyodide (WebAssembly). Complete structured lessons, tackle daily challenges, build portfolio projects, earn XP and badges, and unlock a Completion Certificate when you finish all 8 modules.

๐Ÿ”’ All your progress, code snippets, and profile data is saved privately in your browser's localStorage. No accounts, no servers, no data collection.


โœจ Features

Feature Description
๐Ÿ Live Python Execution Run Python 3.10 in the browser via Pyodide (WebAssembly) โ€” no backend, works offline
๐Ÿ—บ๏ธ Structured Roadmap 8 progressive modules from beginner to job-ready, with strict project-gating between modules
๐ŸŽฎ Gamification System Earn XP, level up (10 levels), unlock 40 badges, and maintain daily streaks
๐Ÿ† Completion Certificate Receive a personalized, printable certificate after finishing all 8 modules and their projects
๐Ÿ’ป Rich Code Editor CodeMirror editor with syntax highlighting, Dracula/Monokai/Material themes, and adjustable font size
๐Ÿงช Daily Challenges 50 hand-crafted challenges across 5 topics, auto-tested against real test cases
๐Ÿ“Š Visual Dashboard Skill radar chart, XP history graph, badge showcase and activity streak calendar
๐ŸŽฏ Interview Prep 100 curated Python interview questions with full answers
๐Ÿ“– Cheat Sheet 20-section searchable quick reference from data types to Docker
๐Ÿ”— Code Sharing Share playground code via a URL link (Base64 encoded, no server needed)
๐Ÿ‘ค Custom Profiles Set your name, focus area, daily goal, and upload a profile photo
๐Ÿ“ฑ Fully Responsive Works on desktop, tablet, and mobile

๐Ÿš€ Getting Started

PyPath is a pure static site โ€” no npm, no build step, no database, no server.

Option 1 โ€” Python (Simplest)

git clone https://github.com/yourusername/pypath.git
cd pypath
python -m http.server 8000

Then open http://localhost:8000 in your browser.

Option 2 โ€” VS Code Live Server

  1. Open the project folder in VS Code.
  2. Install the Live Server extension.
  3. Right-click index.html โ†’ "Open with Live Server".

Option 3 โ€” Node.js serve

npx serve .

โš ๏ธ Important: Always open PyPath via a local server (not by double-clicking index.html). The browser blocks Pyodide from loading when using file:// protocol.


๐Ÿ“š Curriculum Roadmap

PyPath consists of 8 progressive modules. Each module ends with a real portfolio project that must be completed before the next module unlocks.

Module 1 โ€” Python Foundations (5 hours ยท 8 lessons)
# Lesson
1.1 What is Python? Why Python?
1.2 Installing Python and Setting up VS Code
1.3 Your First Program โ€” Hello World and print()
1.4 Variables and Data Types
1.5 User Input and Type Conversion
1.6 Operators
1.7 String Methods and F-Strings
1.8 Comments, Docstrings and Code Style

๐Ÿ”จ Module Project: [P2] Password Generator

Module 2 โ€” Control Flow (4 hours ยท 7 lessons)
# Lesson
2.1 If, Elif and Else Statements
2.2 Nested Conditions and Logical Operators
2.3 While Loops
2.4 For Loops
2.5 Nested Loops
2.6 Loop Patterns and Common Algorithms
2.7 Exception Handling

๐Ÿ”จ Module Project: [P1] Number Guessing Game

Module 3 โ€” Data Structures (7 hours ยท 9 lessons)
# Lesson
3.1 Lists โ€” Creating, Indexing and Slicing
3.2 List Methods
3.3 Tuples
3.4 Dictionaries
3.5 Dictionary Methods and Iteration
3.6 Sets
3.7 List and Dict Comprehensions
3.8 Stacks and Queues using Lists
3.9 Working with Nested Data Structures

๐Ÿ”จ Module Project: [P6] Simple To-Do List CLI

Module 4 โ€” Functions and Modules (6 hours ยท 8 lessons)
# Lesson
4.1 Defining Functions
4.2 Default and Keyword Arguments
4.3 *args and **kwargs
4.4 Lambda Functions and map/filter/reduce
4.5 Scope
4.6 Recursion
4.7 Python Standard Library
4.8 Creating and Importing Your Own Modules

๐Ÿ”จ Module Project: [P8] Unit Converter

Module 5 โ€” Object-Oriented Programming (7 hours ยท 8 lessons)
# Lesson
5.1 What is OOP?
5.2 init, Instance Variables and Methods
5.3 Inheritance and super()
5.4 Method Overriding and Polymorphism
5.5 Encapsulation
5.6 Class Methods and Static Methods
5.7 Magic and Dunder Methods
5.8 Abstract Classes and Interfaces

๐Ÿ”จ Module Project: [P17] Student Management System

Module 6 โ€” File Handling and APIs (5 hours ยท 7 lessons)
# Lesson
6.1 Reading and Writing Text Files
6.2 Working with CSV Files
6.3 JSON
6.4 Introduction to APIs
6.5 Calling APIs with requests
6.6 Parsing API Responses and Error Handling
6.7 Building a Simple REST Client

๐Ÿ”จ Module Project: [P11] Weather App API

Module 7 โ€” Advanced Python (8 hours ยท 9 lessons)
# Lesson
7.1 Decorators
7.2 Generators and Iterators
7.3 Context Managers
7.4 Threading and Multiprocessing Basics
7.5 Async Python
7.6 Regular Expressions
7.7 Virtual Environments and pip
7.8 Testing with pytest
7.9 Logging, Profiling and Debugging

๐Ÿ”จ Module Project: [P13] Job Listings Web Scraper

Module 8 โ€” Job-Ready Python (7 hours ยท 7 lessons)
# Lesson
8.1 Introduction to FastAPI
8.2 Building REST APIs with FastAPI
8.3 Database Basics โ€” SQLite
8.4 ORM Basics with SQLAlchemy
8.5 Authentication
8.6 Docker Basics
8.7 Deploying to the Cloud

๐Ÿ”จ Module Project: [P19] Full REST API


๐Ÿ—๏ธ How the Progression System Works

๐Ÿ“ฆ Module 1 Lessons (8 lessons)
        โ†“ (all lessons complete)
๐Ÿ”จ Module 1 Project (Password Generator)
        โ†“ (project marked complete)
๐Ÿ”“ Module 2 Unlocks
        โ†“
...and so on until Module 8.
        โ†“
๐Ÿ† Completion Certificate Unlocked!

The next module stays locked until you finish every lesson AND the required project for the current module. This ensures real mastery before advancing.


๐Ÿ› ๏ธ Technologies Used

Technology Version Purpose
HTML5 / CSS3 / Vanilla JS โ€” App structure, styling, and all logic โ€” no frameworks
Pyodide v0.25.0 Compiles CPython to WebAssembly for in-browser Python execution
CodeMirror v5.65.16 Themeable code editor with syntax highlighting
Chart.js Latest CDN Skill radar chart and XP history graph in the dashboard
Canvas Confetti Latest CDN Celebratory particle effects on level-up
Font Awesome v6 All icons throughout the UI

๐Ÿ“‚ Project Structure

pypath/
โ”œโ”€โ”€ index.html                  # Application shell, navbar, CDN imports
โ”œโ”€โ”€ README.md                   # This file
โ””โ”€โ”€ assets/
    โ”œโ”€โ”€ logo.png                # PyPath brand logo
    โ”œโ”€โ”€ css/
    โ”‚   โ””โ”€โ”€ styles.css          # Full UI โ€” dark theme, neon accents, certificate, responsive
    โ””โ”€โ”€ js/
        โ”œโ”€โ”€ app.js              # Core logic: routing, rendering, gamification, certificate
        โ”œโ”€โ”€ data.js             # Master data: module seeds, projects, challenges, quiz topics
        โ””โ”€โ”€ modules/
            โ”œโ”€โ”€ module1.js      # Python Foundations lesson details
            โ”œโ”€โ”€ module2.js      # Control Flow lesson details
            โ”œโ”€โ”€ module3.js      # Data Structures lesson details
            โ”œโ”€โ”€ module4.js      # Functions and Modules lesson details
            โ”œโ”€โ”€ module5.js      # Object-Oriented Programming lesson details
            โ”œโ”€โ”€ module6.js      # File Handling and APIs lesson details
            โ”œโ”€โ”€ module7.js      # Advanced Python lesson details
            โ””โ”€โ”€ module8.js      # Job-Ready Python lesson details

Architecture note: Each moduleX.js attaches its content to window.moduleXLessonDetails. The data.js file merges this into the master module list at startup, keeping each module's content fully independent and easy to maintain.


๐ŸŽจ UI / UX Highlights

  • ๐ŸŒ‘ Dark Neon Theme โ€” CSS variables for a hacker-friendly aesthetic with cyan and gold accents
  • ๐Ÿ“ Three-Panel Layout โ€” Sidebar navigation, main content, and live code editor side by side
  • ๐Ÿ”’ Visual Module Locking โ€” Locked modules show a padlock icon; unlocked ones show their number
  • ๐Ÿ† Printable Certificate โ€” A landscape-formatted PDF-ready certificate with your name and the PyPath logo
  • โœจ Micro-interactions โ€” Hover effects, XP toast popups, confetti on level-up, smooth progress bars

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes and commit: git commit -m 'Add: your feature description'
  4. Push to your branch: git push origin feature/your-feature-name
  5. Open a Pull Request

To add a new lesson or improve an existing one, edit the relevant assets/js/modules/moduleX.js file. Each lesson object follows this schema:

"X.Y": {
  objectives: ["..."],
  explanation: "...",
  example: "...",    // runnable Python code
  exercisePrompt: "...",
  commonMistakes: [["mistake", "fix"], ...],
  quiz: [{ question, options, answer, explanation }, ...]
}

๐Ÿ“ License

This project is open-source and available under the MIT License.



Built with โค๏ธ for Python learners everywhere.

PyPath โ€” Learn Python. Build Projects. Get Hired.

About

Serverless Python learning platform built with Pyodide (WebAssembly) + Vanilla JS. 8 progressive modules, 63 lessons, gamification, daily challenges, interview prep & printable completion certificate.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors