Library Management System

Sample library system used in the hands-on labs during Developer Days

Full Stack Web DevelopmentTypeScriptApache-2.0

Abstract

Library Management System is an open-source Full Stack Web Development project. Sample library system used in the hands-on labs during Developer Days. The client is a standalone Angular SPA; the server is an Express + TypeScript API. The two talk over HTTP only — there's no server-side rendering or shared process. It is built using TypeScript, Angular, Express, MongoDB, Node.js. Key capabilities include: Browse, add, edit, and delete books, each with authors, genres, and free-form; Borrow and return books, with due dates and history, or reserve a book that's; Leave and read reviews per book. The complete source code is publicly available on GitHub under the Apache License 2.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

The client is a standalone Angular SPA; the server is an Express + TypeScript API. The two talk over HTTP only — there's no server-side rendering or shared process. The server owns all MongoDB access; embedding generation for search is a pluggable provider selected at runtime (see AGENTS.md).

A full-stack library app — browse a catalog, borrow and reserve books, leave reviews — built on the MEAN stack (MongoDB, Express, Angular, Node.js). It's the sample app used in MongoDB Developer Days hands-on labs, so the codebase intentionally shows off several MongoDB schema design patterns and MongoDB Search / MongoDB Vector Search side by side, not just CRUD.

prefiltering and scalar quantization variants of a Vector Search index

2. Objective

Sample library system used in the hands-on labs during Developer Days

This project demonstrates how TypeScript, Angular, Express can be applied to a real-world Full Stack Web Development problem.

3. Key Features / Modules

  • Browse, add, edit, and delete books, each with authors, genres, and free-form
  • Borrow and return books, with due dates and history, or reserve a book that's
  • Leave and read reviews per book
  • Role-based access: admin-only routes for managing inventory and borrow records
  • Workshop labs for full-text and vector search over the book catalog, including

4. Technology Stack

TypeScriptAngularExpressMongoDBNode.js

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm / yarn / pnpm
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/mongodb-developer/library-management-system.git
cd library-management-system

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by mongodb-developer and published on GitHub under the Apache License 2.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship