Bem-vindo ao repositório do projeto Apotecaria, que combina uma API de Usuários construída com Express.js e MongoDB com um site responsivo desenvolvido com HTML, CSS e JavaScript. Este projeto faz parte do desafio do Desenvolve - Grupo Boticário e tem como objetivo demonstrar habilidades tanto no desenvolvimento de backend quanto no design e interatividade do frontend.
- Cadastro de Usuário: Endpoint para cadastrar novos usuários com validação de dados.
- Autenticação: Implementação de hashing de senhas utilizando bcrypt.
- Validação de Dados: Utilização de middleware express-validator para garantir a conformidade dos dados recebidos.
- Conexão com MongoDB: Configuração e conexão segura com o banco de dados MongoDB.
- Design Responsivo: O site é otimizado para visualização em diferentes dispositivos, incluindo desktops, tablets e smartphones.
- Elementos Interativos: Botões de navegação, menus dropdown e carrossel de imagens interativos.
- Manipulação do DOM: JavaScript é utilizado para manipulação dinâmica dos elementos do DOM, proporcionando uma experiência aprimorada ao usuário.
📁 src
┣ 📂 api
┃ ┣ 📜 index.js
┃ ┣ 📜 userController.js
┣ 📂 loaders
┃ ┣ 📜 express.js
┃ ┣ 📜 mongoose.js
┣ 📂 middlewares
┃ ┣ 📜 validators.js
┣ 📂 models
┃ ┣ 📜 user.js
┣ 📂 services
┃ ┣ 📜 userService.js
┣ 📜 app.js
git clone https://github.com/EryckBarreto/apotecaria-backend
cd apotecaria-backend
npm install
Crie um arquivo .env na raiz do projeto com as seguintes variáveis:
PORT=3000
DATABASE_URI=mongodb://localhost:27017/nome-do-banco
npm start
Acesse a API via http://localhost:3000/api
git clone https://github.com/EryckBarreto/apotecaria-frontend
cd apotecaria-frontend
Abra o arquivo index.html no seu navegador.
O site está disponível para visualização no seguinte link: Apotecaria - Deploy
Use ferramentas como Postman ou Insomnia para testar os endpoints da API. Exemplo:
POST /api/signup: Cadastra um novo usuário
As senhas dos usuários são armazenadas de forma segura utilizando bcrypt. Validação rigorosa dos dados de entrada com express-validator.
Este projeto está licenciado sob a MIT License, permitindo que você utilize, modifique e distribua o código conforme desejar, desde que mantenha a atribuição da licença.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorias.
Esse README unificado cobre tanto o backend quanto o frontend do projeto Apotecaria, permitindo uma fácil visualizaçã