NestJS, PrismaJS, and GraphQL are important tools that, when used together, can provide effective solutions for companies dealing with critical data.
NestJS is a web application framework in Node.js that aims to provide a robust structure for creating scalable and efficient applications. It provides endpoint management and various functionalities to facilitate web application development.
PrismaJS is an Object-Relational Mapping (ORM) for Node.js that facilitates communication between an application and a MySQL database. It provides an easy-to-use Application Programming Interface (API) and helps ensure data security. With PrismaJS, it is possible to securely and efficiently execute database operations.
GraphQL is a query language for data and a runtime for APIs, which offers clients the flexibility to request only the necessary and customized data, instead of receiving a fixed set of data. It allows for the creation of flexible and scalable APIs and provides a robust solution for companies that need to work with large amounts of critical data.
By combining these three tools, it is possible to create scalable and efficient web applications with security and flexibility to handle large amounts of critical data. This combination allows companies to develop high-performance and secure applications that meet the needs of their customers while keeping their data protected.
The server created with NestJS, PrismaJS, and GraphQL aims to manage the storage of call audios individually per analyst in a helpdesk support team within an organization. This application was developed with a project hierarchy that allows only the Boss (team leader) to make changes and removals to the audios, while other analysts can download the audio and store new files.
NestJS provides all the necessary structure to create a scalable and efficient web application. It manages endpoints and provides various functionalities to facilitate web application development. PrismaJS, in turn, facilitates communication between the application and the MySQL database. It provides an easy-to-use API and helps ensure data security by securely and efficiently executing database operations.
GraphQL is used to receive user requests and customize responses with the necessary data, offering a robust solution for companies that need to work with large amounts of critical data. This allows the application to create flexible and scalable APIs, ensuring high performance and security for manipulating large amounts of data.
The project is organized into modules that represent the main entities of the application, such as Boss, Call, Owner, Permission, and Relationship. Each module has a Data Transfer Object (DTO), a resolver, and a service, which are responsible for receiving requests, processing information, and providing responses according to defined business rules.
In summary, the server created with NestJS, PrismaJS, and GraphQL is an efficient and scalable solution for managing call audio storage in a helpdesk support team. With the defined project hierarchy, only the Boss can make changes and removals, while other analysts can download and store new audios. The use of these tools allows for the creation of a secure and high-performance application that meets the organization's needs.
Mapped project.
root. | |
---|---|
app.module.ts | |
main.ts | |
@generated | |
prisma-nestjs-graphql/ | |
boss | boss.model.ts create-oneboss.args.ts |
call | call.model.ts create-onecall.args.ts |
owner | owner.model.ts create-oneowner.args.ts |
Permission | permission.model.ts create-onepermission.args.ts |
relationship | relationship.model.ts create-onerelationship.args.ts |
modules | |
boss | boss.dto.ts boss.module.ts boss.resolver.ts boss.service.ts |
call | call.dto.ts call.module.ts call.resolver.ts call.service.ts |
jwt | jwt.module.ts jwt.service.ts |
owner | owner.dto.ts owner.module.ts owner.resolver.ts owner.service.ts |
permission | permission.dto.ts permission.module.ts permission.resolver.ts permission.service.ts |
relationship | relationship.dto.ts relationship.module.ts relationship.resolver.ts relationship.service.ts |
$ yarn install
# development
$ yarn run start
# watch mode
$ yarn run start:dev
# production mode
$ yarn run start:prod
# unit tests
$ yarn run test
# e2e tests
$ yarn run test:e2e
# test coverage
$ yarn run test:cov
Nest is MIT-licensed.
Prisma is MIT-licensed.
GraphQL is Open Software License.