Skip to content

Storage Space é um servidor criado com NestJS, PrismaJS e GraphQL gerencia o armazenamento de áudio de chamadas em equipes de suporte. O Chefe pode fazer alterações, outros analistas podem baixar e armazenar novos áudios, com segurança e alto desempenho.

Notifications You must be signed in to change notification settings

hasbuen/ss-server

Repository files navigation

NestJS, PrismaJS, and GraphQL

NestJS, PrismaJS, and GraphQL are important tools that, when used together, can provide effective solutions for companies dealing with critical data.


NestJS

Nest Logo

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

Prisma Logo

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

GraphQL Logo

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.

Description

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.

Entity relationship diagram. Entity relationship diagram

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

Installation

$ yarn install

Running the app

# development
$ yarn run start

# watch mode
$ yarn run start:dev

# production mode
$ yarn run start:prod

Test

# unit tests
$ yarn run test

# e2e tests
$ yarn run test:e2e

# test coverage
$ yarn run test:cov

Licenses

Nest is MIT-licensed.
Prisma is MIT-licensed.
GraphQL is Open Software License.

About

Storage Space é um servidor criado com NestJS, PrismaJS e GraphQL gerencia o armazenamento de áudio de chamadas em equipes de suporte. O Chefe pode fazer alterações, outros analistas podem baixar e armazenar novos áudios, com segurança e alto desempenho.

Topics

Resources

Stars

Watchers

Forks