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 Nishan Bharati, MERN Stack Developer and co-founder of Navya EdTech. Want something similar built?
Get in touch