Tocmai am terminat prima versiune a unui starter/boilerplate pentru un REST API, bazat pe Nest framework + Prisma ORM + TypeScript.
De altfel, acest stack il consider ca fiind cam cea mai buna optiune, la ora actuala, din ecosistemul Node.js, ca si solutie completa, scalabila, developer-friendly pentru un REST API.
Am gandit acest starter pentru a nu fi bloated ci mai degraba foarte lightweight, dar in acelasi timp sa fie si production-ready:
- Error Handling (Exception Filters)
- Logging System
- DB Seeds/Migrations
- Built-in AuthModule, using JWT. Route Guards
- Model Events Listener (onCreated, …)
- Deployable. CI/CD pipeline using Github Actions.
- Advanced ESLint/TSLint config. (e.g: auto-fix will remove unused imports)
- Shared services/constants/helpers
- Middlewares/Interceptors implementation example.
Am facut cu ceva timp in urma un alt starter/boilerplate, doar ca pe TypeORM.
Dupa numeroaselor probleme cu acest package si dupa un developer-friendliness scazut, am decis, de curand, ca a venit timpul sa caut o alta solutie. Si am facut asta dupa ce am folosit TypeORM in proudction, pe vreo 5 proiecte. Si-a facut treaba, dar era mult loc de mai bine.
Astfel, am dat peste Prisma care pare sa fie ce aveam eu nevoie, adica mai reliable, cu un Query Language mult mai extesibil (incerc sa evit QueryBuilder-urile pe cat pot de mult) si mult mai developer-friendly.
Prisma poate fi folosit si cu GraphQL, dar pentru moment l-am pregatit ca si REST API.
Feedback-ul este foarte apreciat!
Multumesc