prisma-nest-api-example
v0.1.0
Published
Example project using prisma-nest-api
Downloads
43
Readme
Prisma-NestJS API Example Project
This is an example project demonstrating how to use the Prisma-NestJS API generator library to quickly build a RESTful API with NestJS and Prisma.
Features
- Auto-generated controllers and DTOs from your Prisma schema
- Proper handling of relations in DTOs
- Swagger API documentation
- Decimal type support
- Proper error handling with automatic 404 responses for missing resources
Getting Started
Prerequisites
- Node.js (v18+)
- npm or yarn
Installation
Create a
.envfile with your database connection string:DATABASE_URL="file:./dev.db"Install dependencies:
npm installGenerate the Prisma client and NestJS API components:
npm run prisma:generateCreate the initial database migration:
npm run prisma:migrate:dev -- --name initBuild and run the application:
npm run build npm run start
API Documentation
Once the application is running, you can access the Swagger documentation at:
http://localhost:3000/apiProject Structure
prisma/- Contains the Prisma schema and migrationssrc/- Source code for the applicationgenerated/- Auto-generated controllers and DTOs from Prisma schemauser/,post/, etc. - Module files for each entityprisma.service.ts- Prisma client service for NestJSmain.ts- Application entry pointapp.module.ts- Root module of the application
How It Works
This example project directly references the TypeScript source files from the prisma-nest-api library (rather than using a compiled version). The configuration in tsconfig.json sets up path mappings to include the library's source files in the compilation process.
Key points:
- Uses the
file:../reference in package.json to reference the local library - Configured tsconfig.json with paths to allow importing from the library source
- Imports the library's TypeScript files directly, ensuring any changes to the library are immediately available
This approach allows you to develop and test changes to the library in real-time without having to build the library separately.
