SaaSFull-stack2025

BookCourier

Library-to-home delivery with real-time tracking and invoicing.

Role

Full-stack Developer

Duration

3 weeks

Year

2025

RBAC

3 user roles

Real-time

Order tracking

The Problem

Public libraries in Bangladesh face a real access problem. Most of their potential users - students, researchers, working professionals - cannot visit during opening hours. The books sit on shelves, unused.

Home delivery solves this. But managing orders, tracking deliveries, and handling returns across hundreds of users requires infrastructure that most libraries don't have.

BookCourier was built to provide exactly that infrastructure.

What I Built

A complete library-to-home delivery platform - three user roles, a full catalogue with search and filtering, end-to-end order management, and real-time status tracking.

Selected Screens
A logistics flow designed to feel operational, not academic
The product had to carry users from catalogue discovery to delivery tracking in a way that felt practical for real library operations, not like a demo stitched together from isolated screens.
Screen 01BookCourier landing page
BookCourier landing page
Landing view introducing the library-to-home delivery flow.
Screen 02BookCourier catalogue screen
BookCourier catalogue screen
Catalogue browsing with search and discovery-focused layout.
Screen 03BookCourier product detail
BookCourier product detail
Book detail screen supporting the checkout flow.
Screen 04BookCourier checkout experience
BookCourier checkout experience
Checkout and delivery workflow for placing orders.
Screen 05BookCourier dashboard screen
BookCourier dashboard screen
Operational dashboard view for role-based order management.
Screen 06BookCourier admin interface
BookCourier admin interface
Admin-facing interface supporting library operations.
Screen 07BookCourier additional product screen
BookCourier additional product screen
Additional project screen showing the full app experience.

Role-based access control

Three distinct roles built with Axios interceptors and protected route logic:

  • Users - browse catalogue, place orders, track deliveries, manage their account
  • Librarians - manage the catalogue, process orders, update delivery status
  • Admins - full platform oversight, user management, reporting

Every route checks role before rendering.

Every API call checks role before executing.

Catalogue with smart search

Debounced search that fires as the user types - no button press needed, no full page reload. Multi-parameter sorting (title, author, availability, date added) and server-side pagination for large collections.

Order management

A complete checkout flow with validation - users select books, confirm their delivery address, and receive an invoice. Librarians process the order and update status in real time. Users track their delivery from dispatch to door.

Optimistic UI

Dashboard updates reflect immediately on interaction - before the server confirms. Skeleton loaders handle the brief loading states. The experience feels instant because it is designed to feel instant.

Key Decisions

MongoDB for the catalogue.Book data - titles, authors, genres, availability, metadata - is document-shaped. MongoDB's flexible schema handles catalogue variations cleanly without migrations.

Firebase Auth for identity. Reliable, scalable, zero-maintenance authentication. Social login available if needed. Focus stays on the product, not the auth infrastructure.

Optimistic updates everywhere. In a delivery tracking context, perceived speed matters. Every status change updates the UI before waiting for the server response.

The Result

BookCourier demonstrates full MERN stack capability with a real-world logistics use case. The RBAC architecture, debounced search, and optimistic UI patterns are directly applicable to any platform product with multiple user types and real-time data.