Skip to content

Vini7Dev/timesheet-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MULTIFY

Multify

O Multify é um sistema para auxiliar na marcação de horas do Multidados, baseando-se no Clockify. Segue no decorrer do readme como realizar a instalação.

🚀 Instalação


1) Banco de Dados: Postgres

Para rodar o sistema é preciso de ter o banco de dados Postgres instalado e em execução. Recomendo criar uma instância através do Docker, mas sinta-se à vontade para instalar na própria máquina.

Utilizando o Docker:

Com o Docker instalado, rode o seguinte comando:

ATENÇÃO: subistitua [container-name] por um nome para a instância/container e o [my-secret-password] pela senha do banco de dados.

docker run --name [container-name] -p 5432:5432 -e POSTGRES_PASSWORD=[my-secret-password] -d postgres

OBS: Também existe algumas outras informações que podem ser adicionadas, mas neste contexto isso já é o suficiente.


2) Redis

Também é preciso ter em execução o Redis, para isso também recomendo executar uma instância no Docker, mas é possível instalar diretamente em sua máquina.

Utilizando o Docker:

ATENÇÃO: subistitua [container-name] por um nome para a instância/container.

docker run --name [container-name] -p 6379:6379 -d -t redis:alpine

OBS: Também existe algumas outras informações que podem ser adicionadas, mas neste contexto isso já é o suficiente.


3) Backend (Server)

A) Variáveis Ambiente (.env)

Dentro da pasta server, o primeiro passo é criar uma cópia do arquivo .env.example no mesmo diretório, porém com o nome .env apenas.

Em seguida, preencha as informações de acordo com o seu caso, por exemplo, a senha que definiou no banco de dados e afins. Veja melhor abaixo:

ATENÇÃO: Não é necessário alterar todos os itens do arquivo, atente-se apenas nos que listarei abaixo.

  • DATABASE_URL: Neste item subistitua [database-user] por postgres (caso você definiu outro usuário para o banco, utilize este outro), e [database-password] pela senha que definiu durante a instalação do banco.

  • ENCRYPT_KEY: Subistitua por um texto aleatório, por exemplo zg49S+doQkiduejNUzD72rPhdgedslzY

  • ENCRYPT_IV: Subistitua por um texto aleatório, por exemplo 4d89e4f5d96f86e4

  • JWT_SECRET: Subistitua por um texto aleatório, por exemplo zg49S+doQkiduejNUzD72rPhdgedslzY

B) Instalando as Dependências e Rodando as Migrations

Com o terminal aberto na pasta server, rode:

npm install

ou

yarn

As migrations possuem as tabelas e constraints que devem ser criadas no banco. Para executá-las, rode:

npm run prisma migrate dev

ou

yarn prisma migrate dev

Por fim, rode:

npm run prisma generate

ou

yarn prisma generate

4) Frontend (Web)

Na pasta web, basta rodar:

npm install

ou

yarn

☕ Executando o Sistema

Para executar o sistema é necessário:

  • Ter o postgres e o redis em execução;
  • Abrir um terminal na pasta server e outro na pasta web.

No terminal da pasta server, execute:

npm run dev

ou

yarn dev

E no terminal da pasta web, execute:

npm run start

ou

yarn start

🚀 Tecnologias, Metodologias e Ferramentas Utilizadas

Backend

  • NodeJS + TypeScript
  • GraphQL com Apollo Server
  • Socket IO com GraphQL (Apollo Server)
  • PostgreSQL
  • Redis
  • Prisma
  • Testes Unitários com Jest + Coverage
  • Processamento em Fila com Bull
  • Selenium para o Crawler (Bot)
  • SOLID
  • Clean Code
  • ESLint
  • Editor Config

Frontend

  • ReactJS + TypeScript
  • GraphQL com Apollo Client
  • Socket IO com GraphQL (Apollo Client)
  • Styled Components
  • Clean Code
  • ESLint
  • Editor Config

⬆ Voltar ao topo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages