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.
- 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
Clone o projeto
git clone https://github.com/anti-w/leila-saloon-serverEntre no diretório do projeto
cd leila-saloon-serverInstale as dependências
npm installInicie o servidor
npm startEntre 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.
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 |
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 |
GET /schedule/read/:userId| Parâmetro | Tipo | Descrição |
|---|---|---|
userId |
string |
Obrigatório. Id do usuário |
DELETE /schedule/delete/:id| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
string |
Obrigatório. Id do agendamento |
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 |
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 |
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.