I started this repository to fill my gaps with JavaScript language. It all started as a JavaScript 30 days challenge, but as time went on I kept updating the repoistory with various kinds of technologies and decided to turn it into a library where anyone can learn something new. Read the full story on Medium.
Introducing JSLand, one of the best places to learn JavaScript!
JSLand project is heavily focused on JavaScript language and covers topics like object oriented programming, major features of ES2015, ES2016, all the way to ES2019, asynchronous javascript, higher order functions, context, collections, immutability, but also Node.js, Express, MongoDB, Mocha, Lodash, Jquery, Webpack and React. There is also a section for various interesting modules like Moment, Bcrypt and many other.
In every lesson there is a Useful links file where you'll find more detailed docs regarding the lesson, as well as videos that will explain to you how things work.
This repository is public and encourages forking with other users to contribute to open source by helping others learn tough topics of JavaScript. If you want to contribute, please do. JavaScript is a huge language and there is no way I can cover everything that is needed to be known. You can update the existing lessons or create a new ones. Every line of code you write makes an impact.
But please, make sure you write clean and error-free code.
One last important thing to say is that lessons are not connected. There is no start script. If you see any scripts in package.json file, these are not connected to one project, but rather spread across multiple lessons and used where needed.
With that out of the way, I wish you happy coding and I hope you teach all of us something new.
- Lesson 1 - Core JavaScript: JS DOM, BOM, OOP ES5/ES6, Storage
- Lesson 2 - JavaScript Rules: Hoisting, scopes, context, closures
- Lesson 3 - Modern JavaScript: ES6, ES7, ES8, ES9 and beyond (major features)
- Lesson 4 - Collections: Sets, Maps and Symbols
- Lesson 5 - Higher order functions: Array and string functions, for of/in loop, object methods
- Lesson 6 - Jquery: DOM traversal, jquery vs javascript, Todo: jquery UI, validate
- Lesson 7 - Asynchronous Javascript: Xhr, AJAX, Callbacks, Promises, Async Await and more
- Lesson 8 - Build Tools: Webpack, ESLint, Todo: Gulp
- Lesson 9 - Regex
- Lesson 10 - Patterns: Design Patterns & Algorithms (Todo)
- Lesson 11 - Todo: JavaScript Canvas
- Lesson 12 - Todo: D3.js
- Lesson 13 - Todo: TypeScript
- Lesson 14 - Angular
- Lesson 15 - Electron
- Lesson 16 - Node JS: Core modules, data stream, require / export
- Lesson 17 - Express JS: Routing, middlewares, ejs template engine
- Lesson 18 - Socket IO: Chat App example
- Lesson 19 - MongoDB: Crud operations, MongoDB operators, Todo: aggregation framework, Mongoose
- Lesson 20 - Firebase
- Lesson 21 - Create RESTAPI: NodeJS with text files, Todo: NodeJS with MongoDB, NodeJS with SQL
- Lesson 22 - Upload files: NodeJS / Multer / Folder, Todo: NodeJS / MongoDB / Multer / GridFS
- Lesson 23 - Todo: Authentication: JWT, Passport JS
- Lesson 24 - Lodash
- Lesson 25 - Rx.js
- Lesson 26 - Testing:: Unit Testing, Todo: Integration, E2E Testing
- Lesson 27: - ReactJS: JSX, components, states, Todo: React Router
- Lesson 28 - Todo: Redux/NgRx
- Lesson 29 - Todo: GraphQL
- Lesson 30 - Cool modules: Validator, Chalk, Moment, Opn, Jimp and more
- Lesson 31 - PM2
- Tips and Tricks - handful of JS tricks to improve the way you write code
- Literature - JS books and common interview questions
The following is the list of people whose courses I watched and created previous lessons afterwards:
- Andrew Mead
- Beau Carnes
- Codedamn
- Codevolution
- CodeWorkr
- Dcode
- Lasha Nozadze
- LearnCode.academy
- Maximilian Schwarzmüller
- Mike Dane
- O'Reilly
- Techsith
- The Coding Train
- The Net Ninja
- The New Boston
- Traversy Media
- Tyler McGinnis
- Wes Bos
Along with various other sources like Medium, W3Schools, MDN, Stack Overflow, NPM and other.