Skip to content

Erik-EFL/Change-Cash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 Change Cash 📦

Preview

📓 Descrição

Este projeto foi feito para desenvolver meus aprendizados como full stack developer.

Sobre o desenvolvimento

Para o desenvolvimento do projeto, utilizei as informações disponibilizadas pela empresa para a construção da API, Banco de Dados e Front-end. Para a construção do banco de dados utilizei o banco PostgreSQL junto a ORM Prisma, para a API utilizei o NodeJS e para o Front-end utilizei o ReactJS junto ao Typescript.

Inicialmente fiz a modelagem do banco a partir dos schemas do prisma, em fiz a dockerização do banco de dados para que pudesse fazer a conexão entre ele e a API. E apos isso fiz o mesmo com o restante da aplicação para que possa ser facilmente executada por completo em qualquer ambiente.

Minha maior dificuldade nesse processo foi a própria dockerização do projeto por completo, pois nunca havia feito isso antes, sempre partes avulsas, mas com a ajuda de alguns amigos em algumas duvidas pontuais e pesquisas na internet consegui contornar e resolver o problema.



Habilidades e Tecnologias 💻

🦾 Habilidades 🦾
  • Desenvolvimento de aplicações React

  • Desenvolvimento de APIs REST

  • Consumo de APIs REST

  • Desenvolvimento de banco de dados(SQL, Postgres)

  • Criatividade

  • Solução de problemas


🖥️ Tecnologias utilizadas 🖥️
  • React

    • React Hooks
    • React Router
  • React Query

  • HTML5

  • CSS3

  • Styled-Components

  • Material-UI

  • TypeScript

  • Axios

  • PostgreSQL

  • Node.js

  • Express

  • Prisma

  • JWT

  • Bcrypt

  • Md5

  • ESLint

  • Prettier

  • EditorConfig

  • Docker/ Docker Compose

  • Git/ GitHub

  • Insomnia

  • Shell Script



📚 Documentação 📚

🚀 Rodando o projeto somente com DataBase Dockeriazada
  • Dentro da pasta do projeto, execute o comando abaixo para instalar as dependências do projeto:

    Caso utilize o npm:

      npm run install:all

    Caso utilize o yarn:

      yarn run install:all
    • Para instalar as dependências necessárias para o funcionamento do front e back-end
  • Ainda dentro da rais do projeto, execute os comando abaixo para iniciar o container do docker:

      npm run docker:local

    ou

      yarn run docker:local
    • Para iniciar o container do docker(Essa operação pode levar alguns minutos)
    • Apenas o container do banco de dados sera iniciado
  • Após a inicialização do container do banco de dados, execute o comando abaixo para executar as migrations do banco de dados:

      npm run prisma:migrate

    ou

      yarn run prisma:migrate
  • Para executar a aplicação va até a pasta do front-end e execute os comando abaixo:

      cd app/frontend
    • Para entrar na pasta do front-end e depois execute:
      npm run dev

    ou

      yarn run dev
    • E o mesmo para iniciar o back-end da aplicação, porem abra uma nova aba no terminal e execute os comando abaixo:

        cd app/backend
        npm run dev

      ou

        yarn run dev
  • Após o uso para excluir o container do docker, execute o comando abaixo:

      npm run docker:rm:local

    ou

      yarn run docker:rm:local

🚀 Rodando o projeto Com a Aplicação totalmente Dockerizada
  • Dentro da pasta do projeto, execute o comando abaixo para instalar as dependências do projeto:

      npm run prisma:migrate
    • Este comando iara executar as migrations do banco de dados e assim criar as tabelas necessárias para o funcionamento da aplicação.

    • Ainda dentro da pasta do projeto, execute o comando abaixo para executar a orquestração dos containers do docker:

    Caso utilize o npm:

      npm run compose:up

    Caso utilize o yarn:

      yarn run compose:up
    • Para subir o container do docker e instalar as dependências necessárias para o funcionamento do front e back-end, essa operação pode levar alguns minutos.
  • Para excluir o container do docker, execute o comando abaixo:

      npm run docker:rm

    ou

      yarn run docker:rm

🤝 Colaborador 💻


Foto de Erik Ferreida de Lima
Erik Lima

🚩 Implementações por vir 🚩

📌 Alterações futuras 📌
  • Implementação de testes unitários

  • Implementação de testes de integração

  • Implementação de testes de aceitação

  • Implementação de testes E2E

  • implementação de nova UI kit

  • Implementação de novas funcionalidades

    • Implementação de um sistema de notificações
    • Implementação de um sistema de comentários
    • Implementação de um sistema de compartilhamento
    • Implementação de um sistema de favoritos
    • Implementação de um sistema de tags
    • Implementação de um sistema de categorias
    • Implementação de um sistema de pagamentos
    • Implementação de um sistema de avaliações
    • Implementação de um sistema de relatórios
      • Implementação de um sistema de relatórios de usuários
      • Implementação de um sistema de relatórios de gastos
      • Implementação de um sistema de relatórios de receitas
      • Implementação de um sistema de relatórios de pagamentos
      • Implementação de um sistema de impressão de gastos totais
      • Implementação de um sistema de impressão de receitas totais
    • Implementação de um sistema de denúncias
  • Implementação de um sistema de autenticação com o Smart Token

  • Implementação de um sistema de autenticação com o Authentication Code

  • Implementação de um sistema de autenticação com o CPF




⚙️ Status do Projeto 🛠️

  let projeto {
    "status": "Em desenvolvimento"
  }

©️ Aviso de direitos autorais

Desenvolvi este projeto para propósitos de aprendizagem, todo o código e documentação são de minha autoria e os direitos me pertencem exclusivamente. É permitido baixar ou clonar o repositório para fins de estudo. Contudo, não é permitido publicar cópias totais ou parciais. Este aviso não cobre bibliotecas e dependências, estas estão sujeitas a suas respectivas licenças.