/ngcash

Primary LanguageTypeScript

Seja Bem Vindo ao repositório do desafio da Ng.cash!

Este Projeto a finalidade de estruturar a aplicação web fullstack, com docker, com a finalidade de dos usuários cadastrados possam realizar transferências entre si



Sumário



Instruções:

Primeiro clone o repositorio para sua máquina local

git@github.com:claro-bruno/ngcash.git

após isso entre na pasta do repositorio

cd ng-cash

Logo em seguida, entre na pasta do backend e execute o comando para o docker iniciar:

docker-compose up -d

Utilize o comando abaixo para atualizar o banco de dados com a migraçao atual do prisma.

yarn install
yarn prisma migrate dev 
yarn prisma generate

E para finalizar, entre na pasta frontend e inicie o docker com o comando abaixo:

docker-compose build -d dev
docker-compose up -d dev

Tecnologias

O front-end do projeto foi desenvolvido em React.js com o Vite e utilizando como nciador de estado Context-api, foram utilizadas as bibliotecas a baixo para auxiliar o desenvolvimento do projeto.

  • Axios
  • eslint
  • React-router-dom
  • Typescript
  • Vite
  • React
  • Docker
typescript react eslint axios  

O back-end do projeto foi desenvolvido em Node.js com Express e Typescript. As tecnologias para desenvolver a API foram as seguintes:

  • Docker
  • Node.js
  • Express
  • PostgreSql
  • Eslint
  • Typescript
  • Prisma
  • Dotenv
  • JWT
Node express eslint typescript





Executando o projeto

Front-end

  • Login Login

  • Home Home

  • Cadastro

    Registrar

    Back-end

  • Post Registro

Rota Registro

  • Post Loogin

Rota Autenticação

  • Get Balance

Rota Balance

  • Create Transation

Rota Post Transaction

  • Get Transactions

Rota Get Transactions



Testes do Backend

Para testar o backend foi utilizado o jest sincronizado com o database postgresql dockerizado. Através do comando abaixo:

yarn docker:up && yarn prisma migrate deploy && jest -i

que foi padronizado no package.json pelo comando yarn test

image image

Documentação da API

Foi utilizado o swagger para gerar a documentação, através da rota /api-docs, formalizada na url

image

Desafio Principal

O principal desafio do projeto foi organizar por onde seria iniciado a produção, alem disso, houveram problemas na hora da dockerização do back-end que me impediram de concluir 100% do projeto.



Proximos passos

O proximo passo seria iniciar os testes do front end e finaliza-los, além de implementar de novas idéias e melhoria do Layout no CSS.