This repository serves as a learning playground for exploring NestJS framework concepts and building REST APIs. It contains various projects demonstrating different aspects of NestJS development.
| Project | Description | Concepts Demonstrated | Status | Features |
|---|---|---|---|---|
| Task Manager API | RESTful API for managing tasks with basic CRUD operations | Controllers, Services, DTOs, Dependency Injection, TypeScript Integration | โ Complete | โข Get all tasks โข Create new tasks โข Clean architecture |
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository:
git clone <repository-url> cd nestjs-playground
-
Navigate to a specific project:
cd task-manager-api -
Install dependencies:
npm install
-
Start the development server:
npm run start:dev
-
The API will be available at
http://localhost:3000
Run unit tests:
npm run testRun E2E tests:
npm run test:e2eRun tests with coverage:
npm run test:covThis playground is designed to explore and understand:
- ๐๏ธ NestJS decorators and modules
- ๐ Dependency injection patterns
- ๐ฏ Controller and service architecture
- ๐ TypeScript integration
- ๐งช Testing strategies in NestJS
- ๐ REST API design principles
- ๐ง Code quality tools and practices
- ๐๏ธ Database integration (MongoDB, PostgreSQL)
- ๐ Authentication and authorization
- ๐ Validation and pipes
- ๐ Middleware and interceptors
- ๐ Performance optimization
- ๐ Monitoring and logging
Here are some concepts I plan to explore in upcoming projects:
| Concept | Project Idea | Complexity |
|---|---|---|
| Database Integration | User Management API with MongoDB | Intermediate |
| Authentication | JWT Auth Service | Intermediate |
| Validation & Pipes | Product Catalog with Validation | Beginner |
| Middleware & Interceptors | Request Logging System | Intermediate |
| WebSockets | Real-time Chat Application | Advanced |
| Microservices | Order Processing System | Advanced |
| File Upload | Image Upload Service | Intermediate |
| Caching | Redis-based Cache Layer | Intermediate |
| Testing Advanced | TDD E-commerce API | Advanced |
| GraphQL | Book Library GraphQL API | Advanced |
Feel free to add new projects or improve existing ones. Each project should focus on demonstrating specific NestJS concepts or features.
This project is for educational purposes.