Skip to content
ProjectsWritingAboutCVLinks
WA
Hire me
HomeProjectsWritingAboutCVLinks

Have a useful problem?

Let's make the next
thing worth using.

© 2026 Wasif AliBuilt around evidence, not hype. Privacy
WASIF ALI
Home/Projects/AccessDesk

Case study, Full-Stack

AccessDesk
Access portal · FSD Assignment 05

A role-based customer access portal: one MySQL database shared by four API-key roles, each with its own row limits, credit allowance and visible fields — enforced on the server.

Coursework project — Oct 2026.Full-Stack
View source All projects

Context

The problem

One customer database, four kinds of callers. Guests should see names only; admins need usage data. AccessDesk puts every permission decision on the server, so the browser never decides what a caller may see.

My role: Full Stack Web Development Assignment 05, Air University Kamra.

Implementation

How it works

Identify first

Every request carries an API key in the x-api-key header; unknown keys get 401 before anything else runs.

Check in order

One middleware chain enforces action permission, database/table allow-listing and credit balance, each with its own status code.

Return only what is allowed

Row limits and column whitelists are applied per role, and search uses bound parameters — never string-built SQL.

Implementation highlights

  • Four API-key roles: Guest, Student, Teacher, Admin
  • Row limits + credit allowances per role (429 when exhausted)
  • Field projection: each role sees only its allowed columns
  • Fixed middleware chain: identity (401) → action (403) → credits (429) → validated, parameterized SQL
  • No credentials or permission logic in the browser

Evidence

What can be verified

The points below summarize the public repository and owner-provided CV where noted. Read the source for implementation details before drawing further conclusions.

Roles4

Guest, Student, Teacher, Admin — each with row limit and credits.

Checks5-step chain

401 → 403 → 403 → 429 → validated SQL.

Docs13-page report

Design, API routes, security analysis and verification cases.

Boundaries

Limitations and next questions

  • Academic assignment; credits live in server memory and reset on restart.
  • No hosted demo; runs on localhost with XAMPP MySQL.
  • Demo API keys are for the assignment only — no key values are published here.
Evidence-first note: a live demo demonstrates an interface and workflow; it does not by itself prove security, scale, or real-world impact.

Technical overview

Node.jsExpressMySQLjQueryAJAX

Project links

Inspect the original implementation and, where available, the live application.

Repository

Last content review: 14 November 2026. Details may change as project repositories evolve.

Continue exploring

Related work.

Full-Stack

University Course Management System

A university course platform with student/admin roles, secure login and full course management — bcrypt password hashing, JWT sessions and role-based access.

Desktop · Java

Pharmacy Management System

A desktop pharmacy system with role-based access, MySQL inventory and real-time stock updates.