A progressive Node.js framework for building efficient and scalable server-side applications.
Modern API for library management, built with NestJS.
Library API is a comprehensive backend solution for library systems. It enables management of books, users, and loans. The system offers full CRUD operation support for all entities, user authentication and authorization, and advanced library management features.
- 📚 Library Structure Management: cataloging books, categories, and authors
- 👥 User Management: registration, login, roles (client, employee, administrator)
- 📝 Loan Management: reserving, borrowing, and returning books
- 🔐 Security: JWT, roles, and permissions
- 📧 Notifications: automatic email notifications for users
The project is organized in a modular structure:
auth- authentication and authorizationconfig- application configurationdatabase- database configurationmailer- email handlingrent- loan managementstructure- library structure management (books, etc.)users- user management
- NestJS - framework
- TypeORM - database ORM
- PostgreSQL - database
- JWT - authentication tokens
- Swagger - API documentation
- Node.js (v18+)
- pnpm
- PostgreSQL
# Clone repository
$ git clone [REPOSITORY_URL]
$ cd library-api
# Install dependencies
$ pnpm install
# Environment configuration
$ cp .env.example .env
# Edit the .env file to customize the configuration# Development mode
$ pnpm run start:dev
# Production mode
$ pnpm run start:prodAfter starting the application, Swagger documentation is available at:
http://localhost:3000/api
# Unit tests
$ pnpm run test
# End-to-end tests
$ pnpm run test:e2e
# Test coverage
$ pnpm run test:covThe project uses ESLint and Prettier to maintain high code quality:
# Code linting
$ pnpm run lint
# Code formatting
$ pnpm run formatThis project is covered by the MIT license.
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework