---
title: "Curated List of Project-Based Tutorials"
url: https://stacklist.com/card/04e04f7d-e06d-41c7-aad4-48054efd0893
source_url: "https://github.com/practical-tutorials/project-based-learning"
stack: https://stacklist.com/c/technology/stack/699a03a7-094b-4fad-9d3e-a8f758e48f3c
summary: "Project Based Learning is a GitHub repository containing a comprehensive list of programming tutorials where developers learn to build applications from scratch across multiple languages. The tutorials cover diverse technologies including C/C++, Python, JavaScript, Java, and others, with projects ranging from interpreters and compilers to games and operating systems."
tags: "project-based-learning, programming-tutorials, github-repository, software-development, multi-language, hands-on-coding"
key_entities: "GitHub (organization), C/C++ (technology), Python (technology), JavaScript (technology), Java (technology), Clojure (technology), Dart (technology), Rust (technology), OpenGL (technology), LLVM (technology), ASP.NET Core (technology), Flutter (technology), Compiler Design (concept), Game Development (concept), Operating Systems (concept), Network Programming (concept)"
classification: "reference"
content_hash: "sha256:9e6761d4a96f75fce8ffbf5a1e15e628627ad6cfb34acc4993f7f28936bdf6ff"
acp_version: "0.2"
token_counts_approximate: 4211
visibility: public
agent_accessible: true
status: "final"
---

# Curated List of Project-Based Tutorials

Project Based Learning A list of programming tutorials in which aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages. To get started, simply fork this repo. Please refer to CONTRIBUTING.md for contribution guidelines. Table of Contents: C# C/C++ Clojure Dart Elixir Erlang F# Go Haskell HTML/CSS Java JavaScript Kotlin Lua OCaml PHP Python R Ruby Rust Scala Swift Additional resources C/C++: Build an Interpreter (Chapter 14 on is written in C) Memory Allocators 101 - Write a simple memory allocator Write a Shell in C Write a FUSE Filesystem Build Your Own Text Editor Build Your Own Lisp How to Program an NES Game in C Write an OS from scratch How to create an OS from scratch Building a CHIP-8 Emulator Beginning Game Programming with C++ and SDL Implementing a Key-Value Store Tiny 3D graphics projects Tiny Renderer or how OpenGL works: software rendering in 500 lines of code Understandable RayTracing in 256 lines of bare C++ KABOOM! in 180 lines of bare C++ 486 lines of C++: old-school FPS in a weekend Writing a minimal x86-64 JIT compiler in C++ Part 1 Part 2 Build a Live Code-reloader Library for C++ Write a hash table in C Let's Build a Simple Database Let's Write a Kernel Write a Bootloader in C Linux Container in 500 Lines of Code Write Your Own Virtual Machine Learning KVM - Implement Your Own Linux Kernel Build Your Own Redis with C/C++ Write a C compiler Part 1: Integers, Lexing and Code Generation Part 2: Unary Operators Part 3: Binary Operators Part 4: Even More Binary Operators Part 5: Local Variables Part 6: Conditionals Part 7: Compound Statements Part 8: Loops Part 9: Functions Part 10: Global Variables Implementing a Language with LLVM Meta Crush Saga: a C++17 compile-time game High-Performance Matrix Multiplication Space Invaders from Scratch Part 1 Part 2 Part 3 Part 4 Part 5 Tetris Tutorial in C++ Platform Independent Writing a Linux Debugger Part 1: Setup Part 2: Breakpoints Part 3: Registers and memory Part 4: Elves and dwarves Part 5: Source and signals Part 6: Source-level stepping Part 7: Source-level breakpoints Part 8: Stack unwinding Part 9: Handling variables Part 10: Advanced topics Let's write a compiler Part 1: Introduction, selecting a language, and doing some planning Part 2: A lexer Part 3: A parser Part 4: Testing Part 5: A code generator Part 6: Input and output Part 7: Arrays Part 8: Strings, forward references, and conclusion Network programming Let's Code a TCP/IP Stack Part 1: Ethernet &amp; ARP Part 2: IPv4 &amp; ICMPv4 Part 3: TCP Basics &amp; Handshake Part 4: TCP Data Flow &amp; Socket API Part 5: TCP Retransmission Programming concurrent servers Part 1 - Introduction Part 2 - Threads Part 3 - Event-driven Part 4 - libuv Part 5 - Redis case study Part 6 - Callbacks, Promises and async/await MQTT Broker from scratch Part 1 - The protocol Part 2 - Networking Part 3 - Server Part 4 - Data structures Part 5 - Topic abstraction Part 6 - Handlers Bonus - Multithreading OpenGL: Creating 2D Breakout game clone in C++ with OpenGL Breakout Setting up Rendering Sprites Levels Collisions Ball Collision detection Collision resolution Particles Postprocessing Powerups Audio Render text Final thoughts Handmade Hero How to Make Minecraft in C++/OpenGL (video) C#: Learn C# By Building a Simple RPG Game Create a Rogue-like game in C# Create a Blank App with C# and Xamarin (work in progress) Build iOS Photo Library App with Xamarin and Visual Studio Building the CoreWiki This is a Wiki-style content management system that has been completely written in C# with ASP.NET Core and Razor Pages. You can find the source code here . Clojure: Build a Twitter Bot with Clojure Building a Spell-Checker Building a JIRA integration with Clojure &amp; Atlassian Connect Prototyping with Clojure Tetris in ClojureScript Dart: Flutter: Amazon Clone with Admin Panel Food Delivery App Google Docs Clone Instagram Clone Multiplayer TicTacToe Game TikTok Clone Ticket Booking App Travel App Twitch Clone WhatsApp Clone Wordle Clone Zoom Clone Netflix Clone Elixir Building a Simple Chat App With Elixir and Phoenix How to write a super fast link shortener with Elixir, Phoenix, and Mnesia Erlang ChatBus : build your first multi-user chat room app with Erlang/OTP Making a Chat App with Erlang, Rebar, Cowboy and Bullet F#: Write your own Excel in 100 lines of F# Java: Build an Interpreter (Chapter 4-13 is written in Java) Build a Simple HTTP Server with Java Build an Android Flashlight App (video) Build a Spring Boot App with User Authentication JavaScript: Build 30 things in 30 days with 30 tutorials Build an App in Pure JS Build a Jupyter Notebook Extension Build a TicTacToe Game with JavaScript Build a Simple Weather App With Vanilla JavaScript Build a Todo List App in JavaScript HTML and CSS: Build A Loading Screen Build an HTML Calculator with JS Build Snake using only JavaScript, HTML &amp; CSS Mobile Application: Build a React Native Todo Application Build a React Native Application with Redux Thunk Web Applications: React: Create Serverless React.js Apps Create a Trello Clone Create a Character Voting App with React, Node, MongoDB and SocketIO React Tutorial: Cloning Yelp Build a Full Stack Movie Voting App with Test-First Development using Mocha, React, Redux and Immutable Build a Twitter Stream with React and Node Build A Simple Medium Clone using React.js and Node.js Integrate MailChimp in JS Build A Chrome Extension with React + Parcel Build A ToDo App With React Native Make a Chat Application Create a News App with React Native Learn Webpack For React Testing React App With Puppeteer and Jest Build Your Own React Boilerplate Code The Game Of Life With React A Basic React+Redux Introductory Tutorial Build an Appointment Scheduler Build A Chat App with Sentiment Analysis Build A Full Stack Web Application Setup Create Todoist clone with React and Firebase Build A Random Quote Machine Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 React Phone E-Commerce Project(video) Angular: Build an Instagram Clone with Angular 1.x Build an offline-capable Hacker News client with Angular 2+ Part 1 Part 2 Build a Google+ clone with Django and AngularJS (Angular 1.x) Build A Beautiful Real World App with Angular 8 : Part I Part II Build Responsive layout with BootStrap 4 and Angular 6 ToDo App with Angular 5 Introduction to Angular Part 1 Node: Build a real-time Markdown Editor with NodeJS Test-Driven Development with Node, Postgres and Knex Write a Twitter Bot in Node.js Part 1 Part 2 Build A Simple Search Bot in 30 minutes Build A Job Scraping Web App Building a GitHub App How to build your own Uber-for-X App using JavaScript, Node.JS, MongoDB and Web Sockets Part 1 Part 2 Vue Vue 2 + Firebase: How to build a Vue app with Firebase authentication system in 15 minutes Vue.js Application Tutorial – Creating a Simple Budgeting App with Vue Build a Blog with Vue, GraphQL and Apollo Build a full stack web application using MEVN (MongoDB, Express, Vue, Node) stack Part 1 Part 2 Vue.js To-Do List Tutorial (video) Vue 2 + Pub/Sub: Build a peer to peer multi-user platform for games Others (Hapi, Express...): Build a Progressive Web Application (PWA) Part 1 Part 2 Part 3 Build A Native Desktop App with JS Build a Powerful API with NodeJs,GraphQL and Hapi Part I D3.js Learn D3 using examples Learn To Make A Line Chart Game Development: Make 2D Breakout Game using Phaser Make Flappy Bird in HTML5 and JavaScript with Phaser Part 1 Part 2 Desktop Application: Build A Desktop Chat App with React and Electron Miscellaneous: How to Build a Web Framework in Less Than 20 Lines of Code Build Yourself a Redux How to write your own Virtual DOM Build A Realtime Serverless GraphQL API with WebSockets on AWS Kotlin: Keddit - Learn Kotlin While Developing an Android Application Lua: LÖVE: BYTEPATH: Creation of a Complete Game with Lua and LÖVE Part 0: Introduction Part 1: Game Loop Part 2: Libraries Part 3: Rooms and Areas Part 4: Exercises Part 5: Game Basics Part 6: Player Basics Part 7: Player Stats and Attacks Part 8: Enemies Part 9: Director and Gameplay Loop Part 10: Coding Practices Part 11: Passives Part 12: More Passives Part 13: Skill Tree Part 14: Console Part 15: Final Python: Web Scraping: Mining Twitter Data with Python Scrape a Website with Scrapy and MongoDB How To Scrape With Python and Selenium WebDriver Which Movie Should I Watch using BeautifulSoup Web Applications: Build a Microblog with Flask Create a Blog Web App In Django Choose Your Own Adventure Presentations Build a Todo List with Flask and RethinkDB Build a Todo List with Django and Test-Driven Development Build a RESTful Microservice in Python Microservices with Docker, Flask, and React Build A Simple Web App With Flask Create A Django API in under 20 minutes Build a Community-driven delivery application with Django, Postgres and JavaScript Part 1 Part 2 Realtime Chat application with Vue, django-notifs, RabbitMQ and uWSGI Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Bots: Build a Reddit Bot How to Make a Reddit Bot - YouTube (video) Build a Facebook Messenger Bot Making a Reddit + Facebook Messenger Bot How To Create a Telegram Bot Using Python Part 1 Part 2 Create a Twitter Bot In Python Data Science: Learn Python For Data Science by Doing Several Projects (video): Part 1: Introduction Part 2: Twitter Sentiment Analysis Part 3: Recommendation Systems Part 4: Predicting Stock Prices Part 5: Deep Dream in TensorFlow Part 6: Genetic Algorithms Machine Learning: Write Linear Regression From Scratch in Python (video) Step-By-Step Machine Learning In Python Predict Quality Of Wine Solving A Fruits Classification Problem Learn Unsupervised Learning with Python Build Your Own Neural Net from Scratch in Python Linear Regression in Python without sklearn Multivariate Linear Regression without sklearn Music Recommender using KNN Find Similar Quora Questions- Using BOW, TFIDF and Xgboost Using Word2Vec and Xgboost Detecting Fake News with Python and Machine Learning OpenCV: Build A Document Scanner Build A Face Detector using OpenCV and Deep Learning Build fastest custom object Detection system yusing YOLOv3(video playlist) Build a Face Recognition System using OpenCV, Python and Deep Learning Detect The Salient Features in an Image Build A Barcode Scanner Learn Face Clustering with Python Object Tracking with Camshift Semantic Segmentation with OpenCV and Deep Learning Text Detection in Images and Videos People Counter using OpenCV Tracking Multiple Objects with OpenCV Neural Style Transfer with OpenCV OpenCV OCR and Text Recognition Text Skew Correction Tutorial Facial Landmark Detection Tutorial Object Detection using Mask-R-CNN Automatic Target Detection Tutorial EigenFaces using OpenCV Faster(5-point) Facial Landmark Detection Tutorial Hand Keypoint Detection Dlib Correlation Object Tracking - Single Object Tracker Mutiple Object Tracker Image Stitching with OpenCV and Python Instance Segmentation with OpenCV Face mask detector Deep Learning: Using Convolutional Neural Nets to Detect Facial Keypoints Generate an Average Face using Python and OpenCV Break A Captcha System using CNNs Use pre-trained Inception model to provide image predictions Create your first CNN Build A Facial Recognition Pipeline Build An Image Caption Generator Make your Own Face Recognition System Train a Language Detection AI in 20 minutes Object Detection With Neural Networks Learn Twitter Sentiment Analysis - Part I - Data Cleaning Part II - EDA, Data Visualisation Part III - Zipf's Law, Data Visualisation Part IV - Feature Extraction(count vectoriser) Part V - Feature Extraction(Tfidf vectoriser) Part VI - Doc2Vec Part VII - Phrase Modeling + Doc2Vec Part VIII - Dimensionality Reduction Part IX - Neural Nets with Tfdif vectors Part X - Neural Nets with word2vec/doc2vec Part XI - CNN with Word2Vec Use Transfer Learning for custom image classification Learn to Code a simple Neural Network in 11 lines of Python Build a Neural Network using Gradient Descent Approach Train a Keras Model To Generate Colors Get Started with Keras on a Custom Dataset Use EigenFaces and FisherFaces on Faces94 dataset Kaggle MNIST Digit Recognizer Tutorial Fashion MNIST tutorial with tf.keras CNN using Keras to automatically classify root health Keras vs Tensorflow Deep Learning and Medical Image Analysis for Malaria Detection Transfer Learning for Image Classification using Keras Code a Smile Classifier using CNNS in Python Natural Language Processing using scikit-learn Code a Taylor Swift Lyrics Generator Mask detection using PyTorch Lightning Miscellaneous: Build a Simple Interpreter Build a Simple Blockchain in Python Write a NoSQL Database in Python Building a Gas Pump Scanner with OpenCV/Python/iOS Build a Distributed Streaming System with Python and Kafka Writing a basic x86-64 JIT compiler from scratch in stock Python Making a low level (Linux) debugger Part 1 Part 2: C Implementing a Search Engine Part 1 Part 2 Part 3 Build the Game of Life Create terminal ASCII art Write a Tic-Tac-Toe AI Create photomosaic art Build the game "Snake" in the terminal Write yourself a Git A Python implementation of a Python bytecode runner Create a Voice assistant using Python Go: Create a Real Time Chat App with Golang, Angular 2, and WebSocket Building Go Web Applications and Microservices Using Gin How to Use Godog for Behavior-driven Development in Go Building Blockchain in Go Part 1: Basic Prototype Part 2: Proof of Work Part 3: Persistence and CLI Part 4: Transactions 1 Part 5: Address Part 6: Transactions 2 Part 7: Network Building a container from scratch in Go - Liz Rice (Microscaling Systems)(video) Build Web Application with GoLang Building a Chat Application in Go with ReactJS Part 1: Initial Setup Part 2: Simple Communication Part 3: Designing our Frontend Part 4: Handling Multiple Clients Part 5: Improving the Frontend Part 6: Dockerizing your Backend Go WebAssembly Tutorial - Building a Calculator Tutorial REST Servers in Go Part 1 - standard library Part 2 - using a router package Part 3 - using a web framework Part 4 - using OpenAPI and Swagger Part 5 - middleware Part 6 - authentication Part 7 - GraphQL Let's build a URL shortener in Go - with Gin &amp; Redis Part 1 - Project setup Part 2 - Storage Layer Part 3 - Short Link Generator Part 4 - Forwarding Building a TCP Chat in Go(video) Building a BitTorrent client from the ground up in Go REST API masterclass with Go, PostgreSQL and Docker(video playlist) in progress PHP: How To Build A Blog With Laravel (video) Make Your Own Blog (in Pure PHP) Build A Real Estate Website Example with SilverStripe Building Realtime Chat App with Laravel 5.4 and VueJS (video) Build A Social Network: Laravel 5 - Youtube (video) Build a full-featured multi-tenant app with Laravel Part 0: Introduction Part 1: Setup Part 2: Roles and Permissinos Part 3: Invitation Part 4: Authentication Part 5: Testing Part 6: User Profile Part 7: Deployment Build a Laravel CRUD Application From Scratch OCaml: Implement a Language with LLVM in OCaml Writing a Game Boy Emulator in OCaml Ruby: Build a Network Stack with Ruby Build your own Redis Part 0: Introduction Part 1: Barebones TCP Server Part 2: PING &lt;-&gt; PONG Part 3: Concurrent Clients Part 4: ECHO Rebuilding Git in Ruby Ruby on Rails: The Ruby on Rails Tutorial Build Instagram From Scratch with Ruby on Rails Build a Social Network using Rails How To Build a Ruby on Rails Application Haskell: Write You a Haskell - Build a modern functional compiler Write Yourself a Scheme in 48 hours Write You A Scheme, Version 2 Roll Your Own IRC Bot Making Movie Monad Making a Website with Haskell (outdated) R: Build Web Apps with Shiny Build A Cryptocurrency Bot Learn Associate Rule Mining in R Rust: A Simple Web App in Rust Part 1 Part 2a Part 2b Write an OS in pure Rust Build a browser engine in Rust Write a Microservice in Rust Learning Rust with Too Many Linked Lists Rust in Detail: Writing Scalable Chat Service from Scratch Part 1: Implementing WebSocket. Introduction. Part 2: Sending and Receiving Messages Writing a Rust Roguelike for the Desktop and the Web Single Page Applications using Rust Writing NES Emulator in Rust Create a simulation of evolution using neural network and genetic algorithm, and compile the application to WebAssembly Part 1 Part 2 Part 3 Part 4 Scala: Simple actor-based blockchain No Magic: Regular Expressions Swift: Hacking with Swift - Learn Swift by doing 39 projects Retro first-person shooter from scratch Additional Resources React Redux Links Udemy.com Full Stack Python Node School ScotchIO Exercism Egghead.io Michael Herman's Blog Thinkster.io Enlight Hack Club Workshops CodeCrafters
