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-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.
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.