gilmar-sales / register-api

Register App - Controlling collaborators register

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Register Logo

The server-side of a system for management of the clock in records of the collaborators of a company

Project Version Package License Repo Size Last Commmit

Intent

Instigate the candidate to solve a challenge in a while determined, in order to identify categories and technical weaknesses for better internal targeting and onboarding according to the practices and technologies used in the Brainny Smart Solutions.

Project

The development proposal consists of the implementation of a system for the management of clock-in records of the employees of a company.

Abstract

Functional Requirements

  • [FR01] - Manage time records
  • [FR02] - Record the collaborator's arrival and departure times
  • [FR03] - The user with administrator permissions will be able to view in real time the records of collaborators, without need to refresh the page

Non-functional Requirements

  • [NFR01] - Only collaborators can record the point
  • [NFR02] - Only the administrator can view the list with collaborators's records;
  • [NFR03] - The system will use authentication with JWT
  • [NFR04] - Node API development;
  • [NFR05] - Web Client development in React.

Technologies

  • Nest: A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications.
  • TypeORM: ORM for TypeScript and JavaScript.
  • GraphQL: GraphQL is a query language and execution engine tied to any backend service.
  • Apollo Server: Is an open-source, spec-compliant GraphQL server that's compatible with any GraphQL client, including Apollo Client.
  • PostgreSQL: The World's Most Advanced Open Source Relational Database.
  • Docker Compose: With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
  • JSON Web Token Is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object.

Installation

$ npm install

Running the app

First setup the docker container to the database

$ docker-compose up -d

Then run the application

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Informations

About

Register App - Controlling collaborators register

License:MIT License


Languages

Language:TypeScript 97.4%Language:JavaScript 1.9%Language:Shell 0.7%