Skip to content

llpasche/try-again

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ph-team-25

Projeto do hackathon Provihack do Agora promovido pela Provi

TryAgain

TryAgain é uma plataforma que conecta empresas em prol de uma causa única: reciclagem de produtos têxteis visando otimizar o uso de materiais já existentes e minimizando as consequências climáticas da fabricação de novos produtos. O usuário pode cadastrar sua empresa, os materiais que ela descarta e os que ela precisa, bem como publicar anúncios de materiais e adquirir materiais de outras empresas.

👁 Identidade visual

logowhite logoblack appsymbol

🧑🏼‍💻 Deploy

http://tryagain-25.surge.sh/

📼 Video Demo

https://youtu.be/hpfLWReM6u4

🚀 Começando

📋 Pré-requisitos

Para instalar a aplicação é necessário ter instalado na sua máquina

🔧 Instalação

Para rodar o projeto execute os comandos abaixo no seu terminal:

Para copiar o projeto git clone https://github.com/provihack-equipe-25/ph-team25.git

Para rodar o back-end entre na pasta do projeto "ph-team25" e execute:

  • cd server
  • npm install
  • npm start

Para rodar o front-end abra outra janela de terminal no diretório raiz do projeto e execute:

  • cd team25
  • npm install
  • npm start

📄 Documentação da API

https://documenter.getpostman.com/view/19294478/UyrGBu2E

🛠️ Construído com

O projeto foi criado com as seguintes tecnologias

  • NodeJs - Usado para o back-end da aplicação;
  • Express - Usado para construir a API da aplicação;
  • ReactJs - Framework usado para o front-end da aplicação;
  • Styled components - Ferramenta de componentização de estilos;
  • React router DOM - Ferramenta que possui atalhos para utilizar React Router em aplicações web;
  • React hook form - Gerenciador e otimizador de formulários;
  • UUID - Gerador de identificadores únicos;
  • Bcryptjs - Hasheador de senhas para inserção segura no banco de dados;
  • Yup - Ferramenta de verificação de autenticação do usuário;
  • Git - Ferramenta de versionamento;
  • MySql - Banco de dados usado para aplicação;
  • Knex - Ferramenta que possibilita integração de JavaScript com MySQL e
  • Heroku - Usado para hospedagem do back-end do projeto

Por ser um produto baseado na web, decidimos utilizar o framework React.js no frontend, por possuir ferramentas robustas de controle de inputs, ser performático e eficiente, além de permitir uma velocidade maior no desenvolvimento. Utilizamos a biblioteca Styled Components para pré-processamento das planilhas de estilo, por ter um uso rápido, sintaxe simples, permitir componentização e ser performática. O deploy foi feito utilizando Surge, por estar disponível dentro do NPM e sem necessidade de configuração. Para desenvolvimento do backend, foram utilizados Node.js, com a tipagem do TypeScript para garantir manutenção fácil do código, e ajuda das bibliotecas Knex e Express.js para manipulação do banco de dados e da API do projeto. Como modificadores de dados, utilizamos UUID para gerar id's únicos no padrão universal e Bcryptjs para hashear as senhas cadastradas no banco de dados. Utilizamos o MySQL como escolha para o banco de dados, por permitir uma boa agilidade em uma aplicação simples com tabelas relacionais. O deploy, tanto da database quanto do servidor, foi feito usando o Heroku - pelo deploy ser baseado em Git, é bem simples de ser implementado e possibilita manutenção com rapidez e segurança. Assim, as escolhas de tecnologia foram baseadas em performance, agilidade e segurança, nos possibilitando atingir um bom equilíbrio e relacionamento entre as stacks escolhidas.

✒️ Autores

Desenvolvimento

Pesquisa de UX e prototipação do Design

PM (Product manager)