Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/padupe/funcional-nodejs
https://github.com/padupe/funcional-nodejs
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/padupe/funcional-nodejs
- Owner: padupe
- Created: 2021-07-02T23:43:52.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-13T17:53:05.000Z (over 3 years ago)
- Last Synced: 2024-10-05T10:41:16.919Z (about 1 month ago)
- Language: JavaScript
- Size: 214 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Challenge Funcional Health Tech
Desafio proposto no processo de contratação de **Desenvolvedor Backend Jr Nodejs**.
Link para consulta da proposta: [aqui].
## Ferramentas utilizadas
Para a conclusão deste desafio, as ferramentas abaixo foram aplicadas:
- [node.js] - Eventos voltados para o Backend
- [graphql] - Linguagem de Consulta para API
- [graphqlHTTP] - Módulo fornece uma maneira simples de criar um servidor Express que executa uma API GraphQL
- [express] - Framework
- [prisma] - ORM responsável pela Conexão com o Banco de Dados
- [postgresql] - Sistema gerenciador de Banco de Dados
- [prettier] - "Formatador" de Código
- [eslint] - "Corretor" de erros de Código/Sintaxe
- [jest] - Estrutura de teste de JavaScript
- [supertest] - Módulo para testes de Integração
- [docker] - "Containeirização"## MER
Estrutura do Banco de Dados:
![img](https://github.com/padupe/funcional-nodejs/blob/master/readmeimg/MER.png)
## Comandos Úteis para uso da Aplicação
### Development Server
Iniciar o Servidor da Aplicação:
```
$ yarn dev
```### Docker
Subir as configurações do contêiner:
```
$ docker-compose up -d
```### Prisma
Iniciar Migration:
```
$ yarn migrate
```Enviar dados de Teste
```
$ yarn seed
```### GraphQL
**Exemplos de Query e Mutations**
Consulta de Conta e Saldo:
> Você pode usar o endereço do [servidor] para fazer a requisição abaixo.
```graphql
query {
saldo(conta: 54321) {
numero
saldo
}
}
```Saque:
> Você pode usar o endereço do [servidor] para fazer a requisição abaixo.
```graphql
mutation {
sacar(conta: 54321, valor: 140) {
numero
saldo
msg
}
}
```Depósito:
> Você pode usar o endereço do [servidor] para fazer a requisição abaixo.
```graphql
mutation {
depositar(conta: 54321, valor: 200) {
numero
saldo
msg
}
}
```### Testes
Para rodar os testes:
```
$ yarn test
```> **Atenção:** Ao rodar os testes, e necessário enviar novamente os dados para o banco com o comando:
```
$ yarn seed
```**_Cobertura dos Testes_**
![img](https://github.com/padupe/funcional-nodejs/blob/master/readmeimg/coverage.png)
Para validar o _"coverage"_ dos Testes, basta rodar o comando:
```
$ yarn test --coverage
```> Para o bom êxito dos testes, certifique-se que o Servidor e o Container estão em pleno funcionamento.
_Aplicação desenvolvida por Paulo Eduardo Peixoto_
[//]: #
[aqui]: https://github.com/funcional-health/challenge/blob/master/node.md
[node.js]: http://nodejs.org
[graphql]: https://graphql.org/
[express]: https://expressjs.com/
[graphqlhttp]: https://github.com/graphql/express-graphql
[prisma]: https://www.prisma.io/
[postgresql]: https://www.postgresql.org/
[prettier]: https://prettier.io/
[eslint]: https://eslint.org/
[jest]: https://jestjs.io/
[supertest]: https://www.npmjs.com/package/supertest
[docker]: https://www.docker.com/
[servidor]: http://173.82.114.22:4444/graphql