Backend · 2025

Bookstore
API

A backend service designed around authentication, user management, validation, database persistence, and transactional email workflows.

Role

Backend Development

Type

REST API

Stack

Node.js · Express · MongoDB

Focus

Auth & User Flows

01 — The Challenge

More than storing users.

The backend needs to handle the full user lifecycle securely, from account creation and validation to authentication and protected access.

Each request must be validated before it reaches the core business logic, while credentials and user data must be handled consistently across the application.

02 — Backend Flow

A predictable request pipeline.

The API is structured around a clear sequence of validation, authentication, request handling, persistence, and external services.

01

Request

02

Validation

03

Authentication

04

Controller

05

Database

06

Transactional Email

03 — Authentication & Security

Trust starts
at the API.

Authentication is handled as a complete workflow rather than a single login endpoint. User input is validated, credentials are protected, and authenticated access is controlled before protected resources are exposed.

01 — Validation

Validate before processing

Incoming data is checked before reaching application logic, reducing invalid requests and keeping endpoint behavior predictable.

02 — Passwords

Protected credentials

Passwords are hashed with bcrypt before persistence, keeping raw credentials out of the database.

03 — Authentication

Token-based access

Authentication tokens provide controlled access to protected endpoints after successful user verification.

04 — Email

Transactional communication

Nodemailer connects account workflows with transactional email, including user verification processes.

Separating validation, credential handling, authentication, and communication responsibilities keeps the API easier to reason about and maintain.

04 — Project Focus

Understanding what
happens behind the UI.

This project strengthened my understanding of how a backend handles data throughout the complete request lifecycle, from validation and authentication to persistence and external services.

Building and debugging the authentication and account verification flows also reinforced the importance of clear responsibilities, predictable error handling, and tracing data across multiple layers of an application.

Node.jsExpressMongoDBMongoosebcryptJWTNodemailerexpress-validator

Next Project

From backend logic
back to visual thinking.

Explore selected work in graphic design, visual identity, editorial design, and digital communication.

Back to selected work