Skip to content

bfabdulle/The-Book-Nook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Book Nook – Full-Stack Library Management System

Author: Basera Farah Abdulle
A full-stack Library Management System built with Javascript, Node.js/Express, and a modern web UI, designed to manage borrowing, returns, notifications, and multi-user workflows. This project demonstrates end-to-end system design, business logic implementation, and automated testing skills.


Key Features

  • Full library lifecycle management: book catalog, borrowing, returns, hold queues, and notifications.
  • Business logic implemented in Javascript with BDD acceptance tests.
  • Exposed via Node.js/Express REST API for web interactions.
  • Automated end-to-end testing using Cypress, validating workflows, borrowing limits, and notifications.
  • Multi-user workflow support with consistent handling of concurrent operations.

Tech Stack

  • Backend: Javascript, Node.js, Express
  • Frontend: HTML, CSS, JavaScript
  • Testing: Cypress for end-to-end UI testing, BDD for business logic validation

Cypress Testing Demo

TheBookNook_CypressTestingDemo.mp4

Setup Instructions

  1. Clone the repository:
git clone git@github.com:bfabdulle/The-Book-Nook.git
cd The-Book-Nook
  1. Install dependencies:
npm install
  1. Start the server:
npm start
  1. Open the application in your browser:
http://localhost:3000

Running Cypress Tests

You can run Cypress tests in two ways: interactively or in headless mode for CI/CD.

Open Interactive Test Runner

To open the Cypress Test Runner and run tests interactively:

npm run cy:open

Run Tests in Headless Mode (CI/CD Ready)

To execute all tests in headless mode (suitable for CI/CD pipelines):

npm run cy:run

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors