diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..88c97588 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,21 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 30 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 14 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security + - help wanted + - good first issue + - enhancement + - in progress +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: true \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index 661fade0..3632221e 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 Tu Tran +Copyright (c) 2021 practical-tutorials 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 dd5b2540..9f3119b7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Project Based Learning -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. +[![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 aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages. To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. @@ -9,6 +11,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [C#](#c) - [C/C++](#cc) - [Clojure](#clojure) +- [Dart](#dart) - [Elixir](#elixir) - [Erlang](#erlang) - [F#](#f) @@ -25,12 +28,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/) @@ -38,7 +43,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 @@ -57,6 +62,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Linux Container in 500 Lines of Code](https://blog.lizzie.io/linux-containers-in-500-loc.html) - [Write Your Own Virtual Machine](https://justinmeiners.github.io/lc3-vm/) - [Learning KVM - Implement Your Own Linux Kernel](https://david942j.blogspot.com/2018/10/note-learning-kvm-implement-your-own.html) +- [Build Your Own Redis with C/C++](https://build-your-own.org/redis/) - Write a C compiler - [Part 1: Integers, Lexing and Code Generation](https://norasandler.com/2017/11/29/Write-a-Compiler.html) - [Part 2: Unary Operators](https://norasandler.com/2017/12/05/Write-a-Compiler-2.html) @@ -89,6 +95,15 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 8: Stack unwinding](https://blog.tartanllama.xyz/writing-a-linux-debugger-unwinding/) - [Part 9: Handling variables](https://blog.tartanllama.xyz/writing-a-linux-debugger-variables/) - [Part 10: Advanced topics](https://blog.tartanllama.xyz/writing-a-linux-debugger-advanced-topics/) +- Let's write a compiler + - [Part 1: Introduction, selecting a language, and doing some planning](https://briancallahan.net/blog/20210814.html) + - [Part 2: A lexer](https://briancallahan.net/blog/20210815.html) + - [Part 3: A parser](https://briancallahan.net/blog/20210816.html) + - [Part 4: Testing](https://briancallahan.net/blog/20210817.html) + - [Part 5: A code generator](https://briancallahan.net/blog/20210818.html) + - [Part 6: Input and output](https://briancallahan.net/blog/20210819.html) + - [Part 7: Arrays](https://briancallahan.net/blog/20210822.html) + - [Part 8: Strings, forward references, and conclusion](https://briancallahan.net/blog/20210826.html) ### Network programming @@ -101,13 +116,14 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 5: TCP Retransmission](http://www.saminiir.com/lets-code-tcp-ip-stack-5-tcp-retransmission/) - Programming concurrent servers + - [Part 1 - Introduction](https://eli.thegreenplace.net/2017/concurrent-servers-part-1-introduction/) - [Part 2 - Threads](https://eli.thegreenplace.net/2017/concurrent-servers-part-2-threads/) - [Part 3 - Event-driven](https://eli.thegreenplace.net/2017/concurrent-servers-part-3-event-driven/) - [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) @@ -150,6 +166,26 @@ 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) + +## Dart: + +### Flutter: + +- [Amazon Clone with Admin Panel](https://youtu.be/O3nmP-lZAdg) +- [Food Delivery App](https://youtu.be/7dAt-JMSCVQ) +- [Google Docs Clone](https://youtu.be/0_GJ1w_iG44) +- [Instagram Clone](https://youtu.be/mEPm9w5QlJM) +- [Multiplayer TicTacToe Game](https://youtu.be/Aut-wfXacXg) +- [TikTok Clone](https://youtu.be/4E4V9F3cbp4) +- [Ticket Booking App](https://youtu.be/71AsYo2q_0Y) +- [Travel App](https://youtu.be/x4DydJKVvQk) +- [Twitch Clone](https://youtu.be/U9YKZrDX0CQ) +- [WhatsApp Clone](https://youtu.be/yqwfP2vXWJQ) +- [Wordle Clone](https://youtu.be/_W0RN_Cqhpg) +- [Zoom Clone](https://youtu.be/sMA1dKbv33Y) +- [Netflix Clone](https://youtu.be/J8IFNKzs3TI) ## Elixir @@ -170,22 +206,27 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Build an Interpreter](http://www.craftinginterpreters.com/) (Chapter 4-13 is written in Java) - [Build a Simple HTTP Server with Java](http://javarevisited.blogspot.com/2015/06/how-to-create-http-server-in-java-serversocket-example.html) - [Build an Android Flashlight App](https://www.youtube.com/watch?v=dhWL4DC7Krs) (video) -- [Build a Spring Boot App with User Authentication](https://scotch.io/tutorials/build-a-spring-boot-app-with-user-authentication) +- [Build a Spring Boot App with User Authentication](https://spring.io/guides/gs/securing-web/) ## JavaScript: - [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) +- [Build a Simple Weather App With Vanilla JavaScript](https://webdesign.tutsplus.com/tutorials/build-a-simple-weather-app-with-vanilla-javascript--cms-33893) +- [Build a Todo List App in JavaScript](https://github.com/dwyl/javascript-todo-list-tutorial) ## 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: @@ -193,27 +234,25 @@ 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) - [Make a Chat Application](https://medium.freecodecamp.org/how-to-build-a-chat-application-using-react-redux-redux-saga-and-web-sockets-47423e4bc21a) - [Create a News App with React Native](https://medium.freecodecamp.org/create-a-news-app-using-react-native-ced249263627) - [Learn Webpack For React](https://medium.freecodecamp.org/learn-webpack-for-react-a36d4cac5060) -- [Testing React App With Pupepeteer and Jest](https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59) +- [Testing React App With Puppeteer and Jest](https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59) - [Build Your Own React Boilerplate](https://medium.freecodecamp.org/how-to-build-your-own-react-boilerplate-2f8cbbeb9b3f) - [Code The Game Of Life With React](https://medium.freecodecamp.org/create-gameoflife-with-react-in-one-hour-8e686a410174) - [A Basic React+Redux Introductory Tutorial](https://hackernoon.com/a-basic-react-redux-introductory-tutorial-adcc681eeb5e) - [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) @@ -222,6 +261,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 5](https://www.youtube.com/watch?v=lpba9vBqXl0) - [Part 6](https://www.youtube.com/watch?v=Jvp8j6zrFHE) - [Part 7](https://www.youtube.com/watch?v=M_hFfrN8_PQ) +- [React Phone E-Commerce Project(video)](https://www.youtube.com/watch?v=-edmQKcOW8s) #### Angular: @@ -231,6 +271,7 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [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 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) @@ -241,15 +282,17 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB #### Node: -- [Build A Simple Website With Node,Express and MongoDB](https://closebrace.com/tutorials/2017-03-02/the-dead-simple-step-by-step-guide-for-front-end-developers-to-getting-up-and-running-with-nodejs-express-and-mongodb) - [Build a real-time Markdown Editor with NodeJS](https://scotch.io/tutorials/building-a-real-time-markdown-viewer) - [Test-Driven Development with Node, Postgres and Knex](http://mherman.org/blog/2016/04/28/test-driven-development-with-node/) - Write a Twitter Bot in Node.js - [Part 1](https://codeburst.io/build-a-simple-twitter-bot-with-node-js-in-just-38-lines-of-code-ed92db9eb078) - [Part 2](https://codeburst.io/build-a-simple-twitter-bot-with-node-js-part-2-do-more-2ef1e039715d) -- [Create A Simple RESTFUL Web App](https://closebrace.com/tutorials/2017-03-02/creating-a-simple-restful-web-app-with-nodejs-express-and-mongodb) - [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 @@ -260,6 +303,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...): @@ -267,9 +311,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Part 1](https://bitsofco.de/bitsofcode-pwa-part-1-offline-first-with-service-worker/) - [Part 2](https://bitsofco.de/bitsofcode-pwa-part-2-instant-loading-with-indexeddb/) - [Part 3](https://bitsofco.de/bitsofcode-pwa-part-3-push-notifications/) -- Build A Support Ticket Application With AdonisJs - - [Part 1](https://scotch.io/tutorials/build-a-support-ticket-application-with-adonisjs) - - [Part 2](https://scotch.io/tutorials/build-a-support-ticket-application-with-adonisjs-part-2) - [Build A Native Desktop App with JS](https://medium.freecodecamp.org/build-native-desktop-apps-with-javascript-a49ede90d8e9) - Build a Powerful API with NodeJs,GraphQL and Hapi - [Part I](https://medium.com/@wesharehoodies/how-to-setup-a-powerful-api-with-nodejs-graphql-mongodb-hapi-and-swagger-e251ac189649) @@ -288,10 +329,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB ### Desktop Application: -- Build a Music Player with React & Electron - - [Part 1](https://scotch.io/tutorials/build-a-music-player-with-react-electron-i-setup-basic-concepts) - - [Part 2](https://scotch.io/tutorials/build-a-music-player-with-react-electron-ii-making-the-ui) - - [Part 3](https://scotch.io/tutorials/build-a-music-player-with-react-electron-iii-bringing-it-all-together) - [Build A Desktop Chat App with React and Electron](https://medium.freecodecamp.org/build-a-desktop-chat-app-with-react-electron-and-chatkit-744d168e6f2f) ### Miscellaneous: @@ -339,17 +376,24 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB ### Web Applications: - [Build a Microblog with Flask](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) -- Create a Blog Web App In Django - - [Part I : Introduction](https://tutorial.djangogirls.org/en/) - - [Part II : Extension To Add More Features](https://legacy.gitbook.com/book/djangogirls/django-girls-tutorial-extensions/details) +- [Create a Blog Web App In Django](https://tutorial.djangogirls.org/en/) - [Choose Your Own Adventure Presentations](https://www.twilio.com/blog/2015/03/choose-your-own-adventures-presentations-wizard-mode-part-1-of-3.html) - [Build a Todo List with Flask and RethinkDB](https://realpython.com/blog/python/rethink-flask-a-simple-todo-list-powered-by-flask-and-rethinkdb/) - [Build a Todo List with Django and Test-Driven Development](http://www.obeythetestinggoat.com/) - [Build a RESTful Microservice in Python](http://www.skybert.net/python/developing-a-restful-micro-service-in-python/) - [Microservices with Docker, Flask, and React](https://testdriven.io/) - [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/) +- Realtime Chat application with Vue, django-notifs, RabbitMQ and uWSGI + - [Part 1](https://danidee10.github.io/2018/01/01/realtime-django-1.html) + - [Part 2](https://danidee10.github.io/2018/01/03/realtime-django-2.html) + - [Part 3](https://danidee10.github.io/2018/01/07/realtime-django-3.html) + - [Part 4](https://danidee10.github.io/2018/01/10/realtime-django-4.html) + - [Part 5](https://danidee10.github.io/2018/01/13/realtime-django-5.html) + - [Part 6](https://danidee10.github.io/2018/03/12/realtime-django-6.html) ### Bots: @@ -378,7 +422,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) @@ -386,11 +430,13 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - Find Similar Quora Questions- - [Using BOW, TFIDF and Xgboost](https://towardsdatascience.com/finding-similar-quora-questions-with-bow-tfidf-and-random-forest-c54ad88d1370) - [Using Word2Vec and Xgboost](https://towardsdatascience.com/finding-similar-quora-questions-with-word2vec-and-xgboost-1a19ad272c0d) +- [Detecting Fake News with Python and Machine Learning](https://data-flair.training/blogs/advanced-python-project-detecting-fake-news/) ### OpenCV: - [Build A Document Scanner](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/) - [Build A Face Detector using OpenCV and Deep Learning](https://www.pyimagesearch.com/2018/02/26/face-detection-with-opencv-and-deep-learning/) +- [Build fastest custom object Detection system yusing YOLOv3(video playlist)](https://www.youtube.com/playlist?list=PLKHYJbyeQ1a0oGzgRXy-QwAN1tSV4XZxg) - [Build a Face Recognition System using OpenCV, Python and Deep Learning](https://www.pyimagesearch.com/2018/06/18/face-recognition-with-opencv-python-and-deep-learning/) - [Detect The Salient Features in an Image](https://www.pyimagesearch.com/2018/07/16/opencv-saliency-detection/) - [Build A Barcode Scanner](https://www.pyimagesearch.com/2018/05/21/an-opencv-barcode-and-qr-code-scanner-with-zbar/) @@ -414,6 +460,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: @@ -454,6 +501,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) - [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: @@ -461,7 +509,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) @@ -476,22 +524,48 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [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) +- [Create a Voice assistant using Python](https://www.geeksforgeeks.org/voice-assistant-using-python/) ## Go: - [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/) - [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](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Building Blockchain in Go - - [Part 1: Basic Prototype](https://jeiwan.cc/posts/building-blockchain-in-go-part-1/) - - [Part 2: Proof of Work](https://jeiwan.cc/posts/building-blockchain-in-go-part-2/) - - [Part 3: Persistence and CLI](https://jeiwan.cc/posts/building-blockchain-in-go-part-3/) - - [Part 4: Transactions 1](https://jeiwan.cc/posts/building-blockchain-in-go-part-4/) - - [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) + - [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/) +- [Building a container from scratch in Go - Liz Rice (Microscaling Systems)(video)](https://www.youtube.com/watch?v=8fi7uSYlOdc) +- [Build Web Application with GoLang](https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/) +- 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 - Project setup](https://www.eddywm.com/lets-build-a-url-shortener-in-go/) + - [Part 2 - Storage Layer](https://www.eddywm.com/lets-build-a-url-shortener-in-go-with-redis-part-2-storage-layer/) + - [Part 3 - Short Link Generator](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-3-short-link-generation/) + - [Part 4 - Forwarding](https://www.eddywm.com/lets-build-a-url-shortener-in-go-part-iv-forwarding/) +- [Building a TCP Chat in Go(video)](https://www.youtube.com/watch?v=Sphme0BqJiY) +- [Building a BitTorrent client from the ground up in Go](https://blog.jse.li/posts/torrent/) +- [REST API masterclass with Go, PostgreSQL and Docker(video playlist)`in progress`](https://www.youtube.com/watch?v=rx6CPDK_5mU&list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE) ## PHP: @@ -509,14 +583,23 @@ 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: - [Implement a Language with LLVM in OCaml](https://llvm.org/docs/tutorial/#kaleidoscope-implementing-a-language-with-llvm-in-objective-caml) +- [Writing a Game Boy Emulator in OCaml](https://linoscope.github.io/writing-a-game-boy-emulator-in-ocaml/) ## 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: @@ -531,7 +614,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) @@ -555,14 +637,28 @@ 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/) +- [Single Page Applications using Rust](http://www.sheshbabu.com/posts/rust-wasm-yew-single-page-application/) +- [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/) @@ -570,6 +666,6 @@ To get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIB - [Egghead.io](http://www.egghead.io/) - [Michael Herman's Blog](http://mherman.org/) - [Thinkster.io](http://thinkster.io) -- [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/)