Skip to content

Back-end (servidor) hospedado na nuvem para integrar um banco de dados noSQL (MongoDB) a uma aplicação WEB e disponibilizar serviços de cadastro, login, agendamento de horários e gerenciamento de um salão de beleza.

anti-w/leila-saloon-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cabeleleila Leila Salão de Beleiza (Back-End)

Trata-se de um sistema web para cadastro dos clientes do salão de beleza, agendamento de horários para serviços fornecidos e também um controle interno da dona do salão.

Esse sistema foi desenvolvido para um desafio proposto pela empresa DSIN - Tecnologia da Informação para a vaga de Estágio em Desenvolvimento. Ele está divido pensando na arquitetura mordena de desenvolvimento web, onde o servidor é desacoplado da página, o que me traz vantagens tanto para manunteção, quanto para deploy e versionamento.

Funcionalidades

  • Conexão com a base de dados na nuvem (MongoDB Atlas)
  • Criar usuário
  • Agendar horário
  • Listar horários agendados pelo usuário
  • Utilizar midleware para criar token seguro
  • Criptografar senha do usuário em virtude da senha ser pessoal
  • Autenticar usuário
  • Criar usuário admin
  • Gerenciar agendamentos
  • Filtrar histórico de horários por um período de tempo
  • Elaborar indicadores administrativos

Stack utilizada

Galeria

Postman Routes

Server Structure

Rodando localmente

Clone o projeto

  git clone https://github.com/anti-w/leila-saloon-server

Entre no diretório do projeto

  cd leila-saloon-server

Instale as dependências

  npm install

Inicie o servidor

  npm start

Entre seguir as boas práticas em esconder variáveis de ambientes e facilitar a correção, optei por seguir as boas práticas, por isso segue via e-mail as variáveis de ambientes necessárias para o projeto funcionar no ambiente local.

Documentação da API

Retorna usuário e o token caso informações forem corretas

  POST /user/login
Parâmetro Tipo Descrição
email string Obrigatório. E-mail do usuário
password string Obrigatório. Senha do usuário

Retorna mensagem informando erro ocorrido ou sucesso caso o cadatro seja realizado

  POST /user/register
Parâmetro Tipo Descrição
name string Obrigatório. Nome do usuário
email string Obrigatório. E-mail do usuário
password string Obrigatório. Senha do usuário
confirmpassword string Obrigatório. Senha do usuário novamente

Retorna a lista de agendamentos já passados e no presente do usuário se o token for válido

  GET /schedule/read/:userId
Parâmetro Tipo Descrição
userId string Obrigatório. Id do usuário

Retorna mensagem de agendamento deletado com sucesso

  DELETE /schedule/delete/:id
Parâmetro Tipo Descrição
id string Obrigatório. Id do agendamento

Atualiza o agendamento, serviço ou ambos de acordo com a necessidade

  PUT /schedule/update/:id
Parâmetro Tipo Descrição
id string Obrigatório. Id do agendamento
date date Nova data
service string Novo serviço

Cria o agendamento caso o horário ainda não tenha sido selecionado

  POST /schedule/create/:userId
Parâmetro Tipo Descrição
userId string Obrigatório. Id do usuário
date date Obrigatório. Data selecionada para agendamento
service string Obrigatório. Serviço selecionado para agendamento
userName string Obrigatório. Nome do usuário

Aprendizados

Criar um sistema de login e cadastro não é tarefa muito difícil, o que me desafiou foi fazer isso tentando manter a segurança e presando pelas boas práticas de programação.

Logo

About

Back-end (servidor) hospedado na nuvem para integrar um banco de dados noSQL (MongoDB) a uma aplicação WEB e disponibilizar serviços de cadastro, login, agendamento de horários e gerenciamento de um salão de beleza.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published