This repository is dedicated to the Backend Development with NodeJS. Here you will find key highlights/notes/code, reference material related to Backend Engineering, and much more. Join us on this journey to become a Backend developer with NodeJS.
Cousre Instructor
- Sanket Singh SWE II @ Google | Ex-SDE @ Linked[In]
- JavaScript Fundamentals Part 1
- JavaScript Fundamentals Part 2
- How to Navigate This Course
- Developer Skills & Editor Setup
- OPTIONAL: HTML & CSS Crash Course
- JavaScript in the Browser: DOM and Events Fundamentals
- How JavaScript Works Behind the Scenes
- Data Structures, Modern Operators and Strings
- A Closer Look at Functions
- Working With Arrays
- Numbers, Dates, Intl and Timers
- Advanced DOM and Events
- Object-Oriented Programming (O0P) With JavaScript
- Mapty App: OOP, Geolocation, External Libraries, and More!
- Asynchronous JavaScript: Promises, Async/Await, and AJAX
- Modern JavaScript Development: Modules, Tooling, and Functional
- Forkify App: Building a Modern Application
- Setting Up Git and Deployment
- ✅ Introduction to JS
- ✅ Is Javascript Compiled? I Lexical Scoping
- ✅ Lexical Scoping I Auto Global
- ✅ Function Expression
- ✅ Callbacks Inversion of Control
- ✅ How runtime helps in async nature of JS
- ✅ Async Behaviour with Callbacks
- ✅ Introduction to Promises
- 🚧 Promises: Part 2 🚧 (work in progress)
- 🚧 Promises: Part 3
- 🚧 Promises: Part 4
- 🚧 Generators and iterators
- 🚧 Async Await
- ✅ Introduction to Databases & DBMS
- ✅ SQL: Introduction
- ✅ SQL: Commands
- ✅ SQL: Joins
- ✅ Normalization - I
- ✅ Normalization - II
- 🚧 [Git and Github | Introduction | Basic commands]
- 🚧 [Git starters]
- Wait, so you're saying JavaScript isn't weird!
- Understanding why the famous [object Object] pops up and handling it, tactfully.
- Abstract Equality and Special Types!
By Sachin -> 'Handwritten'
What is Backend Engineering?
Backend engineering is a branch of software engineering that focuses on the server-side of web development. It involves the development and maintenance of the servers, databases, APIs, and other components that make up the back-end of web applications.
What is the role of a Backend Engineer
- Design decision making and creation of high-level design (HLD) for architecture
- Writing APIs and interacting with databases
- Implementing business logic
- Maintaining deployment processes and conducting testing
- Performing maintenance and documenting work
- Collaborating with front-end engineers, database administrators, and other stakeholders
- Writing clean and efficient code
- Building robust and scalable systems to support business needs
- Ensuring seamless integration with front-end systems
- Providing a seamless user experience.
Example - Scalability of hotspot (Home Screen Crashed on back button (Live Cricked Match → Dhoni got out) )
Flow of Code, ability to read and understand code.
The main focus during the course is going to be outcome
- end to end Microservices based applications
- deploy app, database on public cloud like aws
- testable JS applications
Link - Scaling hotstar.com for 25 million concurrent viewers - YouTube
- Basics of JavaScript
- Advanced JavaScript
- Scopes in JS
- Closures in JS
- Asynchronous JavaScript with Callbacks and Promises 🕰️
- Hoisting and Coercion
- Node JS
- Express JS 🔥
- Understanding how the internet works 🕸️
- CI/CD
- Micro-service based project development
- Message brokers and Queues 💬
- Introduction to programming and problem solving with JavaScript (Recorded) 🔍
- Design Documentation and Feature Planning 📝
- HLD discussion for the projects 💬
- Deployments on Elastic Beanstalk or EC2 🚀
- REST
- gRPC 🔥
- API development
- CRUD API
- HTTP / HTTPS 🌐
- Web Sockets 💬
- Deployment on AWS and Heroku 🚀
- Containers, Docker, and Intro to Kubernetes 🐳
- MongoDB 💾
- MySQL 💾
- ORM and ODM
- Airline Ticket Booking System Project 🛫
- Blog Project 📝
- Chat Application Project 💬
- Twitter Application Project 🐦
- Networking 🌐
- DOM Manipulation (extra frontend topic, will be taken in extra class or recorded session) 💻
- Streams in NodeJS 🕰️