Skip to content

πŸŽ“ Complete JavaScript & Node.js course from zero to expert. Learn modern JS, async programming, full-stack development, and build web applications and APIs.

Notifications You must be signed in to change notification settings

AlejandroOliva/js-course

Repository files navigation

πŸŽ“ Complete JavaScript & Node.js Course - From Zero to Expert

Welcome to the complete JavaScript and Node.js course! This course will take you from basic concepts to building full-stack web applications and APIs.

πŸ“š Course Index

  • What is JavaScript?
  • Why JavaScript?
  • Setting up your development environment
  • JavaScript runtime environments
  • Basic syntax and variables
  • Data types and structures
  • Functions and scope
  • Objects and arrays
  • Control flow and loops
  • Error handling
  • Closures and higher-order functions
  • Promises and async/await
  • Modules and imports/exports
  • Classes and inheritance
  • Prototypes and this keyword
  • What is Node.js?
  • Installing Node.js
  • Creating your first Node.js project
  • Understanding npm and package management
  • File system operations
  • Building a CLI application
  • HTTP module and creating servers
  • Express.js framework
  • Middleware and routing
  • Working with databases (MongoDB/PostgreSQL)
  • RESTful APIs
  • Authentication and security
  • ES6+ features
  • Build tools (Webpack, Vite)
  • Testing frameworks (Jest, Mocha)
  • TypeScript introduction
  • Frontend frameworks overview (React, Vue, Angular)
  • Full-stack development
  • Progressive exercises
  • Real projects
  • Commented solutions

πŸš€ How to Use This Course

Option 1: Using Containers (Recommended)

Each module has a pre-configured container environment:

# Build and run the development container
cd containers
podman build -f Dockerfile.dev -t js-course-dev .
podman run -it --rm -p 3000:3000 -p 8080:8080 js-course-dev

# Or use the multi-service setup
podman-compose up -d

Option 2: Local Development

  1. Read each module in order - The course is designed to be progressive
  2. Practice each example - Run all code in your terminal or browser console
  3. Do the exercises - Practice is fundamental
  4. Get extra practice - Use platforms like Codewars, LeetCode, or freeCodeCamp
  5. Experiment - Don't be afraid to try variations and build your own projects

πŸ“‹ Prerequisites

  • Basic programming knowledge (any language)
  • Command line/terminal familiarity
  • Node.js 18+ installed (see Module 1 for installation)
    • Recommended: Use ASDF version manager for easy Node.js management
  • A modern web browser
  • Willingness to learn 😊

🎯 Course Objective

Upon completing this course, you will be able to:

  • βœ… Write JavaScript code confidently
  • βœ… Build Node.js applications
  • βœ… Create web servers and APIs
  • βœ… Work with databases
  • βœ… Understand modern JavaScript features
  • βœ… Apply asynchronous programming principles
  • βœ… Build full-stack applications

πŸ“– Let's Begin

πŸ‘‰ Go to Module 1: Introduction to JavaScript


πŸ“š Reference Guides

  • START-HERE.md - Complete start guide with study plans
  • QUICK-GUIDE.md - Syntax and command cheat sheet
  • ADDITIONAL-RESOURCES.md - Links, books, videos, community

πŸ’» Practical Examples

The examples/ directory contains ready-to-run projects:

  1. Simple CLI Tool (examples/01-cli-tool/)
  2. REST API (examples/02-rest-api/)
  3. Full-Stack Web App (examples/03-fullstack-app/)

Remember that practice is the key to learning! Don't hesitate to experiment and make mistakes.

About

πŸŽ“ Complete JavaScript & Node.js course from zero to expert. Learn modern JS, async programming, full-stack development, and build web applications and APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published