Bem vindo(a)! Este é meu projeto para o Processo Seletivo da Comp Júnior. O mesmo foi criado buscando solucionar um certo objetivo fictício: um maior alcance dos pequenos empreendedores da arte manual. Sendo assim, o projeto comporta um sistema de cadastro de usuário no qual é possível realizar publicações de trabalhos artesarnais para que outras pessoas possam acessá-lo e conhecer o trabalho umas das outras ou até mesmo apenas para procurar serviços.
-
Usuário
que possui váriaspublicações
.
Pelo fato de que eu não possuia conhecimento algum no setor de back-end, o uso do MySQL acabou sendo mais vantajoso, pois o curso de back-end que foi disponibilizado me proporcionou uma base muito boa dos conhecimentos de Node.js
e JavaScript
em torno deste banco de dados e tornou possivel que meu proceso de entendimento fosse mais tranquilo. Caso eu escolhesse uma outra opção de banco de dados, eu acredito que meu processo de aprendizagem seria mais complexo e demorado.O MySQL é um dos bancos de dados mais populares e seguros, além de que é possivel manipular dados altamente estruturados. Agora que tenho a base do MySQL, estou pronta para navegar por outros bancos de dados e acredito que será muito mais simples aprender mais sobre as outras possibilidades de armazenamento de dados disponíveis.
- GET
/list-all-users
: Listar todos os usuários. - GET
/user-profile
: Listar um usuário. - POST
/user
: Cria um novo usuário. - PUT
/user
: Atualiza as características do usuário. - DELETE
/user
: Deleta o usuário indicado. - POST
/forgot-password
: Envia um email de recuperação de senha para o usuário.
- GET
/list-all-posts
: Listar todos os posts. - POST
/post
: Cadastro de um novo post. - PUT
/post/:id
: Atualiza as atribuições ao post. - DELETE
/post/:id
: Deleta o post com o ID desejado.
- POST
/auth
: Autentica um usuário.
- POST
/upload
: Realiza o upload da imagem anexada.
- Criar um usuário:
{
"name":"Exemplo",
"password": "123",
"email": "exemplo@gmail.com",
"user_name": "exemplo_exemplo"
}
- Criar um post:
{
"user_name": "exmeplo_exemplo",
"password": "123",
"image": "imagem_teste",
"description": "Essa é uma descrição teste!"
}
Pra rodar essa aplcação você precisa ter: Git.
git clone git@github.com:marianarufo/projeto-final.git
cd projetofinal
npm install
npm install express
npm install sequelize
npm install jest
npm install dotenv
npm install jsonwebtoken
npm install bcryptjs
npm install jsonschema
npm install multer
npm install nodemailer
nodemailer-express-hendlebars
npm install mysql2
npm install uuid
npm start
express
: gerenciar e adicionar processos de requisições;sequelize
: permite criar classes que representam as tabelas do seu banco de dados, permitindo que os dados sejam manipulados a partir de objetos e métodos;sequelize-cli
: inclui funcionalidades relacionadas às migrations.jest
: framework de teste que permite garantir que a correção de códigos;nodemon
: monitora as modificações nos arquivos e reinicia automaticamente o servidor Node.js;dotenv
: configuração de variáveis;jsonwebtoken
: transmitir ou armazenar objetos JSON entre diferentes aplicações;bcryptjs
: criptografia de senhas;jsonschema
: possibilita uma estruturação clara e precisa sobre os formatos esperados e retornados pela API;multer
: upload de arquivos;node mailer
/nodemailer-express-handlebars envio de emails;mysql2
:conectar e mandar comandos SQL para o banco de dados;uuid
: gerar token;