diff --git a/LICENSE.md b/LICENSE.md index 661fade..e150787 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 Tu Tran +Copyright (c) 2020 Tu Tran Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 38da8b7..230daf9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Project Based Learning +[![Gitter](https://badges.gitter.im/practical-tutorials/community.svg)](https://gitter.im/practical-tutorials/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) A list of programming tutorials in which learners build an application from scratch. These tutorials are divided into different primary programming languages. Some have intermixed technologies and languages. @@ -11,6 +12,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Clojure](#clojure) - [Elixir](#elixir) - [Erlang](#erlang) +- [F#](#f) - [Go](#go) - [Haskell](#haskell) - [HTML/CSS](#html-and-css) @@ -24,12 +26,14 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [R](#r) - [Ruby](#ruby) - [Rust](#rust) +- [Scala](#scala) - [Swift](#swift) - [Additional resources](#additional-resources) ## C/C++: - [Build an Interpreter](http://www.craftinginterpreters.com/) (Chapter 14 on is written in C) +- [Memory Allocators 101 - Write a simple memory allocator](https://arjunsreedharan.org/post/148675821737/memory-allocators-101-write-a-simple-memory) - [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/) - [Write a FUSE Filesystem](https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/) - [Build Your Own Text Editor](http://viewsourcecode.org/snaptoken/kilo/) @@ -37,7 +41,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [How to Program an NES Game in C](https://nesdoug.com/) - [Write an OS from scratch](https://github.com/tuhdo/os01) - [How to create an OS from scratch ](https://github.com/cfenollosa/os-tutorial) -- [How to Write an Emulator (CHIP-8 interpreter)](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) +- [Building a CHIP-8 Emulator](https://austinmorlan.com/posts/chip8_emulator/) - [Beginning Game Programming with C++ and SDL](http://lazyfoo.net/tutorials/SDL/) - [Implementing a Key-Value Store](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/) - Tiny 3D graphics projects @@ -65,6 +69,8 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 6: Conditionals](https://norasandler.com/2018/02/25/Write-a-Compiler-6.html) - [Part 7: Compound Statements](https://norasandler.com/2018/03/14/Write-a-Compiler-7.html) - [Part 8: Loops](https://norasandler.com/2018/04/10/Write-a-Compiler-8.html) + - [Part 9: Functions](https://norasandler.com/2018/06/27/Write-a-Compiler-9.html) + - [Part 10: Global Variables](https://norasandler.com/2019/02/18/Write-a-Compiler-10.html) - [Implementing a Language with LLVM](https://llvm.org/docs/tutorial/#kaleidoscope-implementing-a-language-with-llvm) - [Meta Crush Saga: a C++17 compile-time game](https://jguegant.github.io//jguegant.github.io/blogs/tech/meta-crush-saga.html) - [High-Performance Matrix Multiplication](https://gist.github.com/nadavrot/5b35d44e8ba3dd718e595e40184d03f0) @@ -104,6 +110,15 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 4 - libuv](https://eli.thegreenplace.net/2017/concurrent-servers-part-4-libuv/) - [Part 5 - Redis case study](https://eli.thegreenplace.net/2017/concurrent-servers-part-5-redis-case-study/) - [Part 6 - Callbacks, Promises and async/await](https://eli.thegreenplace.net/2018/concurrent-servers-part-6-callbacks-promises-and-asyncawait/) + +- MQTT Broker from scratch + - [Part 1 - The protocol](https://codepr.github.io/posts/sol-mqtt-broker) + - [Part 2 - Networking](https://codepr.github.io/posts/sol-mqtt-broker-p2) + - [Part 3 - Server](https://codepr.github.io/posts/sol-mqtt-broker-p3) + - [Part 4 - Data structures](https://codepr.github.io/posts/sol-mqtt-broker-p4) + - [Part 5 - Topic abstraction](https://codepr.github.io/posts/sol-mqtt-broker-p5) + - [Part 6 - Handlers](https://codepr.github.io/posts/sol-mqtt-broker-p6) + - [Bonus - Multithreading](https://codepr.github.io/posts/sol-mqtt-broker-bonus) ### OpenGL: @@ -138,16 +153,23 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build a Twitter Bot with Clojure](http://howistart.org/posts/clojure/1/index.html) - [Building a Spell-Checker](https://bernhardwenzel.com/articles/clojure-spellchecker/) - [Building a JIRA integration with Clojure & Atlassian Connect](https://hackernoon.com/building-a-jira-integration-with-clojure-atlassian-connect-506ebd112807) +- [Prototyping with Clojure](https://github.com/aliaksandr-s/prototyping-with-clojure) +- [Tetris in ClojureScript](https://shaunlebron.github.io/t3tr0s-slides) ## Elixir - [Building a Simple Chat App With Elixir and Phoenix](https://sheharyar.me/blog/simple-chat-phoenix-elixir/) +- [How to write a super fast link shortener with Elixir, Phoenix, and Mnesia](https://medium.com/free-code-camp/how-to-write-a-super-fast-link-shortener-with-elixir-phoenix-and-mnesia-70ffa1564b3c) ## Erlang - [ChatBus : build your first multi-user chat room app with Erlang/OTP](https://medium.com/@kansi/chatbus-build-your-first-multi-user-chat-room-app-with-erlang-otp-b55f72064901) - [Making a Chat App with Erlang, Rebar, Cowboy and Bullet](http://marianoguerra.org/posts/making-a-chat-app-with-erlang-rebar-cowboy-and-bullet.html) +## F#: + +- [Write your own Excel in 100 lines of F#](http://tomasp.net/blog/2018/write-your-own-excel) + ## Java: - [Build an Interpreter](http://www.craftinginterpreters.com/) (Chapter 4-13 is written in Java) @@ -160,15 +182,20 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build 30 things in 30 days with 30 tutorials](https://javascript30.com) - [Build an App in Pure JS](https://medium.com/codingthesmartway-com-blog/pure-javascript-building-a-real-world-application-from-scratch-5213591cfcd6) - [Build a Jupyter Notebook Extension](https://link.medium.com/wWUO7TN8SS) +- [Build a TicTacToe Game with JavaScript](https://medium.com/javascript-in-plain-english/build-tic-tac-toe-game-using-javascript-3afba3c8fdcc) ## HTML and CSS: - [Build A Loading Screen](https://medium.freecodecamp.org/how-to-build-a-delightful-loading-screen-in-5-minutes-847991da509f) - [Build an HTML Calculator with JS](https://medium.freecodecamp.org/how-to-build-an-html-calculator-app-from-scratch-using-javascript-4454b8714b98) +- [Build Snake using only JavaScript, HTML & CSS](https://www.freecodecamp.org/news/think-like-a-programmer-how-to-build-snake-using-only-javascript-html-and-css-7b1479c3339e/) + ### Mobile Application: - [Build a React Native Todo Application](https://egghead.io/courses/build-a-react-native-todo-application) +- [Build a React Native Application with Redux Thunk](https://medium.com/@alialhaddad/how-to-use-redux-thunk-in-react-and-react-native-4743a1321bd0) + ### Web Applications: @@ -176,14 +203,14 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Create Serverless React.js Apps](http://serverless-stack.com/) - [Create a Trello Clone](http://codeloveandboards.com/blog/2016/01/04/trello-tribute-with-phoenix-and-react-pt-1/) -- [Create a Character Voting App with React, Node, MongoDB and SocketIO](http://sahatyalkabov.com/create-a-character-voting-app-using-react-nodejs-mongodb-and-socketio/) +- [Create a Character Voting App with React, Node, MongoDB and SocketIO](http://sahatyalkabov.com/create-a-character-voting-app-using-react-nodejs-mongodb-and-socketio) - [React Tutorial: Cloning Yelp](https://www.fullstackreact.com/articles/react-tutorial-cloning-yelp/) - [Build a Full Stack Movie Voting App with Test-First Development using Mocha, React, Redux and Immutable](https://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html) - [Build a Twitter Stream with React and Node](https://scotch.io/tutorials/build-a-real-time-twitter-stream-with-node-and-react-js) - Build a Serverless MERN Story App with Webtask.io - [Part 1](https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-1) - [Part 2](https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-2) -- [Build A Simple Medium Clone using React.js and Node.js](https://codeburst.io/build-simple-medium-com-on-node-js-and-react-js-a278c5192f47) +- [Build A Simple Medium Clone using React.js and Node.js](https://medium.com/@kris101/clone-medium-on-node-js-and-react-js-731cdfbb6878) - [Integrate MailChimp in JS](https://medium.freecodecamp.org/how-to-integrate-mailchimp-in-a-javascript-web-app-2a889fb43f6f) - [Build A Chrome Extension with React + Parcel](https://medium.freecodecamp.org/building-chrome-extensions-in-react-parcel-79d0240dd58f) - [Build A ToDo App With React Native](https://blog.hasura.io/tutorial-fullstack-react-native-with-graphql-and-authentication-18183d13373a) @@ -197,6 +224,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build an Appointment Scheduler](https://hackernoon.com/build-an-appointment-scheduler-using-react-twilio-and-cosmic-js-95377f6d1040) - [Build A Chat App with Sentiment Analysis](https://codeburst.io/build-a-chat-app-with-sentiment-analysis-using-next-js-c43ebf3ea643) - [Build A Full Stack Web Application Setup](https://hackernoon.com/full-stack-web-application-using-react-node-js-express-and-webpack-97dbd5b9d708) +- [Create Todoist clone with React and Firebase](https://www.youtube.com/watch?v=hT3j87FMR6M) - Build A Random Quote Machine - [Part 1](https://www.youtube.com/watch?v=3QngsWA9IEE) - [Part 2](https://www.youtube.com/watch?v=XnoTmO06OYo) @@ -213,8 +241,10 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 1](https://houssein.me/angular2-hacker-news) - [Part 2](https://houssein.me/progressive-angular-applications) - [Build a Google+ clone with Django and AngularJS (Angular 1.x)](https://thinkster.io/django-angularjs-tutorial) -- Build A Beautiful Real World App with Angular 6 : +- Build A Beautiful Real World App with Angular 8 : - [Part I](https://medium.com/@hamedbaatour/build-a-real-world-beautiful-web-app-with-angular-6-a-to-z-ultimate-guide-2018-part-i-e121dd1d55e) + - [Part II](https://medium.com/@hamedbaatour/build-a-real-world-beautiful-web-app-with-angular-8-the-ultimate-guide-2019-part-ii-fe70852b2d6d) + - [Build Responsive layout with BootStrap 4 and Angular 6](https://medium.com/@tomastrajan/how-to-build-responsive-layouts-with-bootstrap-4-and-angular-6-cfbb108d797b) - ToDo App with Angular 5 - [Introduction to Angular](http://www.discoversdk.com/blog/intro-to-angular-and-the-evolution-of-the-web) @@ -232,6 +262,9 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build A Simple Search Bot in 30 minutes](https://medium.freecodecamp.org/how-to-build-a-simple-search-bot-in-30-minutes-eb56fcedcdb1) - [Build A Job Scraping Web App](https://medium.freecodecamp.org/how-i-built-a-job-scraping-web-app-using-node-js-and-indreed-7fbba124bbdc) - [Building a GitHub App](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html) +- How to build your own Uber-for-X App using JavaScript, Node.JS, MongoDB and Web Sockets + - [Part 1](https://www.ashwinhariharan.tech/blog/how-to-build-your-own-uber-for-x-app/) + - [Part 2](https://www.ashwinhariharan.tech/blog/how-to-build-your-own-uber-for-x-app-part-2/) #### Vue @@ -242,6 +275,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 1](https://medium.com/@anaida07/mevn-stack-application-part-1-3a27b61dcae0) - [Part 2](https://medium.com/@anaida07/mevn-stack-application-part-2-2-9ebcf8a22753) - [Vue.js To-Do List Tutorial (video)](https://www.youtube.com/watch?v=78tNYZUS-ps) +- [Vue 2 + Pub/Sub: Build a peer to peer multi-user platform for games](https://www.ably.io/tutorials/peer-to-peer-vue) #### Others (Hapi, Express...): @@ -332,6 +366,9 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build A Simple Web App With Flask](https://pythonspot.com/flask-web-app-with-python/) - [Build a RESTful API with Flask – The TDD Way](https://scotch.io/tutorials/build-a-restful-api-with-flask-the-tdd-way) - [Create A Django API in under 20 minutes](https://codeburst.io/create-a-django-api-in-under-20-minutes-2a082a60f6f3) +- Build a Community-driven delivery application with Django, Postgres and JavaScript + - [Part 1](https://www.ashwinhariharan.tech/blog/thinking-of-building-a-contact-tracing-application-heres-what-you-can-do-instead/) + - [Part 2](https://www.ashwinhariharan.tech/blog/thinking-of-building-a-contact-tracing-application-heres-what-you-can-do-instead-part-2/) ### Bots: @@ -360,7 +397,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Step-By-Step Machine Learning In Python](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/) - [Predict Quality Of Wine](https://medium.freecodecamp.org/using-machine-learning-to-predict-the-quality-of-wines-9e2e13d7480d) - [Solving A Fruits Classification Problem](https://towardsdatascience.com/solving-a-simple-classification-problem-with-python-fruits-lovers-edition-d20ab6b071d2) -- [Learn Unsupervised Learning with Python](https://towardsdatascience.com/unsupervised-learning-with-python-173c51dc7f03) +- [Learn Unsupervised Learning with Python](https://scikit-learn.org/stable/unsupervised_learning.html) - [Build Your Own Neural Net from Scratch in Python](https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6) - [Linear Regression in Python without sklearn](https://medium.com/we-are-orb/linear-regression-in-python-without-scikit-learn-50aef4b8d122) - [Multivariate Linear Regression without sklearn](https://medium.com/we-are-orb/multivariate-linear-regression-in-python-without-scikit-learn-7091b1d45905) @@ -396,6 +433,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Mutiple Object Tracker](https://www.pyimagesearch.com/2018/10/29/multi-object-tracking-with-dlib/) - [Image Stitching with OpenCV and Python](https://www.pyimagesearch.com/2018/12/17/image-stitching-with-opencv-and-python/) - [Instance Segmentation with OpenCV](https://www.pyimagesearch.com/2018/11/26/instance-segmentation-with-opencv/) +- [Face mask detector](https://www.pyimagesearch.com/2020/05/04/covid-19-face-mask-detector-with-opencv-keras-tensorflow-and-deep-learning/) ### Deep Learning: @@ -435,6 +473,8 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Transfer Learning for Image Classification using Keras](https://towardsdatascience.com/transfer-learning-for-image-classification-using-keras-c47ccf09c8c8) - [Code a Smile Classifier using CNNS in Python](https://github.com/kylemcdonald/SmileCNN) - [Natural Language Processing using scikit-learn](https://towardsdatascience.com/natural-language-processing-count-vectorization-with-scikit-learn-e7804269bb5e) +- [Code a Taylor Swift Lyrics Generator](https://towardsdatascience.com/ai-generates-taylor-swifts-song-lyrics-6fd92a03ef7e) +- [Mask detection using PyTorch Lightning](https://towardsdatascience.com/how-i-built-a-face-mask-detector-for-covid-19-using-pytorch-lightning-67eb3752fd61) ### Miscellaneous: @@ -442,7 +482,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build a Simple Blockchain in Python](https://hackernoon.com/learn-blockchains-by-building-one-117428612f46) - [Write a NoSQL Database in Python](https://jeffknupp.com/blog/2014/09/01/what-is-a-nosql-database-learn-by-writing-one-in-python/) - [Building a Gas Pump Scanner with OpenCV/Python/iOS](https://hackernoon.com/building-a-gas-pump-scanner-with-opencv-python-ios-116fe6c9ae8b) -- [Build a Distributed Streaming System with Python and Kafka](https://scotch.io/tutorials/build-a-distributed-streaming-system-with-apache-kafka-and-python) +- [Build a Distributed Streaming System with Python and Kafka](https://codequs.com/p/S14jQ5UyG/build-a-distributed-streaming-system-with-apache-kafka-and-python) - [Writing a basic x86-64 JIT compiler from scratch in stock Python](https://csl.name/post/python-jit/) - Making a low level (Linux) debugger - [Part 1](https://blog.asrpo.com/making_a_low_level_debugger) @@ -453,6 +493,11 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 3](http://www.ardendertat.com/2011/07/17/how-to-implement-a-search-engine-part-3-ranking-tf-idf/) - [Build the Game of Life](https://robertheaton.com/2018/07/20/project-2-game-of-life/) - [Create terminal ASCII art](https://robertheaton.com/2018/06/12/programming-projects-for-advanced-beginners-ascii-art/) +- [Write a Tic-Tac-Toe AI](https://robertheaton.com/2018/10/09/programming-projects-for-advanced-beginners-3-a/) +- [Create photomosaic art](https://robertheaton.com/2018/11/03/programming-project-4-photomosaics/) +- [Build the game "Snake" in the terminal](https://robertheaton.com/2018/12/02/programming-project-5-snake/) +- [Write yourself a Git](https://wyag.thb.lt/) +- [A Python implementation of a Python bytecode runner](https://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html) ## Go: @@ -467,8 +512,38 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 5: Address](https://jeiwan.cc/posts/building-blockchain-in-go-part-5/) - [Part 6: Transactions 2](https://jeiwan.cc/posts/building-blockchain-in-go-part-6/) - [Part 7: Network](https://jeiwan.cc/posts/building-blockchain-in-go-part-7/) -- [Build Web Application with GoLang](https://legacy.gitbook.com/book/astaxie/build-web-application-with-golang/details) -- [Building a container from scratch in Go - Liz Rice (Microscaling Systems)](https://www.youtube.com/watch?v=Utf-A4rODH8) +- [Build Web Application with GoLang](https://astaxie.gitbooks.io/build-web-application-with-golang/) +- [Building a container from scratch in Go - Liz Rice (Microscaling Systems)](https://www.youtube.com/watch?v=8fi7uSYlOdc) + - [Part 1: Basic Prototype](https://jeiwan.net/posts/building-blockchain-in-go-part-1/) + - [Part 2: Proof of Work](https://jeiwan.net/posts/building-blockchain-in-go-part-2/) + - [Part 3: Persistence and CLI](https://jeiwan.net/posts/building-blockchain-in-go-part-3/) + - [Part 4: Transactions 1](https://jeiwan.net/posts/building-blockchain-in-go-part-4/) + - [Part 5: Address](https://jeiwan.net/posts/building-blockchain-in-go-part-5/) + - [Part 6: Transactions 2](https://jeiwan.net/posts/building-blockchain-in-go-part-6/) + - [Part 7: Network](https://jeiwan.net/posts/building-blockchain-in-go-part-7/) +- [Build Web Application with GoLang](https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/) +- [Building a container from scratch in Go - Liz Rice (Microscaling Systems)](https://www.youtube.com/watch?v=8fi7uSYlOdc) +- Building a Chat Application in Go with ReactJS + - [Part 1: Initial Setup](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-1-initial-setup/) + - [Part 2: Simple Communication](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-2-simple-communication/) + - [Part 3: Designing our Frontend](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-3-designing-our-frontend/) + - [Part 4: Handling Multiple Clients](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-4-handling-multiple-clients/) + - [Part 5: Improving the Frontend](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-5-improved-frontend/) + - [Part 6: Dockerizing your Backend](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-6-dockerizing-your-backend/) +- [Go WebAssembly Tutorial - Building a Calculator Tutorial](https://tutorialedge.net/golang/go-webassembly-tutorial/) +- REST Servers in Go + - [Part 1 - standard library](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-1-standard-library/) + - [Part 2 - using a router package](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-2-using-a-router-package/) + - [Part 3 - using a web framework](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-3-using-a-web-framework/) + - [Part 4 - using OpenAPI and Swagger](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-4-using-openapi-and-swagger/) + - [Part 5 - middleware](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-5-middleware/) + - [Part 6 - authentication](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-6-authentication/) + - [Part 7 - GraphQL](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-7-graphql/) +- Let's build a URL shortener in Go - with Gin & Redis + - [Part 1](https://www.eddywm.com/lets-build-a-url-shortener-in-go/) + - [Part 2](https://www.eddywm.com/lets-build-a-url-shortener-in-go-with-redis-part-2-storage-layer/) + - [Part 3](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-3-short-link-generation/) + - [Part 4](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-iv-forwarding/) ## PHP: @@ -486,6 +561,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 5: Testing](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-2-unit-tests-96d6dfbf0617) - [Part 6: User Profile](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-5-user-profile-5c3d0c655f3a) - [Part 7: Deployment](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-7-deployment-40bb3c895627) +- [Build a Laravel CRUD Application From Scratch](https://www.codewall.co.uk/laravel-crud-demo-with-resource-controller-tutorial/) ## OCaml: @@ -494,12 +570,20 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB ## Ruby: - [Build a Network Stack with Ruby](https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b) +- Build your own Redis + - [Part 0: Introduction](https://rohitpaulk.com/articles/redis-0) + - [Part 1: Barebones TCP Server](https://rohitpaulk.com/articles/redis-1) + - [Part 2: PING <-> PONG](https://rohitpaulk.com/articles/redis-2) + - [Part 3: Concurrent Clients](https://rohitpaulk.com/articles/redis-3) + - [Part 4: ECHO](https://rohitpaulk.com/articles/redis-4) +- [Rebuilding Git in Ruby](https://thoughtbot.com/blog/rebuilding-git-in-ruby) ### Ruby on Rails: - [The Ruby on Rails Tutorial](https://www.railstutorial.org/book) - [Build Instagram From Scratch with Ruby on Rails](https://www.dropbox.com/s/9vq430e9s3q7pu8/Let%27s%20Build%20Instagram%20with%20Ruby%20on%20Rails%20-%20Free%20Edition.pdf?dl=0) - [Build a Social Network using Rails](https://medium.com/rails-ember-beyond/how-to-build-a-social-network-using-rails-eb31da569233) +- [How To Build a Ruby on Rails Application](https://www.digitalocean.com/community/tutorials/how-to-build-a-ruby-on-rails-application) ## Haskell: @@ -507,7 +591,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Write Yourself a Scheme in 48 hours](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours) - [Write You A Scheme, Version 2](https://github.com/write-you-a-scheme-v2/scheme) - [Roll Your Own IRC Bot](https://wiki.haskell.org/Roll_your_own_IRC_bot) -- [Let's Build A Basic Compiler in Haskell](http://alephnullplex.github.io/cradle/) - [Making Movie Monad](https://lettier.github.io/posts/2016-08-15-making-movie-monad.html) - [Making a Website with Haskell **(outdated)**](http://adit.io/posts/2013-04-15-making-a-website-with-haskell.html) @@ -523,7 +606,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 1](http://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-1/) - [Part 2a](http://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-2a/) - [Part 2b](http://joelmccracken.github.io/entries/a-simple-web-app-in-rust-pt-2b/) -- [Write an OS in pure Rust](https://os.phil-opp.com/news/2018-03-09-pure-rust/) +- [Write an OS in pure Rust](https://os.phil-opp.com/) - [Build a browser engine in Rust](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) - [Write a Microservice in Rust](http://www.goldsborough.me/rust/web/tutorial/2018/01/20/17-01-11-writing_a_microservice_in_rust/) - [Learning Rust with Too Many Linked Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/README.html) @@ -531,14 +614,26 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 1: Implementing WebSocket. Introduction.](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html) - [Part 2: Sending and Receiving Messages](https://nbaksalyar.github.io/2015/11/09/rust-in-detail-2.html) - [Writing a Rust Roguelike for the Desktop and the Web](https://aimlesslygoingforward.com/blog/2019/02/09/writing-a-rust-roguelike-for-the-desktop-and-the-web/) +- [Writing NES Emulator in Rust](https://bugzmanov.github.io/nes_ebook/) +- Create a simulation of evolution using neural network and genetic algorithm, and compile the application to WebAssembly + - [Part 1](https://pwy.io/en/posts/learning-to-fly-pt1/) + - [Part 2](https://pwy.io/en/posts/learning-to-fly-pt2/) + - [Part 3](https://pwy.io/en/posts/learning-to-fly-pt3/) + - [Part 4](https://pwy.io/en/posts/learning-to-fly-pt4/) + +## Scala: +- [Simple actor-based blockchain](https://www.freecodecamp.org/news/how-to-build-a-simple-actor-based-blockchain-aac1e996c177/) +- [No Magic: Regular Expressions](https://rcoh.svbtle.com/no-magic-regular-expressions) ## Swift: - [Hacking with Swift - Learn Swift by doing 39 projects](https://www.hackingwithswift.com/read) +- [Retro first-person shooter from scratch](https://github.com/nicklockwood/RetroRampage) ## Additional Resources - [React Redux Links](https://github.com/markerikson/react-redux-links) +- [Udemy.com](https://www.udemy.com/) - [Full Stack Python](https://www.fullstackpython.com/) - [Node School](https://nodeschool.io/) - [ScotchIO](https://scotch.io/) @@ -549,3 +644,4 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [C Project Based Tutorials](https://github.com/rby90/Project-Based-Tutorials-in-C) - [Enlight](https://enlight.nyc/) - [Hack Club Workshops](https://hackclub.com/workshops/) +- [CodeCrafters](https://codecrafters.io/)