Skip to content

A simple Library Management System API for managing books and authors with CRUD operations and search functionality. Documented using OpenAPI (Swagger) and includes unit tests.

Notifications You must be signed in to change notification settings

ajayyAI/lib-manage-nestjs

Repository files navigation

lib-manage

Project Hosted links

Swagger Documentation

Description

lib-manage is a simple library management system built using NestJS. It includes CRUD operations and several features to streamline library management.

Features

  • NestJS v10: 🚀 Framework for building efficient, reliable, and scalable server-side applications.
  • Pnpm: 📦 Fast, disk space efficient package manager.
  • Swagger: 📖 API documentation generator.
  • Airbnb JavaScript Guide: 📜 Coding standards and best practices.
  • ESLint: 🧹 Linting utility for JavaScript and TypeScript.
  • Prettier: 🎨 Code formatter.
  • EditorConfig: 🔧 Maintain consistent coding styles between different editors and IDEs.
  • Husky: 🐶 Git hooks for better commit management.
  • Lint-Staged: 🎯 Run linters on git staged files.
  • Commitlint: 📝 Lint commit messages.
  • Alias Path: 🔍 Simplify module imports with alias paths.
  • Error Handling: ⚠️ Robust error handling mechanisms.
  • MongoDB: 📊 NoSQL database for storing library data.
  • Jest: ✅ Testing framework.
  • Repository Pattern: 📁 To abstract the data layer.
  • Pagination: 📄 Efficiently handle large datasets.
  • Validation: ✅ Ensure data integrity and correctness.
  • Clean Git Commit History (Rebase): 🔀 Keep Git commit history clean and organized using interactive rebasing.
  • GitHub Actions: 🤖 Automate workflows and tasks with GitHub Actions.
  • Dockerized: 🐳 Containerized application for consistency and portability.

Installation

  1. Install pnpm package manager globally: npm install -g pnpm

  2. Install necessary packages: pnpm install

  3. Create a .env file and configure environment variables. Here's an example of what your .env file might look like:

    APP_NAME=MyNestApp
    APP_ENV=development
    APP_DEBUG=true
    HTTP_HOST=0.0.0.0
    CORS_ORIGIN=https://example.com
    HTTP_PORT=8080
    URL_VERSION_ENABLE=true
    
    DATABASE_DEBUG=false
    DATABASE_URI=
  4. Start the development server: pnpm dev

Thanks

About

A simple Library Management System API for managing books and authors with CRUD operations and search functionality. Documented using OpenAPI (Swagger) and includes unit tests.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published