|
1 |
| -<p align="center"> |
2 |
| - <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="200" alt="Nest Logo" /></a> |
3 |
| -</p> |
| 1 | +<h2 align="center">NestJS Prisma Postgresql Starter Kit</h2> |
4 | 2 |
|
5 |
| -[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 |
6 |
| -[circleci-url]: https://circleci.com/gh/nestjs/nest |
| 3 | +🚀 A quick and comprehensive nestjs starter kit powered by Prisma, PostgreSQL, and Swagger, perfect for backend rookies to rapidly construct a robust backend server. |
7 | 4 |
|
8 |
| - <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p> |
9 |
| - <p align="center"> |
10 |
| -<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a> |
11 |
| -<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a> |
12 |
| -<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a> |
13 |
| -<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a> |
14 |
| -<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a> |
15 |
| -<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a> |
16 |
| -<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a> |
17 |
| -<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a> |
18 |
| - <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a> |
19 |
| - <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a> |
20 |
| - <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a> |
21 |
| -</p> |
22 |
| - <!--[](https://opencollective.com/nest#backer) |
23 |
| - [](https://opencollective.com/nest#sponsor)--> |
| 5 | +I'm looking forward to a great nestjs starter kit or template which can help me quickly figure out how to build a real world backend server, then I found this blog: https://www.prisma.io/blog/nestjs-prisma-rest-api-7D056s1BmOL0, and implement it. |
24 | 6 |
|
25 |
| -## Description |
| 7 | +It's a good starter kit for backend rookies like me, to combine db like postgresql, ORM like prisma, Api doc like swagger together, also with many concepts in backend like dto, entity and so on. |
26 | 8 |
|
27 |
| -[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. |
| 9 | +## Features |
28 | 10 |
|
29 |
| -## Installation |
| 11 | +- 💼 Basic REST API implemented, ideal for starting any project. |
| 12 | +- 🎛 Input validation and transformation to ensure data integrity. |
| 13 | +- 🚦 Error handling for better fault tolerance. |
| 14 | +- 📜 Swagger for generating and maintaining excellent API documentation. |
| 15 | +- 🌐 Relation data handling made easy. |
| 16 | +- 🔐 Built-in authentication using Passport and passport-jwt. |
| 17 | +- 🏗 Structured around well-established best practices, which helps to maintain code quality even in larger projects. |
| 18 | +- ⏰ Save time by avoiding boilerplate code, so you can focus on what matters: your business logic. |
| 19 | +- 🔄 Encourages agile development: easy to refactor and expand as your project evolves. |
30 | 20 |
|
31 |
| -```bash |
32 |
| -$ npm install |
33 |
| -``` |
34 |
| - |
35 |
| -## Running the app |
36 |
| - |
37 |
| -```bash |
38 |
| -# development |
39 |
| -$ npm run start |
40 |
| - |
41 |
| -# watch mode |
42 |
| -$ npm run start:dev |
43 |
| - |
44 |
| -# production mode |
45 |
| -$ npm run start:prod |
46 |
| -``` |
47 |
| - |
48 |
| -## Test |
49 | 21 |
|
50 |
| -```bash |
51 |
| -# unit tests |
52 |
| -$ npm run test |
53 |
| - |
54 |
| -# e2e tests |
55 |
| -$ npm run test:e2e |
56 |
| - |
57 |
| -# test coverage |
58 |
| -$ npm run test:cov |
| 22 | +## Setup and Run |
| 23 | +```shell |
| 24 | +npm install |
| 25 | +docker-compose up -d |
| 26 | +npx prisma migrate dev |
| 27 | +npm run start:dev |
59 | 28 | ```
|
60 | 29 |
|
61 |
| -## Support |
62 |
| - |
63 |
| -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](https://docs.nestjs.com/support). |
64 |
| - |
65 |
| -## Stay in touch |
66 |
| - |
67 |
| -- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com) |
68 |
| -- Website - [https://nestjs.com](https://nestjs.com/) |
69 |
| -- Twitter - [@nestframework](https://twitter.com/nestframework) |
70 |
| - |
71 |
| -## License |
72 |
| - |
73 |
| -Nest is [MIT licensed](LICENSE). |
| 30 | +### Concepts Used |
| 31 | +- Contoller |
| 32 | +- Service |
| 33 | +- Module |
| 34 | +- DTO |
| 35 | +- Entity |
| 36 | +- Pipes |
| 37 | +- Guards |
| 38 | +- Interceptors |
| 39 | +- Decorators |
| 40 | +- Providers |
| 41 | +- Exception Filters |
| 42 | + |
| 43 | +### Stack |
| 44 | +- NestJS as a core framework. |
| 45 | +- Prisma as an ORM. |
| 46 | +- PostgreSQL for the database. |
| 47 | +- Swagger for API documentation. |
| 48 | +- Passport and passport-jwt for authentication. |
0 commit comments