Skip to content

Repository files navigation

MERN Stack Learning Repository

A hands-on full-stack web development repository built while Learning the MERN Stack. It contains focused exercises, mini projects, backend experiments, database practice, React applications, and the WanderLust capstone project.

The repository follows the progression from web fundamentals to production-oriented full-stack application development.

Learning Path

Frontend Development

  • HTML structure, tables, forms, semantic elements, and accessibility basics
  • CSS selectors, box model, units, positioning, Flexbox, Grid, transitions, transforms, and animations
  • Responsive layouts and reusable interface patterns
  • Bootstrap utilities and components
  • Tailwind CSS setup and utility-first styling
  • JavaScript fundamentals, functions, arrays, objects, timing events, callbacks, promises, closures, and DOM manipulation
  • APIs and asynchronous browser interactions

Backend Development

  • Node.js fundamentals and npm package usage
  • Express.js servers, routing, middleware, and error handling
  • REST-style routes and CRUD workflows
  • EJS templating and server-rendered views
  • API consumption and backend integrations
  • Authentication, authorization, sessions, and deployment concepts

React Development

  • Components, JSX, props, state, and event handling
  • Forms and component-driven UI design
  • React application structure with Vite
  • Advanced frontend state patterns
  • Material UI with React
  • Redux fundamentals

Databases

  • Relational database concepts and SQL queries
  • Tables, relationships, keys, and constraints
  • MongoDB documents and collections
  • Mongoose schemas, models, validation, and relationships
  • Connecting databases to Express applications

Version Control and Open Source

  • Git fundamentals and repository workflows
  • GitHub-based collaboration
  • Commits, branches, and project documentation

Projects

Mini Projects

Small projects used to practice individual frontend concepts and JavaScript interactions.

CSS Projects

JavaScript Projects

Frontend and React Practice

Backend and API Practice

Database Projects

Major Project

WanderLust

WanderLust is the capstone full-stack project: a listings application inspired by travel and accommodation platforms.

Key technologies and concepts include:

  • Node.js and Express.js
  • MongoDB and Mongoose
  • EJS and EJS Mate templating
  • Passport local authentication
  • Sessions, flash messages, and authorization
  • Joi validation and custom error handling
  • Cloudinary image uploads
  • Mapbox integration
  • MVC-style controllers, models, routes, and views
  • CRUD operations for listings and reviews

Available implementations:

Topics Covered

Web fundamentals, HTML, CSS, JavaScript, DOM manipulation, closures, callbacks, promises, Git, terminal usage, Node.js, Express.js, REST APIs, templating, Flexbox, Grid, animations, responsive design, Bootstrap, Tailwind CSS, SQL, MongoDB, Mongoose, middleware, authentication, authorization, React, Material UI, Redux, deployment, and full-stack project architecture.

Repository Structure

BACKEND/              Node.js and Express.js practice
BACKEND + DB/         Backend and SQL exercises
GITDEMO/              Git and GitHub practice
JS 1/                 Frontend fundamentals
JS 2/                 JavaScript practice
MAJOR PROJECT/        WanderLust capstone applications
MINI PROJECT/         CSS and JavaScript mini projects
MONGO/                MongoDB exercises
MONGOexpress/         MongoDB and Express CRUD application
REACT/                React and Material UI projects
REDUX/                Redux practice
SQL/                  SQL exercises
TAILWINDCSS/          Tailwind CSS project

Running a Project

Each application is intentionally kept in its own folder and may have its own dependencies and environment variables.

  1. Open the folder for the project you want to run.

  2. Install dependencies when a package.json is present:

    npm install
  3. Review the project files for required environment variables such as database, Cloudinary, or Mapbox credentials.

  4. Start the project using its local script, commonly:

    npm start

    React projects created with Vite commonly use:

    npm run dev

Static HTML, CSS, and JavaScript projects can be opened directly in a browser or served with a local development server.

Purpose

This repository documents a practical progression through the MERN stack. The projects are organized as learning milestones, making it possible to revisit a specific concept, compare implementation approaches, and trace the development of a complete full-stack application.

License

This repository is maintained as a personal learning portfolio. Unless a project folder states otherwise, the code is intended for educational use.

About

MERN Stack Learning Repository

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages