Library management application built with Angular.
- Deployed URL: https://pm-books-portal.angularjobs.co.il
- View list of books
- Search books by name and author
- View book details
- Add / edit / delete books with form validation
- Responsive layout for desktop and mobile
The app uses Open Library API for initial data population.
- Initial load request (200 items, any ratings):
https://openlibrary.org/search.json?q=ratings_count:%5B0%20TO%20*%5D&limit=200
- Angular
- TypeScript
- HTML
- SCSS/CSS
- Node.js (LTS recommended)
- npm
- Angular CLI
-
Clone the repository:
git clone https://github.com/AvnerHadjadj/pm-books-portal cd pm-books-portal -
Install dependencies:
npm install
-
Start development server:
npm start
or:
ng serve
-
Open:
http://localhost:4200
npm run buildProduction build output is generated in dist/.
Run:
npm testor:
ng testng test --watch=false --browsers=ChromeHeadless- The initial book list is fetched from Open Library with a fixed query/limit for predictable startup behavior.
- As this is an assignment project, some production hardening items (advanced error handling, caching strategy, and API resiliency) can be expanded further if needed.
- Source code uploaded to a public GitHub repository
- Public deployed app link provided
- README includes local run instructions
- README includes testing instructions
- Optional feature documented (external book API: Open Library)