Atlantic Hotel

Projeto final do Curso Full Stack Javascript Developer da Technology Experts. Tem como objetivo gerenciar um site de hotel fictício, através de cadastro, criação de reservas e avaliação de quartos por parte do usuário e gerenciamento de quartos, banners, cupons e formulários de contato por parte do administrador.

 

Conteúdo

 

Construção:

Recursos
API Node 18
WEB Vue 3
Estilização Sass
Base de Dados MySQL e MongoDB
ORM Sequelize
ODM Mongoose
Ferramentas Visual Studio Code
HeidiSQL e MySQLWorkbench
Postman e Insomnia

 

Instalação e Inicialização:

  • (/admin/api):

    • npm install;
    • npm start;
  • (/):

    • npm install;
    • npm run serve;
  • porta API: arquivo de configuração .env;

  • porta padrão WEB: 8080;

  • acesso web:

    • rota pública -> {baseURL}:{PORT}/#
    • rota admin -> {baseURL}:{PORT}/#/admin
  • usuário padrão (admin):

  • a aplicação pode ser acessada através dos links:

 

Configurações

  • WEB - conexão com a API;

  • ENV - variáveis de ambiente - configuração inicial (antes da inicialização, deve ser renomeado para .env):

    exemplo de configuração:

    APP_PORT     =  3000
    
    DB_NAME      =  name          |
    DB_USER      =  user          | 
    DB_PASS      =  password      |
    DB_DIALECT   =  mysql         | --> parâmetros base de dados mySQL
    DB_PORT      =  3306          |
    DB_HOST      =  localhost     | 
    
    MDB_USER     =  user         |
    MDB_PASS     =  password     | 
    MDB_CLUSTER  =  cluster      | --> parâmetros base de dados MongoDB
    MDB_URL      =  url          | 
    MDB_NAME     =  name         |
           
    SECRET       =  secret_word

 

Estrutura da Base de Dados:

 

Implementações API:

 

  • Serviços:

    • initialAdmin:

      • ao iniciar a aplicação, gera um usuário com permissão admin automaticamente, caso não haja nenhum;
    • initialPermission:

      • ao iniciar a aplicação, gera as permissões "admin" e "user", caso não existam;
    • hashPassword:

      • criptografa a senha do usuário no momento do cadastro;

 

Backlog

  • Relatório de consumo dinâmico;
  • Atualização de reservas;
  • Área Admin:
    • CRUD Serviços;
    • Responsividade para tela mobile;
  • Usuários:
    • CRUD admin;
    • atualização de endereço;
  • Alguns componentes apresentam instabilidade ao atualizar a página;
  • Ampliar a utilização do campo deletedAt para toda base de dados;
  • Integrar o componente de comentário da acomodação para a reserva;
  • Implementar confirmação da reserva (admin) para liberação de outros recursos (controle de consumo, disponibilidade da acomodação);
  • Adicionar paginação em listagens;
  • Aprimorar integração entre tela de acomodações e reservas;
  • Rodapé:
    • Tornar funcional a opção de outros idiomas para o site;
    • Criar as seções "sobre nós" e "termos e condições";
  • Home:
    • Criar as telas de "spa wellness", "gastronomia" e "experiências" da seção "conheça mais sobre nossos serviços";
    • Corrigir layout do componente banner para resoluções superiores a 1920 x 1080 pixels.

 

Desenvolvido por:

 

Se quiser saber mais sobre nós e esse projeto, acesse o link da apresentação.

Desenvolvido para fins educacionais.