Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

πŸŽ“ 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

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /