Skip to content

Full Stack / Security

Password Manager

A secure, straightforward password manager built on the MERN stack. Users store, organise and retrieve credentials for the sites they use, with each vault scoped to its owner.

MongoDBExpress.jsReactNode.jsREST APIs
Password Manager — schematic overview diagram
Schematic overview — a diagram, not a product screenshot

NoteBuilt as a learning project. No real credentials appear anywhere in the repository, the screenshots or this site.

01Overview

What it is.

This project was about handling sensitive data responsibly rather than about the CRUD itself. Every design decision came back to one question: what does the server actually need to store, and what should never leave the client in plain form?

It gave me a practical reason to think about authentication, authorisation and data isolation instead of treating them as boilerplate.

02 — The problem

Reused passwords are the single most common personal security failure, and people reuse them because managing unique ones by hand is tedious.

03 — The approach

A single authenticated vault per user with fast search and clean organisation, built on a REST API that never returns another user's records regardless of the request.

04Key features

What it actually does.

Per-user vault

Every record is keyed to its owner and authorisation is checked server-side on each request.

Full CRUD on entries

Add, edit, organise and delete stored site credentials.

Search and organisation

Entries are filterable so a large vault stays usable.

REST API

Express routes with validation, so the React client is one consumer rather than the source of truth.

05Architecture

How the pieces fit together.

  1. 01

    React client

    Vault UI, forms and search.

  2. 02

    Express API

    Authentication, validation and ownership checks on every route.

  3. 03

    MongoDB

    Per-user credential records.

06Technology

The stack.

Chosen for the problem, not for the resume.

Frontend
ReactJavaScript
Backend
Node.jsExpress.jsREST APIs
Data
MongoDB
07What I learned

The part that stuck.

Student portfolio, so this section is the point — here is what this build actually taught me.

  • 01

    Authorisation has to be enforced on the server for every single route. Hiding a button in the UI is not access control — that lesson landed here.

  • 02

    Handling sensitive data made me read properly about hashing and storage rather than copying an auth snippet and moving on.

  • 03

    The MERN stack end-to-end showed me how much of 'full stack' is really about keeping one clear contract between the two halves.

Next project

Real-Time Currency Converter

A responsive converter running on live exchange-rate data, built with plain HTML, CSS and JavaScript.

Work together

Have a project idea?

I'm open to freelance projects, collaborations, internships, and opportunities where I can contribute while continuing to grow.

Usually replies within a day · Lahore, Pakistan · PKT (UTC+5)

Chat on WhatsApp