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.
- 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
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
- Read each module in order - The course is designed to be progressive
- Practice each example - Run all code in your terminal or browser console
- Do the exercises - Practice is fundamental
- Get extra practice - Use platforms like Codewars, LeetCode, or freeCodeCamp
- Experiment - Don't be afraid to try variations and build your own projects
- 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 π
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
π Go to Module 1: Introduction to JavaScript
- START-HERE.md - Complete start guide with study plans
- QUICK-GUIDE.md - Syntax and command cheat sheet
- ADDITIONAL-RESOURCES.md - Links, books, videos, community
The examples/
directory contains ready-to-run projects:
- Simple CLI Tool (
examples/01-cli-tool/
) - REST API (
examples/02-rest-api/
) - Full-Stack Web App (
examples/03-fullstack-app/
)
Remember that practice is the key to learning! Don't hesitate to experiment and make mistakes.