Skip to content

Commit 093ef37

Browse files
authored
Merge branch 'master' into golang-resource
2 parents 37851a1 + 4d08a98 commit 093ef37

File tree

2 files changed

+47
-15
lines changed

2 files changed

+47
-15
lines changed

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2017 Tu Tran
3+
Copyright (c) 2020 Tu Tran
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Project Based Learning
2+
[![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)
23

34
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.
45

@@ -40,7 +41,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
4041
- [How to Program an NES Game in C](https://nesdoug.com/)
4142
- [Write an OS from scratch](https://github.com/tuhdo/os01)
4243
- [How to create an OS from scratch ](https://github.com/cfenollosa/os-tutorial)
43-
- [How to Write an Emulator (CHIP-8 interpreter)](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/)
44+
- [Building a CHIP-8 Emulator](https://austinmorlan.com/posts/chip8_emulator/)
4445
- [Beginning Game Programming with C++ and SDL](http://lazyfoo.net/tutorials/SDL/)
4546
- [Implementing a Key-Value Store](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/)
4647
- Tiny 3D graphics projects
@@ -152,6 +153,8 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
152153
- [Build a Twitter Bot with Clojure](http://howistart.org/posts/clojure/1/index.html)
153154
- [Building a Spell-Checker](https://bernhardwenzel.com/articles/clojure-spellchecker/)
154155
- [Building a JIRA integration with Clojure & Atlassian Connect](https://hackernoon.com/building-a-jira-integration-with-clojure-atlassian-connect-506ebd112807)
156+
- [Prototyping with Clojure](https://github.com/aliaksandr-s/prototyping-with-clojure)
157+
- [Tetris in ClojureScript](https://shaunlebron.github.io/t3tr0s-slides)
155158

156159
## Elixir
157160

@@ -179,11 +182,14 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
179182
- [Build 30 things in 30 days with 30 tutorials](https://javascript30.com)
180183
- [Build an App in Pure JS](https://medium.com/codingthesmartway-com-blog/pure-javascript-building-a-real-world-application-from-scratch-5213591cfcd6)
181184
- [Build a Jupyter Notebook Extension](https://link.medium.com/wWUO7TN8SS)
185+
- [Build a TicTacToe Game with JavaScript](https://medium.com/javascript-in-plain-english/build-tic-tac-toe-game-using-javascript-3afba3c8fdcc)
182186

183187
## HTML and CSS:
184188

185189
- [Build A Loading Screen](https://medium.freecodecamp.org/how-to-build-a-delightful-loading-screen-in-5-minutes-847991da509f)
186190
- [Build an HTML Calculator with JS](https://medium.freecodecamp.org/how-to-build-an-html-calculator-app-from-scratch-using-javascript-4454b8714b98)
191+
- [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/)
192+
187193

188194
### Mobile Application:
189195

@@ -197,14 +203,14 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
197203

198204
- [Create Serverless React.js Apps](http://serverless-stack.com/)
199205
- [Create a Trello Clone](http://codeloveandboards.com/blog/2016/01/04/trello-tribute-with-phoenix-and-react-pt-1/)
200-
- [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/)
206+
- [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)
201207
- [React Tutorial: Cloning Yelp](https://www.fullstackreact.com/articles/react-tutorial-cloning-yelp/)
202208
- [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)
203209
- [Build a Twitter Stream with React and Node](https://scotch.io/tutorials/build-a-real-time-twitter-stream-with-node-and-react-js)
204210
- Build a Serverless MERN Story App with Webtask.io
205211
- [Part 1](https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-1)
206212
- [Part 2](https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-2)
207-
- [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)
213+
- [Build A Simple Medium Clone using React.js and Node.js](https://medium.com/@kris101/clone-medium-on-node-js-and-react-js-731cdfbb6878)
208214
- [Integrate MailChimp in JS](https://medium.freecodecamp.org/how-to-integrate-mailchimp-in-a-javascript-web-app-2a889fb43f6f)
209215
- [Build A Chrome Extension with React + Parcel](https://medium.freecodecamp.org/building-chrome-extensions-in-react-parcel-79d0240dd58f)
210216
- [Build A ToDo App With React Native](https://blog.hasura.io/tutorial-fullstack-react-native-with-graphql-and-authentication-18183d13373a)
@@ -265,6 +271,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
265271
- [Part 1](https://medium.com/@anaida07/mevn-stack-application-part-1-3a27b61dcae0)
266272
- [Part 2](https://medium.com/@anaida07/mevn-stack-application-part-2-2-9ebcf8a22753)
267273
- [Vue.js To-Do List Tutorial (video)](https://www.youtube.com/watch?v=78tNYZUS-ps)
274+
- [Vue 2 + Pub/Sub: Build a peer to peer multi-user platform for games](https://www.ably.io/tutorials/peer-to-peer-vue)
268275

269276
#### Others (Hapi, Express...):
270277

@@ -355,6 +362,9 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
355362
- [Build A Simple Web App With Flask](https://pythonspot.com/flask-web-app-with-python/)
356363
- [Build a RESTful API with Flask – The TDD Way](https://scotch.io/tutorials/build-a-restful-api-with-flask-the-tdd-way)
357364
- [Create A Django API in under 20 minutes](https://codeburst.io/create-a-django-api-in-under-20-minutes-2a082a60f6f3)
365+
- Build a Community-driven delivery application with Django, Postgres and JavaScript
366+
- [Part 1](https://www.ashwinhariharan.tech/blog/thinking-of-building-a-contact-tracing-application-heres-what-you-can-do-instead/)
367+
- [Part 2](https://www.ashwinhariharan.tech/blog/thinking-of-building-a-contact-tracing-application-heres-what-you-can-do-instead-part-2/)
358368

359369
### Bots:
360370

@@ -383,7 +393,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
383393
- [Step-By-Step Machine Learning In Python](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)
384394
- [Predict Quality Of Wine](https://medium.freecodecamp.org/using-machine-learning-to-predict-the-quality-of-wines-9e2e13d7480d)
385395
- [Solving A Fruits Classification Problem](https://towardsdatascience.com/solving-a-simple-classification-problem-with-python-fruits-lovers-edition-d20ab6b071d2)
386-
- [Learn Unsupervised Learning with Python](https://towardsdatascience.com/unsupervised-learning-with-python-173c51dc7f03)
387396
- [Build Your Own Neural Net from Scratch in Python](https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6)
388397
- [Linear Regression in Python without sklearn](https://medium.com/we-are-orb/linear-regression-in-python-without-scikit-learn-50aef4b8d122)
389398
- [Multivariate Linear Regression without sklearn](https://medium.com/we-are-orb/multivariate-linear-regression-in-python-without-scikit-learn-7091b1d45905)
@@ -419,6 +428,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
419428
- [Mutiple Object Tracker](https://www.pyimagesearch.com/2018/10/29/multi-object-tracking-with-dlib/)
420429
- [Image Stitching with OpenCV and Python](https://www.pyimagesearch.com/2018/12/17/image-stitching-with-opencv-and-python/)
421430
- [Instance Segmentation with OpenCV](https://www.pyimagesearch.com/2018/11/26/instance-segmentation-with-opencv/)
431+
- [Face mask detector](https://www.pyimagesearch.com/2020/05/04/covid-19-face-mask-detector-with-opencv-keras-tensorflow-and-deep-learning/)
422432

423433
### Deep Learning:
424434

@@ -459,6 +469,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
459469
- [Code a Smile Classifier using CNNS in Python](https://github.com/kylemcdonald/SmileCNN)
460470
- [Natural Language Processing using scikit-learn](https://towardsdatascience.com/natural-language-processing-count-vectorization-with-scikit-learn-e7804269bb5e)
461471
- [Code a Taylor Swift Lyrics Generator](https://towardsdatascience.com/ai-generates-taylor-swifts-song-lyrics-6fd92a03ef7e)
472+
- [Mask detection using PyTorch Lightning](https://towardsdatascience.com/how-i-built-a-face-mask-detector-for-covid-19-using-pytorch-lightning-67eb3752fd61)
462473

463474
### Miscellaneous:
464475

@@ -481,21 +492,22 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
481492
- [Create photomosaic art](https://robertheaton.com/2018/11/03/programming-project-4-photomosaics/)
482493
- [Build the game "Snake" in the terminal](https://robertheaton.com/2018/12/02/programming-project-5-snake/)
483494
- [Write yourself a Git](https://wyag.thb.lt/)
495+
- [A Python implementation of a Python bytecode runner](https://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html)
484496

485497
## Go:
486498

487499
- [Create a Real Time Chat App with Golang, Angular 2, and WebSocket](https://www.thepolyglotdeveloper.com/2016/12/create-real-time-chat-app-golang-angular-2-websockets/)
488500
- [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin)
489501
- [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)
490502
- Building Blockchain in Go
491-
- [Part 1: Basic Prototype](https://jeiwan.cc/posts/building-blockchain-in-go-part-1/)
492-
- [Part 2: Proof of Work](https://jeiwan.cc/posts/building-blockchain-in-go-part-2/)
493-
- [Part 3: Persistence and CLI](https://jeiwan.cc/posts/building-blockchain-in-go-part-3/)
494-
- [Part 4: Transactions 1](https://jeiwan.cc/posts/building-blockchain-in-go-part-4/)
495-
- [Part 5: Address](https://jeiwan.cc/posts/building-blockchain-in-go-part-5/)
496-
- [Part 6: Transactions 2](https://jeiwan.cc/posts/building-blockchain-in-go-part-6/)
497-
- [Part 7: Network](https://jeiwan.cc/posts/building-blockchain-in-go-part-7/)
498-
- [Build Web Application with GoLang](https://legacy.gitbook.com/book/astaxie/build-web-application-with-golang/details)
503+
- [Part 1: Basic Prototype](https://jeiwan.net/posts/building-blockchain-in-go-part-1/)
504+
- [Part 2: Proof of Work](https://jeiwan.net/posts/building-blockchain-in-go-part-2/)
505+
- [Part 3: Persistence and CLI](https://jeiwan.net/posts/building-blockchain-in-go-part-3/)
506+
- [Part 4: Transactions 1](https://jeiwan.net/posts/building-blockchain-in-go-part-4/)
507+
- [Part 5: Address](https://jeiwan.net/posts/building-blockchain-in-go-part-5/)
508+
- [Part 6: Transactions 2](https://jeiwan.net/posts/building-blockchain-in-go-part-6/)
509+
- [Part 7: Network](https://jeiwan.net/posts/building-blockchain-in-go-part-7/)
510+
- [Build Web Application with GoLang](https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/)
499511
- [Building a container from scratch in Go - Liz Rice (Microscaling Systems)](https://www.youtube.com/watch?v=8fi7uSYlOdc)
500512
- Building a Chat Application in Go with ReactJS
501513
- [Part 1: Initial Setup](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-1-initial-setup/)
@@ -505,7 +517,19 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
505517
- [Part 5: Improving the Frontend](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-5-improved-frontend/)
506518
- [Part 6: Dockerizing your Backend](https://tutorialedge.net/projects/chat-system-in-go-and-react/part-6-dockerizing-your-backend/)
507519
- [Go WebAssembly Tutorial - Building a Calculator Tutorial](https://tutorialedge.net/golang/go-webassembly-tutorial/)
508-
520+
- REST Servers in Go
521+
- [Part 1 - standard library](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-1-standard-library/)
522+
- [Part 2 - using a router package](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-2-using-a-router-package/)
523+
- [Part 3 - using a web framework](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-3-using-a-web-framework/)
524+
- [Part 4 - using OpenAPI and Swagger](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-4-using-openapi-and-swagger/)
525+
- [Part 5 - middleware](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-5-middleware/)
526+
- [Part 6 - authentication](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-6-authentication/)
527+
- [Part 7 - GraphQL](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-7-graphql/)
528+
- Let's build a URL shortener in Go - with Gin & Redis
529+
- [Part 1](https://www.eddywm.com/lets-build-a-url-shortener-in-go/)
530+
- [Part 2](https://www.eddywm.com/lets-build-a-url-shortener-in-go-with-redis-part-2-storage-layer/)
531+
- [Part 3](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-3-short-link-generation/)
532+
- [Part 4](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-iv-forwarding/)
509533

510534
## PHP:
511535

@@ -523,6 +547,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
523547
- [Part 5: Testing](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-2-unit-tests-96d6dfbf0617)
524548
- [Part 6: User Profile](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-5-user-profile-5c3d0c655f3a)
525549
- [Part 7: Deployment](https://medium.com/@ashokgelal/a-full-featured-multi-tenant-app-with-laravel-part-7-deployment-40bb3c895627)
550+
- [Build a Laravel CRUD Application From Scratch](https://www.codewall.co.uk/laravel-crud-demo-with-resource-controller-tutorial/)
526551

527552
## OCaml:
528553

@@ -537,6 +562,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
537562
- [Part 2: PING <-> PONG](https://rohitpaulk.com/articles/redis-2)
538563
- [Part 3: Concurrent Clients](https://rohitpaulk.com/articles/redis-3)
539564
- [Part 4: ECHO](https://rohitpaulk.com/articles/redis-4)
565+
- [Rebuilding Git in Ruby](https://thoughtbot.com/blog/rebuilding-git-in-ruby)
540566

541567
### Ruby on Rails:
542568

@@ -551,7 +577,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
551577
- [Write Yourself a Scheme in 48 hours](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours)
552578
- [Write You A Scheme, Version 2](https://github.com/write-you-a-scheme-v2/scheme)
553579
- [Roll Your Own IRC Bot](https://wiki.haskell.org/Roll_your_own_IRC_bot)
554-
- [Let's Build A Basic Compiler in Haskell](http://alephnullplex.github.io/cradle/)
555580
- [Making Movie Monad](https://lettier.github.io/posts/2016-08-15-making-movie-monad.html)
556581
- [Making a Website with Haskell **(outdated)**](http://adit.io/posts/2013-04-15-making-a-website-with-haskell.html)
557582

@@ -575,6 +600,12 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
575600
- [Part 1: Implementing WebSocket. Introduction.](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html)
576601
- [Part 2: Sending and Receiving Messages](https://nbaksalyar.github.io/2015/11/09/rust-in-detail-2.html)
577602
- [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/)
603+
- [Writing NES Emulator in Rust](https://bugzmanov.github.io/nes_ebook/)
604+
- Create a simulation of evolution using neural network and genetic algorithm, and compile the application to WebAssembly
605+
- [Part 1](https://pwy.io/en/posts/learning-to-fly-pt1/)
606+
- [Part 2](https://pwy.io/en/posts/learning-to-fly-pt2/)
607+
- [Part 3](https://pwy.io/en/posts/learning-to-fly-pt3/)
608+
- [Part 4](https://pwy.io/en/posts/learning-to-fly-pt4/)
578609

579610
## Scala:
580611
- [Simple actor-based blockchain](https://www.freecodecamp.org/news/how-to-build-a-simple-actor-based-blockchain-aac1e996c177/)
@@ -583,6 +614,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB
583614
## Swift:
584615

585616
- [Hacking with Swift - Learn Swift by doing 39 projects](https://www.hackingwithswift.com/read)
617+
- [Retro first-person shooter from scratch](https://github.com/nicklockwood/RetroRampage)
586618

587619
## Additional Resources
588620

0 commit comments

Comments
 (0)