Skip to content

Case study · Full-stack MERN application

My Blog App

A MERN blogging application where registered users publish and manage their own posts, built with React, Material UI and Redux Toolkit on the frontend and Node.js, Express.js and MongoDB on the backend.

Type
Full-stack MERN application
Built by
Nishan Bharati
Started
November 2025
Status
Source code on GitHub. No public deployment.
Stack
  • React
  • Material UI
  • Redux Toolkit
  • React Router
  • Axios
  • Vite
  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JSON Web Tokens
  • bcrypt

What it does

A complete create, read, update and delete application across the whole MERN stack. Anyone can read posts; registered users sign in to write posts and manage the ones they have written.

Features

  • Registration and login with bcrypt-hashed passwords and a JWT
  • A public list of all posts and a detail page for each post
  • Creating, updating and deleting posts through protected API routes
  • A “My blogs” page that lists the signed-in user’s posts
  • A Material UI interface with toast notifications

How it works

Data model

Two Mongoose models, User and Blog. Each blog stores a title, a description, an image URL and a reference to its author, with created and updated timestamps.

Protected routes

An Express middleware reads the bearer token from the Authorization header, verifies it with jsonwebtoken and attaches the user ID to the request. The create, update, delete and “my blogs” routes all pass through it.

Frontend

A React app built with Vite, routed with React Router and styled with Material UI. A Redux Toolkit slice tracks whether the user is signed in, and a shared Axios configuration talks to the Express API. Manual test cases are documented in a PDF in the repository.

What I would improve next

  • Take the author from the verified token instead of the request body, and check ownership before a post is updated or deleted.
  • Upload images instead of storing external image URLs.
  • Add a README with setup steps, and deploy a live demo.

Built by , MERN Stack Developer and co-founder of Navya EdTech. Want something similar built?

Get in touch

More projects