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.
- 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.
- Backend: Javascript, Node.js, Express
- Frontend: HTML, CSS, JavaScript
- Testing: Cypress for end-to-end UI testing, BDD for business logic validation
TheBookNook_CypressTestingDemo.mp4
- Clone the repository:
git clone git@github.com:bfabdulle/The-Book-Nook.git
cd The-Book-Nook- Install dependencies:
npm install- Start the server:
npm start- Open the application in your browser:
http://localhost:3000You can run Cypress tests in two ways: interactively or in headless mode for CI/CD.
To open the Cypress Test Runner and run tests interactively:
npm run cy:openTo execute all tests in headless mode (suitable for CI/CD pipelines):
npm run cy:run