lib-manage is a simple library management system built using NestJS. It includes CRUD operations and several features to streamline library management.
- 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.
-
Install pnpm package manager globally:
npm install -g pnpm
-
Install necessary packages:
pnpm install
-
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=
-
Start the development server:
pnpm dev