Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

290 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nodejs-express-mastery

This repository contains my progress and projects while learning backend development with Node.js and Express.js.

The goal of this course is to understand how to build server-side applications using modern Node.js technologies, including working with databases, authentication, sessions, file uploads, email, and application architecture.

🚀 Technologies Covered

  • Node.js
  • Express.js
  • JavaScript (ES Modules)
  • MVC Architecture
  • REST APIs
  • Middleware
  • Routing
  • Authentication & Authorization
  • Sessions & Cookies
  • Sequelize ORM
  • MySQL
  • Database Relationships
  • Template Engines (EJS)
  • File Uploads
  • Multer
  • Static File Serving
  • Password Reset & Token-Based Workflows
  • Email / SMTP
  • Error Handling
  • Environment Variables
  • Security Best Practices

📂 Project Structure

node-course/
│
├── 1_...
├── 2_...
├── 3_...
├── ...
├── 20_...

Each folder represents a milestone or concept learned during the course.

The projects gradually evolve from simple Node.js applications into more structured Express.js applications using databases, authentication, sessions, and file storage.

📚 Learning Progress

  • Node.js fundamentals
  • Express server setup
  • Routing and middleware
  • MVC pattern
  • Working with databases
  • Sequelize ORM
  • MySQL
  • Database relationships
  • Authentication system
  • Sessions and cookies
  • Password hashing
  • Password reset workflow
  • Email / SMTP integration
  • File uploads
  • Multer
  • Serving static files
  • Handling uploaded images
  • REST API development
  • Automated testing
  • Docker
  • Deployment
  • Advanced backend architecture

🛠️ Main Concepts Practiced

Express.js

  • Creating HTTP servers
  • Handling requests and responses
  • Building middleware
  • Organizing routes and controllers
  • Working with Express routers
  • Serving static assets
  • Handling errors

Databases

  • Creating Sequelize models
  • CRUD operations
  • Database relationships
  • Associations between models
  • Querying relational data
  • Persisting application data with MySQL

Authentication

  • User registration and login
  • Password hashing
  • Session management
  • Cookies
  • Protecting authenticated routes
  • Authorization
  • Password reset tokens
  • Token expiration
  • Sending password-reset emails

File Uploads

  • Handling multipart/form-data requests
  • Uploading files with Multer
  • Configuring disk storage
  • Generating unique filenames
  • Storing uploaded files
  • Serving uploaded files through Express
  • Associating uploaded images with database records
  • Deleting uploaded files when their associated records are removed

Application Architecture

  • MVC architecture
  • Separation of routes, controllers, models, and views
  • Middleware-based request processing
  • Environment-based configuration
  • Reusable application components

🎯 Purpose

This repository is mainly for learning, experimentation, and documenting my backend development journey.

Rather than only following tutorials, the goal is to understand the underlying concepts well enough to eventually design and build production-ready applications independently.

The knowledge from this course will be used to build scalable backend applications, APIs, and full-stack products.

📈 Current Progress

Completed through Folder 20 — File Uploads

The project has progressed from basic Node.js and Express concepts to database-backed applications with authentication, sessions, password-reset functionality, email integration, and file uploads.

📌 Future Improvements

  • Complete the remaining course modules
  • Build dedicated REST APIs
  • Add automated tests
  • Learn Docker and containerized development
  • Deploy applications to production
  • Improve architecture and scalability
  • Add logging and monitoring
  • Implement stronger security practices
  • Build independent projects without following a tutorial

About

Backend development with Node.js and Express.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages