Compare commits

..

25 Commits

Author SHA1 Message Date
FabriLluvia
c7da12977f Adding "Fusion OS: Writing an OS in Nim", and organizing alphabetically. 2025-02-16 18:12:00 -05:00
FabriLluvia
37f29be6e3 Adding "Make a weather app with Dart". 2025-02-16 18:09:01 -05:00
FabriLluvia
c309395b1d Adding "2D Physics Engine in C++" and organizing alphabetically. 2025-02-16 17:57:56 -05:00
FabriLluvia
136dbdfe5e Removing "http://aosabook.org/en/500L/a-continuous-integration-system.html" of "How to build your first error-correction code in vanilla Python". 2025-02-16 17:54:58 -05:00
FabriLluvia
54ce764c6f Adding both OSDev.org and OSDev.wiki to the "For more general information, see..." section down of "Build your own Operating System", due to request in #1283 2025-02-16 17:48:30 -05:00
FabriLluvia
4a85d6dba7 Add "Build and 8-bit computer from Scratch"
Solves #415, which had two mistakes, like:
1) Not containing Proggramimg Language
2) Not having a link

Co-Authored-By: Rushil <rushiljalal@gmail.com>
Co-Authored-By: Santiago Degetau <30123984+sdegetaus@users.noreply.github.com>
2024-11-29 19:24:42 -05:00
FabriLluvia
6313a6a3eb Adds "Developing a Software Renderer", with all parts.
Closes #1279, which had not all the three parts in the PR

Co-Authored-By: trenki2 <1059570+trenki2@users.noreply.github.com>
2024-11-29 19:19:40 -05:00
FabriLluvia
b4a4986686 Add "Windowing Systems by Example"
Closes #1005

Co-Authored-By: Sujal Singh <email.sujalsingh@gmail.com>
2024-11-29 19:17:05 -05:00
FabriLluvia
79d4dfe270 Add "Build your own TV app"
Closes #1281

Co-Authored-By: Giovanni Laquidara <glaquidara@gmail.com>
2024-11-29 19:14:56 -05:00
FabriLluvia
e36c25b972 Add "For more general information, see OSDev.org", based on a recommendation from @Noam-no
Closes #1283

Co-Authored-By: Noam NIORT <n.niort@veniro.fr>
2024-11-29 19:11:11 -05:00
FabriLluvia
ad1d638ca0 Add "Build a NoSQL Database From Scratch in 1000 Lines of Code using Go" 2024-11-29 19:05:30 -05:00
FabriLluvia
a4eedca908 Merge branch 'master' of https://github.com/FabriLluvia/build-your-own-x 2024-11-29 19:05:10 -05:00
FabriLluvia
452960753c Adds "Build a NoSQL Database From Scratch in 1000 Lines of Code using Go" 2024-11-29 19:01:54 -05:00
FabriLluvia
7948fb2a9a Update README.md 2024-11-02 18:21:12 -05:00
FabriLluvia
463c3178a1 Add "Building a Serverless Slack App using Python and AWS SAM"
Co-Authored-By: Tagorenath V <tagorenath.v@gmail.com>
2024-10-21 10:42:10 -05:00
FabriLluvia
5dcf8b7f58 Add "How I Remade 2048 Using React" 2024-10-21 10:37:54 -05:00
FabriLluvia
d348e9ee53 Add "Code a simple P2P blockchain in Go!" 2024-10-21 10:32:48 -05:00
FabriLluvia
b9faa3d8a0 Add "Build your own compiler web server using Node.js"
Solves #1018
2024-10-21 10:27:46 -05:00
FabriLluvia
1f98c2e5a2 Add "Learn Go by Building Command-Line Interfaces"
Co-Authored-By: Oluwadamilare <nuwest@zohomail.com>
2024-10-21 10:03:02 -05:00
FabriLluvia
1e067ebfb0 Organize "Build your own Command-Line Tool" 2024-10-21 10:00:29 -05:00
FabriLluvia
baf5595c18 Add "To-Do CLI Application in C++"
Co-Authored-By: Kei-K <keiksl2301@gmail.com>
2024-10-21 09:48:12 -05:00
FabriLluvia
decb4a3e7d Add "Making Simple Linux Distro from Scratch", "Making Simple Graphical Linux Distro from Scratch" and "Making Minimal Linux Distro with Buildroot".
Solves https://github.com/codecrafters-io/build-your-own-x/issues/780
2024-10-21 09:36:52 -05:00
FabriLluvia
fa6fb51311 Adding the YouTube playlist "Building an OS".
Solves https://github.com/codecrafters-io/build-your-own-x/issues/918

Co-Authored-By: edy <76873747+edy131109@users.noreply.github.com>
2024-10-20 14:20:10 -05:00
FabriLluvia
eb4f0733be Updating the link to "Build a Reddit Bot"
Solves https://github.com/codecrafters-io/build-your-own-x/issues/1082
2024-10-20 14:09:18 -05:00
FabriLluvia
c05ba48b5f Insert "How to build your first error-correction code in vanilla Python" 2024-10-20 12:12:19 -05:00

View File

@@ -1,4 +1,4 @@
[![Banner](https://codecrafters.io/images/updated-byox-banner.gif)](https://codecrafters.io/github-banner)
[![Banner](https://codecrafters.io/images/byox-banner.gif)](https://codecrafters.io/github-banner)
## Build your own &lt;insert-technology-here&gt;
@@ -46,6 +46,10 @@ 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)
@@ -105,7 +109,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_](http://pythonforengineers.com/build-a-reddit-bot-part-1/)
* [**Python**: _Build a Reddit Bot_](https://new.pythonforengineers.com/blog/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)
@@ -115,6 +119,7 @@ It's a great way to learn.
#### Build your own `Command-Line Tool`
* [**Dart**: _Make a weather app with Dart_](https://meamka.me/posts/make-a-weather-app-with-dart/)
* [**Go**: _Visualize your local git contributions with Go_](https://flaviocopes.com/go-git-contributions/)
* [**Go**: _Build a command line app with Go: lolcat_](https://flaviocopes.com/go-tutorial-lolcat/)
* [**Go**: _Building a cli command with Go: cowsay_](https://flaviocopes.com/go-tutorial-cowsay/)
@@ -123,7 +128,6 @@ 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`
@@ -133,8 +137,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 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 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 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)
@@ -257,10 +261,14 @@ 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_
* [**(any)**: _Making Simple Graphical Linux Distro from Scratch_](https://www.youtube.com/watch?v=guSDz5Iwgw0) [video]
* [**(any)**: _Linux from scratch_](https://linuxfromscratch.org/lfs)
* [**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/)
@@ -274,15 +282,16 @@ It's a great way to learn.
* [**C**: _Operating systems development for Dummies_](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac)
* [**C++**: _Write your own Operating System_](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) [video]
* [**C++**: _Writing a Bootloader_](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/)
* [**Nim**: Fusion OS: Writing an OS in Nim](https://0xc0ffee.netlify.app/osdev/)
* [**Rust**: _Writing an OS in Rust_](https://os.phil-opp.com/)
* [**Rust**: _Add RISC-V Rust Operating System Tutorial_](https://osblog.stephenmarz.com/)
* [**(any)**: _Linux from scratch_](https://linuxfromscratch.org/lfs)
#### 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++**: _Game physics series by Allen Chou_](http://allenchou.net/game-physics-series/)
* [**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++**: _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/)
@@ -328,6 +337,7 @@ It's a great way to learn.
* [**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)
@@ -388,6 +398,7 @@ It's a great way to learn.
#### 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`
@@ -411,8 +422,8 @@ It's a great way to learn.
#### 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)
@@ -456,6 +467,7 @@ It's a great way to learn.
* [**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)
@@ -465,12 +477,14 @@ It's a great way to learn.
* [**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)