Compare commits

..

15 Commits

Author SHA1 Message Date
Paul Kuruvilla
76d1a261bd Merge pull request #1639 from byo-books/byo-202512
Add Code a database in 45 steps
2025-12-27 01:10:39 +05:30
root
f4cf332e3f Update the subtitle of Build Your Own Database from Scratch. 2025-12-25 16:32:21 +08:00
root
9e8b06f62f Add Code a database in 45 steps. 2025-12-25 16:29:16 +08:00
Paul Kuruvilla
1a851d83f7 Merge pull request #1435 from korrectional/master
Removed "Java: Java Voxel Engine Tutorial [video]" as it is not available anymore
2025-10-10 11:45:01 -07:00
Paul Kuruvilla
51198a9f9c Update README.md
Fixes https://github.com/codecrafters-io/build-your-own-x/issues/1552
2025-09-03 13:36:37 -07:00
Paul Kuruvilla
6b32f34ec2 Merge pull request #1548 from CodeCrateDev/master
Removed missing video link
2025-08-28 17:08:20 -07:00
CodeCrate
427e67f58f Reverted link removal
Reverted the removal of the Java 3D Game Development with LWJGL 3 link.
2025-08-28 12:14:55 -04:00
CodeCrate
0bbb011cf0 Removed links that no longer function
Removed links:
- Java Voxel Engine Tutorial
- 3D Game Development with LWJGL 3
2025-08-28 11:52:36 -04:00
Paul Kuruvilla
9d625daa96 Merge pull request #1520 from codecrafters-io/rohitpaulk-patch-1
Update README.md
2025-07-29 14:02:37 -07:00
Paul Kuruvilla
f4275438a7 Update README.md
Fixes https://github.com/codecrafters-io/build-your-own-x/issues/1519
2025-07-29 14:02:22 -07:00
Vencyr Laurence Imbo Amores
a8bc6fbcf1 update to byox banner 2025-07-07 22:14:17 +08:00
Vencyr Laurence Imbo Amores
c56186ac2d update byox banner 2025-07-07 17:05:02 +08:00
korrectional
4073730ccf Removed Java: Java Voxel Engine Tutorial [video] as it is not available anymore 2025-05-17 15:19:23 -04:00
Paul Kuruvilla
cf5d750133 Merge pull request #1414 from maysara-elshewehy/master 2025-04-11 12:13:28 -07:00
Maysara
d6ce7605f0 Add a new tutorial link for zig. 2025-04-11 20:00:24 +02:00

View File

@@ -1,4 +1,4 @@
[![Banner](https://codecrafters.io/images/byox-banner.gif)](https://codecrafters.io/github-banner)
[![Banner](https://codecrafters.io/images/updated-byox-banner.gif)](https://codecrafters.io/github-banner)
## Build your own <insert-technology-here>
@@ -46,10 +46,6 @@ It's a great way to learn.
* [**C++**: _Physically Based Rendering:From Theory To Implementation_](http://www.pbr-book.org/)
* [**C++**: _Ray Tracing in One Weekend_](https://raytracing.github.io/books/RayTracingInOneWeekend.html)
* [**C++**: _Rasterization: a Practical Implementation_](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm)
* [**C++**: _Developing a Software Renderer (Part 1)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part1/)
* [**C++**: _Developing a Software Renderer (Part 2)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part2/)
* [**C++**: _Developing a Software Renderer (Part 3)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part3/)
* [**C++**: _Developing a Software Renderer (Part 4)_](https://trenki2.github.io/blog/2017/06/06/developing-a-software-renderer-part4/)
* [**C# / TypeScript / JavaScript**: _Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/)
* [**Java / JavaScript**: _Build your own 3D renderer_](https://avik-das.github.io/build-your-own-raytracer/)
* [**Java**: _How to create your own simple 3D render engine in pure Java_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html)
@@ -109,7 +105,7 @@ It's a great way to learn.
* [**Node.js**: _Building A Simple AI Chatbot With Web Speech API And Node.js_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/)
* [**Python**: _How to Build Your First Slack Bot with Python_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html)
* [**Python**: _How to build a Slack Bot with Python using Slack Events API & Django under 20 minute_](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e)
* [**Python**: _Build a Reddit Bot_](https://new.pythonforengineers.com/blog/build-a-reddit-bot-part-1)
* [**Python**: _Build a Reddit Bot_](http://pythonforengineers.com/build-a-reddit-bot-part-1/)
* [**Python**: _How To Make A Reddit Bot_](https://www.youtube.com/watch?v=krTUf7BpTc0) [video]
* [**Python**: _How To Create a Telegram Bot Using Python_](https://www.freecodecamp.org/news/how-to-create-a-telegram-bot-using-python/)
* [**Python**: _Create a Twitter Bot in Python Using Tweepy_](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607)
@@ -127,6 +123,7 @@ It's a great way to learn.
* [**Node.js**: _Create a CLI tool in Javascript_](https://citw.dev/tutorial/create-your-own-cli-tool)
* [**Rust**: _Command line apps in Rust_](https://rust-cli.github.io/book/index.html)
* [**Rust**: _Writing a Command Line Tool in Rust_](https://mattgathu.dev/2017/08/29/writing-cli-app-rust.html)
* [**Zig**: _Build Your Own CLI App in Zig from Scratch_](https://rebuild-x.github.io/docs/#/./zig/terminal/cli)
#### Build your own `Database`
@@ -136,8 +133,8 @@ It's a great way to learn.
* [**C#**: _Build Your Own Database_](https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database)
* [**Clojure**: _An Archaeology-Inspired Database_](http://aosabook.org/en/500L/an-archaeology-inspired-database.html)
* [**Crystal**: _Why you should build your own NoSQL Database_](https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5)
* [**Go**: _Build a NoSQL Database From Scratch in 1000 Lines of Code using Go_](https://betterprogramming.pub/build-a-nosql-database-from-the-scratch-in-1000-lines-of-code-8ed1c15ed924)
* [**Go**: _Build Your Own Database from Scratch: Persistence, Indexing, Concurrency_](https://build-your-own.org/database/)
* [**Go**: _Build Your Own Database from Scratch: From B+Tree To SQL in 3000 Lines_](https://build-your-own.org/database/)
* [**Go**: _Code a database in 45 steps: a series of test-driven small coding puzzles_](https://trialofcode.org/database/)
* [**Go**: _Build Your Own Redis from Scratch_](https://www.build-redis-from-scratch.dev/)
* [**JavaScript**: _Dagoba: an in-memory graph database_](http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html)
* [**Python**: _DBDB: Dog Bed Database_](http://aosabook.org/en/500L/dbdb-dog-bed-database.html)
@@ -260,12 +257,10 @@ It's a great way to learn.
* [**Python**: _Neural Networks: Zero to Hero_](https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ)
#### Build your own `Operating System`
_For more general information, see OSDev.org and OSDev.wiki_
* [**Assembly**: _Writing a Tiny x86 Bootloader_](http://joebergeron.io/posts/post_two.html)
* [**Assembly**: _Baking Pi Operating Systems Development_](http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html)
* [**C**: _Building a software and hardware stack for a simple computer from scratch_](https://www.youtube.com/watch?v=ZjwvMcP3Nf0&list=PLU94OURih-CiP4WxKSMt3UcwMSDM3aTtX) [video]
* [**C**: _Building an OS_](https://www.youtube.com/playlist?list=PLFjM7v6KGMpiH2G-kT781ByCNC_0pKpPN)
* [**C**: _Operating Systems: From 0 to 1_](https://tuhdo.github.io/os01/)
* [**C**: _The little book about OS development_](https://littleosbook.github.io/)
* [**C**: _Roll your own toy UNIX-clone OS_](http://jamesmolloy.co.uk/tutorial_html/)
@@ -273,7 +268,6 @@ _For more general information, see OSDev.org and OSDev.wiki_
* [**C**: _Kernel 201 Lets write a Kernel with keyboard and screen support_](https://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard)
* [**C**: _Build a minimal multi-tasking kernel for ARM from scratch_](https://github.com/jserv/mini-arm-os)
* [**C**: _How to create an OS from scratch_](https://github.com/cfenollosa/os-tutorial)
* [**(any)**: _Making Simple Graphical Linux Distro from Scratch_](https://www.youtube.com/watch?v=guSDz5Iwgw0)
* [**C**: _Malloc tutorial_](https://danluu.com/malloc-tutorial/)
* [**C**: _Hack the virtual memory_](https://blog.holbertonschool.com/hack-the-virtual-memory-c-strings-proc/)
* [**C**: _Learning operating system development using Linux kernel and Raspberry Pi_](https://github.com/s-matyukevich/raspberry-pi-os)
@@ -287,9 +281,8 @@ _For more general information, see OSDev.org and OSDev.wiki_
#### Build your own `Physics Engine`
* [**C**: _Video Game Physics Tutorial_](https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics)
* [**C++**: _Create a 2D Physics Engine_](https://thevoxium.github.io/posts/stellar-engine/)
* [**C++**: _How to Create a Custom Physics Engine_](https://gamedevelopment.tutsplus.com/series/how-to-create-a-custom-physics-engine--gamedev-12715)
* [**C++**: _Game physics series by Allen Chou_](http://allenchou.net/game-physics-series/)
* [**C++**: _How to Create a Custom Physics Engine_](https://gamedevelopment.tutsplus.com/series/how-to-create-a-custom-physics-engine--gamedev-12715)
* [**C++**: _3D Physics Engine Tutorial_](https://www.youtube.com/playlist?list=PLEETnX-uPtBXm1KEr_2zQ6K_0hoGH6JJ0) [video]
* [**JavaScript**: _How Physics Engines Work_](http://buildnewgames.com/gamephysics/)
* [**JavaScript**: _Broad Phase Collision Detection Using Spatial Partitioning_](http://buildnewgames.com/broad-phase-collision-detection/)
@@ -335,7 +328,6 @@ _For more general information, see OSDev.org and OSDev.wiki_
* [**Racket**: _Beautiful Racket: How to make your own programming languages with Racket_](https://beautifulracket.com/)
* [**Ruby**: _A Compiler From Scratch_](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch)
* [**Ruby**: _Markdown compiler from scratch in Ruby_](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/)
* [**Rust**: _So You Want to Build a Language VM_](https://blog.subnetzero.io/post/building-language-vm-part-00/)
* [**Rust**: _Learning Parser Combinators With Rust_](https://bodil.lol/parser-combinators/)
* [**Swift**: _Building a LISP from scratch with Swift_](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/)
* [**TypeScript**: _Build your own WebAssembly Compiler_](https://blog.scottlogic.com/2019/05/17/webassembly-compiler.html)
@@ -396,7 +388,6 @@ _For more general information, see OSDev.org and OSDev.wiki_
#### Build your own `Voxel Engine`
* [**C++**: _Let's Make a Voxel Engine_](https://sites.google.com/site/letsmakeavoxelengine/home)
* [**Java**: _Java Voxel Engine Tutorial_](https://www.youtube.com/watch?v=QZ4Vk2PkPZk&list=PL80Zqpd23vJfyWQi-8FKDbeO_ZQamLKJL) [video]
#### Build your own `Web Browser`
@@ -420,8 +411,8 @@ _For more general information, see OSDev.org and OSDev.wiki_
#### Uncategorized
* [**(any)**: _From NAND to Tetris: Building a Modern Computer From First Principles_](http://nand2tetris.org/)
* [**(any)**: build-your-own-x-vibe-coding: BYOX-style tutorials adapted for vibe coding](https://github.com/inFaaa/build-your-own-x-vibe-coding)
* [**Alloy**: _The Same-Origin Policy_](http://aosabook.org/en/500L/the-same-origin-policy.html)
* [**C**: _Build an 8-bit computer from Scratch_](https://eater.net/8bit)
* [**C**: _How to Write a Video Player in Less Than 1000 Lines_](http://dranger.com/ffmpeg/ffmpeg.html)
* [**C**: _Learn how to write a hash table in C_](https://github.com/jamesroutley/write-a-hash-table)
* [**C**: _The very basics of a terminal emulator_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html)
@@ -465,7 +456,6 @@ _For more general information, see OSDev.org and OSDev.wiki_
* [**PHP**: _Code a Web Search Engine in PHP_](https://boyter.org/2013/01/code-for-a-search-engine-in-php-part-1/)
* [**Python**: _Build a Deep Learning Library_](https://www.youtube.com/watch?v=o64FV-ez6Gw) [video]
* [**Python**: _How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes_](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/)
* [**Python**: _How to build your first error-correction code in vanilla Python](https://quantum-for-the-confused.medium.com/building-your-first-error-correction-code-in-python-4c1da6d56876)
* [**Python**: _Continuous Integration System_](http://aosabook.org/en/500L/a-continuous-integration-system.html)
* [**Python**: _Recommender Systems in Python: Beginner Tutorial_](https://www.datacamp.com/community/tutorials/recommender-systems-python)
* [**Python**: _Write SMS-spam detector with Scikit-learn_](https://medium.com/@kopilov.vlad/detect-sms-spam-in-kaggle-with-scikit-learn-5f6afa7a3ca2)
@@ -475,14 +465,12 @@ _For more general information, see OSDev.org and OSDev.wiki_
* [**Python**: _Learn ML Algorithms by coding: Decision Trees_](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4)
* [**Python**: _JSON Decoding Algorithm_](https://github.com/cheery/json-algorithm)
* [**Python**: _Build your own Git plugin with python_](https://joshburns-xyz.vercel.app/posts/build-your-own-git-plugin)
* [**Python**: _Windowing Systems by Example_](https://jmarlin.github.io/wsbe/)
* [**Ruby**: _A Pedometer in the Real World_](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html)
* [**Ruby**: _Creating a Linux Desktop application with Ruby_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby)
* [**Rust**: _Building a DNS server in Rust_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md)
* [**Rust**: _Writing Scalable Chat Service from Scratch_](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html)
* [**Rust**: _WebGL + Rust: Basic Water Tutorial_](https://www.chinedufn.com/3d-webgl-basic-water-tutorial/)
* [**TypeScript**: _Tiny Package Manager: Learns how npm or Yarn works_](https://github.com/g-plane/tiny-package-manager)
* [**React Native**: Build your own TV app ](https://github.com/AmazonAppDev/react-native-multi-tv-app-sample)
## Contribute
* Submissions welcome, just send a PR, or [create an issue](https://github.com/codecrafters-io/build-your-own-x/issues/new)