Merge branch 'master' into master
This commit is contained in:
		
							
								
								
									
										61
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,4 +1,5 @@ | |||||||
| # Project Based Learning | # Project Based Learning | ||||||
|  | [](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. | 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. | ||||||
|  |  | ||||||
| @@ -153,6 +154,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB | |||||||
| - [Building a Spell-Checker](https://bernhardwenzel.com/articles/clojure-spellchecker/) | - [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) | - [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) | - [Prototyping with Clojure](https://github.com/aliaksandr-s/prototyping-with-clojure) | ||||||
|  | - [Tetris in ClojureScript](https://shaunlebron.github.io/t3tr0s-slides) | ||||||
|  |  | ||||||
| ## Elixir | ## Elixir | ||||||
|  |  | ||||||
| @@ -180,11 +182,14 @@ 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 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 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 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: | ## HTML and CSS: | ||||||
|  |  | ||||||
| - [Build A Loading Screen](https://medium.freecodecamp.org/how-to-build-a-delightful-loading-screen-in-5-minutes-847991da509f) | - [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 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: | ### Mobile Application: | ||||||
|  |  | ||||||
| @@ -198,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 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 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](https://www.zcfy.cc/original/create-a-character-voting-app-using-react-node-js-mongodb-and-socket-io) | - [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/) | - [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 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 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 | - 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 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) |   - [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) | - [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 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) | - [Build A ToDo App With React Native](https://blog.hasura.io/tutorial-fullstack-react-native-with-graphql-and-authentication-18183d13373a) | ||||||
| @@ -266,6 +271,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 1](https://medium.com/@anaida07/mevn-stack-application-part-1-3a27b61dcae0) | ||||||
|   - [Part 2](https://medium.com/@anaida07/mevn-stack-application-part-2-2-9ebcf8a22753) |   - [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.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...): | #### Others (Hapi, Express...): | ||||||
|  |  | ||||||
| @@ -356,6 +362,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 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) | - [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) | - [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: | ### Bots: | ||||||
|  |  | ||||||
| @@ -461,6 +470,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB | |||||||
| - [Code a Smile Classifier using CNNS in Python](https://github.com/kylemcdonald/SmileCNN) | - [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) | - [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) | - [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: | ### Miscellaneous: | ||||||
|  |  | ||||||
| @@ -491,15 +501,36 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB | |||||||
| - [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) | - [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) | ||||||
| - [How to Use Godog for Behavior-driven Development in Go et started with Godog](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) | - [How to Use Godog for Behavior-driven Development in Go et started with Godog](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) | ||||||
| - Building Blockchain in Go | - Building Blockchain in Go | ||||||
|   - [Part 1: Basic Prototype](https://jeiwan.cc/posts/building-blockchain-in-go-part-1/) |   - [Part 1: Basic Prototype](https://jeiwan.net/posts/building-blockchain-in-go-part-1/) | ||||||
|   - [Part 2: Proof of Work](https://jeiwan.cc/posts/building-blockchain-in-go-part-2/) |   - [Part 2: Proof of Work](https://jeiwan.net/posts/building-blockchain-in-go-part-2/) | ||||||
|   - [Part 3: Persistence and CLI](https://jeiwan.cc/posts/building-blockchain-in-go-part-3/) |   - [Part 3: Persistence and CLI](https://jeiwan.net/posts/building-blockchain-in-go-part-3/) | ||||||
|   - [Part 4: Transactions 1](https://jeiwan.cc/posts/building-blockchain-in-go-part-4/) |   - [Part 4: Transactions 1](https://jeiwan.net/posts/building-blockchain-in-go-part-4/) | ||||||
|   - [Part 5: Address](https://jeiwan.cc/posts/building-blockchain-in-go-part-5/) |   - [Part 5: Address](https://jeiwan.net/posts/building-blockchain-in-go-part-5/) | ||||||
|   - [Part 6: Transactions 2](https://jeiwan.cc/posts/building-blockchain-in-go-part-6/) |   - [Part 6: Transactions 2](https://jeiwan.net/posts/building-blockchain-in-go-part-6/) | ||||||
|   - [Part 7: Network](https://jeiwan.cc/posts/building-blockchain-in-go-part-7/) |   - [Part 7: Network](https://jeiwan.net/posts/building-blockchain-in-go-part-7/) | ||||||
| - [Build Web Application with GoLang](https://legacy.gitbook.com/book/astaxie/build-web-application-with-golang/details) | - [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 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: | ## PHP: | ||||||
|  |  | ||||||
| @@ -517,6 +548,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 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 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) |   - [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: | ## OCaml: | ||||||
|  |  | ||||||
| @@ -531,6 +563,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB | |||||||
|   - [Part 2: PING <-> PONG](https://rohitpaulk.com/articles/redis-2) |   - [Part 2: PING <-> PONG](https://rohitpaulk.com/articles/redis-2) | ||||||
|   - [Part 3: Concurrent Clients](https://rohitpaulk.com/articles/redis-3) |   - [Part 3: Concurrent Clients](https://rohitpaulk.com/articles/redis-3) | ||||||
|   - [Part 4: ECHO](https://rohitpaulk.com/articles/redis-4) |   - [Part 4: ECHO](https://rohitpaulk.com/articles/redis-4) | ||||||
|  | - [Rebuilding Git in Ruby](https://thoughtbot.com/blog/rebuilding-git-in-ruby) | ||||||
|  |  | ||||||
| ### Ruby on Rails: | ### Ruby on Rails: | ||||||
|  |  | ||||||
| @@ -545,7 +578,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 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) | - [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) | - [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 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) | - [Making a Website with Haskell **(outdated)**](http://adit.io/posts/2013-04-15-making-a-website-with-haskell.html) | ||||||
|  |  | ||||||
| @@ -569,6 +601,12 @@ 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 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) |   - [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 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: | ## Scala: | ||||||
| - [Simple actor-based blockchain](https://www.freecodecamp.org/news/how-to-build-a-simple-actor-based-blockchain-aac1e996c177/) | - [Simple actor-based blockchain](https://www.freecodecamp.org/news/how-to-build-a-simple-actor-based-blockchain-aac1e996c177/) | ||||||
| @@ -577,6 +615,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB | |||||||
| ## Swift: | ## Swift: | ||||||
|  |  | ||||||
| - [Hacking with Swift - Learn Swift by doing 39 projects](https://www.hackingwithswift.com/read) | - [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 | ## Additional Resources | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user