---
title: "BlogSpace — Live & deployed full-stack | Harshith Nayaka L"
description: "Full-stack blogging platform with JWT authentication, role-based access and an admin panel, built on React, Node and MongoDB, and live in production."
canonical: "https://harshith-nayaka-l-portfolio.vercel.app/work/blogspace"
last-updated: "2026-08-22T04:29:48Z"
author: "Harshith Nayaka L"
content-type: "text/markdown"
html-version: "https://harshith-nayaka-l-portfolio.vercel.app/work/blogspace"
---
# BlogSpace — Live & deployed full-stack

> A complete blogging platform with authentication, roles, and an admin panel, built end to end and running in production.

Case study by Harshith Nayaka L, AI Engineer (Full-Stack), Bengaluru, India.
Canonical page: https://harshith-nayaka-l-portfolio.vercel.app/work/blogspace

- **Type:** Full-stack web app
- **Stack:** React + Node + MongoDB
- **Role:** Solo, front to back

## The problem

A blogging platform sounds simple until you list what it actually needs: accounts, secure login, two kinds of users, content that only the right people can edit, and an admin who can moderate all of it. That's a real application, not a toy.

I built it solo, end to end, as proof I can take a full-stack product from auth to deployment without hand-waving the hard parts.

## What I built

BlogSpace handles the full lifecycle: register and log in with JWT-based auth and hashed passwords, write and publish posts in a rich-text editor, and manage everything through an admin panel with role-based access.

Users get drafts, published states, tags, auto-generated excerpts and read-time. Admins get user promotion/demotion and post moderation. It's deployed across Netlify, Render, and MongoDB Atlas, and it's live, not a localhost screenshot.

## Pipeline

- **Auth:** Register / login (JWT + bcrypt) → Role assignment (User vs admin)
- **Content:** Rich-text editor (Draft / publish) → Post CRUD (Owned by author)
- **Guard:** Protected routes (Access by role)
- **Admin:** Moderation panel (Manage users & posts)

## The judgment calls

**Auth done properly, not faked**

JWT tokens, bcrypt-hashed passwords, protected routes, and role-based access control. The boring security fundamentals that separate a real app from a tutorial, implemented rather than skipped.

**Two user classes, enforced server-side**

Users manage their own content; admins manage everyone's. The boundary is enforced on the backend, not hidden in the UI, so the permission model actually holds.

**Deployed across three services**

Frontend on Netlify, backend on Render, database on MongoDB Atlas. Wiring those together and keeping them talking in production is its own skill, and it's live.

## What it changed

**What it proves:** End-to-end full-stack capability: a working auth system, a real permission model, and a deployment that strangers can actually use.

**Try it:** It's live and clickable, with demo accounts available, the strongest kind of proof: not a description, a working thing.

## Built with

React, Node.js / Express, MongoDB / Mongoose, JWT + bcrypt, Netlify + Render

## Links

- [View on GitHub](https://github.com/HarshithNayakaL/blogspace-internship)
