Introdução: Bem-vindo ao projeto iService, a minha ideia com ele era exercitar os conhecimentos aprendidos em React e Node, então eu fiz um clone do Instagram e evolui com algumas funcionalidades, o objetivo é fazer com que usuários encontrem bons profissionais.
Como executar o projeto: Primeiro faça o download dos arquivos. Depois de acessar o diretório do projeto(com o comando "cd" + destinho), iremos até a pasta "frontend" e rodar o comando "npm install"(instala as dependências do projeto), depois iremos até a pasta "backend" e também rodar "npm install", e pra finalizar, o comando "npm run server" para rodar o servidor. Pronto, basta acessar localhost:5000 pelo navegador e testar.
Descrição: Rede social com base em serviços prestados, com o objetivo de fazer as pessoas conhecerem profissionais de serviços, podendo:
-Criar usuários com email, senha protegida com hash, função/profissão e telefone.
-Ver, postar, curtir e comentar fotos, pesquisar usuários por nome ou função, descobrir e seguir pessoas que ainda não segue.
-React: com componentes, hooks, react router, redux através do react tooklit, e consumo de API.
-Node: com rotas, middlewares de validação de formulários e arquivos, autenticação com hash usando BCRYPT e JWT, tudo feito no padrão MVC.
-Banco de dados, com o MongoDB através do Mongoose para guardar os dados dos usuários e Amazon S3 para armazenar as fotos.
-API: Criação de uma API que realize CRUD completo com os dados dos usuários.
-Gostei muito de utilizar o React, as páginas ficam muito mais dinâmicas e interessantes, não me vejo mais desenvolvendo sem utilizá-lo. -Segundo projeto que utilizo o Node, me fascino cada vez mais em como ele funciona, essa validação de formulário com express validator é sensacional e abre muitas possibilidade de uso, e utilizar o amazon S3 foi um desafio também, não queria armazenar as fotos no meu pc e depender dele, mas pra usar o S3 tive que pesquisar bastante, porque a documentação não tava nada fácil de entender. -Adicionar novas funcionalidades seria interessante, principalmente padronizar o tamanho e dimensões das fotos, mas como o objetivo não é ter muito usuários, não dei prioridade para isso, assim como adicionar descrição das fotos, avaliação para os profissionais, adicionar paginação(já fiz no projeto página de anúncios) e muitas outras coisas.