{"repo":"BishoySedra/Online_Book_Review_Application","free":true,"listed":false,"github":"https://github.com/BishoySedra/Online_Book_Review_Application","clone":"git clone https://github.com/BishoySedra/Online_Book_Review_Application.git","description":"The final project for the IBM Course \"Developing back-end apps with Node.js and Express\".","language":"JavaScript","stars":22,"topics":["authentication","bcryptjs","expressjs","jsonwebtoken","middleware","mvc-architecture","mysql-database","nodejs","orm","sequelize"],"license":null,"category":"auth-billing-email","readme_excerpt":"Online Book Review API A RESTful back-end API for managing books and user reviews. Built as the final project for the IBM Course \"Developing Back-End Apps with Node.js and Express\" , and extended with production-ready patterns including a layered architecture, centralised error handling, interactive Swagger documentation, and a full integration test suite. --- Features - User authentication — register & login with JWT-based auth - Book management — add books and search by ISBN, title, or author - Review system — authenticated users can add, update, or delete their reviews - Layered architecture — controllers → services → models (clear separation of concerns) - Centralised error handling — ApiError class + global error-handler middleware (no repetitive try/catch in controllers) - Async wrapper — asyncWrapper utility eliminates boilerplate try/catch blocks - Swagger UI — interactive API documentation at /docs - Docker Compose — one-command MySQL setup for local development - Integration tests — real-service tests against SQLite in-memory DB, one script per service - CI — GitHub Actions runs each service's tests in a parallel job on every push and PR --- Tech Stack Layer Technology --- --- Runtime Node.js (ESM) Framework Express 5 ORM Sequelize 6 Database (production) MySQL 8 Database (testing) SQLite in-memory Auth JSON Web Tokens (jsonwebtoken) Password hashing bcrypt API Docs swagger-jsdoc + swagger-ui-express Test runner Bun (bun:test) Dev server nodemon Containerisation Doc","default_branch":null,"files":null,"tree":[],"storefront":"/r/BishoySedra","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/BishoySedra/Online_Book_Review_Application/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}