Skip to content

gerenciamento de reservas de hotel com acompanhamento de disponibilidades de quartos, cadastros de hóspedes e emissões de faturas

License

Notifications You must be signed in to change notification settings

epicestudar/Hostly-java-interface

Repository files navigation

Typing SVG

Contexto Inicial

Gerenciamento de Reservas de Hotel: O sistema será um gerenciamento de reservas de hotel, no qual o administrador poderá cadastrar quartos, gerenciar reservas, buscar hóspedes no sistema e acessar extratos de emissão fiscal, enquanto que o hóspede poderá solicitar a sua reserva em quartos disponíveis e efetuar o pagamento.




logo

backend documentação mobile site






Typing SVG

Apresentação do Projeto: Desenvolvimento de Aplicação sobre Gerenciamento de Reservas

Visão Geral do Projeto

Objetivo: Desenvolver um sistema para gerenciamento de reservas de hotel, onde o administrador poderá cadastrar quartos, gerenciar reservas, buscar hóspedes no sistema e acessar extratos de emissão fiscal. Hóspedes poderão solicitar reservas em quartos disponíveis e efetuar o pagamento. A aplicação utilizará tecnologias modernas e práticas de mercado, garantindo segurança, escalabilidade e uma experiência de usuário fluida por meio de Java Swing para a interface e Spring Boot para a API, com MongoDB como banco de dados.

Por Que Este Projeto? A nossa empresa chamada Hostly, dedicada a inovar no campo da gestão de serviços, está em processo de criação de um sistema de gerenciamento de reservas de hotel. Este projeto visa proporcionar uma experiência eficiente tanto para os funcionários quanto para os hóspedes, facilitando o processo de reserva e gerenciamento dos quartos. Com o objetivo de transformar a forma como os hotéis gerenciam suas reservas e atendem aos hóspedes, estamos desenvolvendo uma solução tecnológica avançada que ofereça uma interface amigável e funcionalidades robustas.




Typing SVG

O sistema de gerenciamento de reservas será desenvolvido utilizando Spring Boot para a API e Java Swing para a interface administrativa, com MongoDB como banco de dados. A solução visa proporcionar uma experiência de usuário intuitiva, com recursos para cadastro e gerenciamento de quartos, reservas, emissão de contratos e relatórios financeiros.




Typing SVG

Equipe:

  • 1 Gerente de Projetos
  • 3 Desenvolvedores Full-Stack (Spring Boot e Java)
  • 1 Administrador de Banco de Dados
  • 1 Especialista em Segurança

Tecnologias:

  • Spring Boot (API)
  • Java Swing (Interface)
  • MongoDB (Banco de Dados)
  • Git/GitHub (Controle de Versão)

Ferramentas de Gestão:

  • Trello para gerenciamento de tarefas
  • Slack para comunicação interna
  • Mermaid para montagem dos diagramas






Typing SVG

classDiagram
    class Administrador {
        +string id_administrador
        +string email
        +string senha
        +post()
    }

    class Hospede {
        +string id_hospede
        +string nome
        +date data_nascimento
        +string telefone
        +string cpf
        +string email
        +string senha
        +list<Reserva> reservas
        +post()
        +get()
        +put()
        +delete()
    }

    class Quarto {
        +string id_quarto
        +string codigo_quarto
        +enum tipo_quarto
        +integer capacidade_quarto
        +double valor_quarto
        +enum status
        +list<Reserva> reservas
        +post()
        +get()
        +put()
        +delete()
    }

    class Reservas {
        +string id_reserva
        +foreignkey codigo_quarto
        +foreignkey cpf_hospede
        +foreignkey nome_hospede
        +integer quantidade_diarias
        +localdate data_check_in
        +localdate data_check_out
        +enum status
        +date data_reserva
        +post()
        +get()
        +put()
        +delete()
    }

    class Pagamento {
        +string id_pagamento
        +foreignkey id_reserva
        +foreignkey cpf_hospede
        +localdate data_pagamento
        +double valor_pago
        +enum metodo_pagamento
        +post()
        +get()
        +put()
        +delete()
        +calcularValorPagamento()
    }

    Administrador "1" -- "0..*" Hospede : "gerencia"
    Administrador "1" -- "0..*" Quarto : "gerencia"
    Hospede "1" -- "0..*" Reservas : "realiza"
    Quarto "1" -- "0..*" Reservas : "é reservado em"
    Reservas "1" -- "0..1" Pagamento : "possui"

Loading






Typing SVG

flowchart TD
    H[Hóspede] -->|Fazer Login| B(Fazer Login)
    B -->|Acessar Sistema| C(Sistema de Reservas)
    
    C -->|Buscar Quartos Disponíveis| D(Visualizar Quartos)
    D -->|Selecionar Quarto| E(Escolher Quarto e Ver Detalhes)
    E -->|Solicitar Reserva| F(Selecionar Datas e Confirmar Reserva)
    F -->|Efetuar Pagamento| G(Realizar Pagamento)
    G -->|Confirmar| H2(Reserva Confirmada)

    A2[Administrador] -->|Cadastrar Quartos| J(Cadastrar Novos Quartos)
    J -->|Definir Atributos do Quarto| K(Definir Número, Andar, Preço, Capacidade, etc.)
    
    A2 -->|Gerenciar Quartos| L(Gerenciar Quartos Existentes)
    L -->|Editar Quarto| M(Editar Detalhes do Quarto)
    L -->|Excluir Quarto| N(Excluir Quarto)
    
    A2 -->|Cadastrar Hóspede| X(Cadastrar Hóspede)
    A2 -->|Gerenciar Hóspede| Y(Gerenciar Hóspede Existente)
    
    A2 -->|Ver Reservas| Z(Visualizar Reservas)
    Z -->|Ver Pagamentos| W(Emissões de Pagamento)
    
    H -->|Visualizar Reservas| O(Ver Minhas Reservas Atuais)
    O -->|Cancelar Reserva| P(Cancelar Reserva)
    
    H -->|Editar Perfil| Q(Atualizar Informações de Hóspede)


Loading






Typing SVG

flowchart TD
    Start([Início]) -->|Acesso ao Sistema| A[Fazer Login]
    
    A -->|Hóspede| B{Login Bem-sucedido?}
    B -- Sim --> C[Acessar Sistema de Reservas]
    B -- Não --> D[Exibir Erro e Tentar Novamente]

    C -->|Ver Quartos Disponíveis| E[Visualizar Quartos]
    E --> F{Quartos Disponíveis?}
    F -- Sim --> G[Selecionar Quarto]
    F -- Não --> H[Exibir Mensagem: Sem Quartos Disponíveis]
    
    G --> I[Definir Datas de Check-in e Check-out]
    I --> J[Confirmar Reserva]
    J --> K{Efetuar Pagamento?}
    K -- Sim --> L[Escolher Método de Pagamento]
    L --> M[Efetuar Pagamento]
    M --> O[Reserva Confirmada]
    
    O --> End([Fim])

    C -->|Gerenciar Reservas| P[Visualizar Minhas Reservas]
    P --> Q[Cancelar Reserva]
    Q --> R[Reserva Cancelada]

    A -->|Administrador| S{Login Bem-sucedido?}
    S -- Sim --> T[Dashboard de Administração]
    T --> U[Cadastrar Novo Quarto]
    T --> V[Editar Quarto]
    T --> W[Excluir Quarto]
    
    T --> X[Gerenciar Hóspedes]
    X --> Y[Cadastrar Hóspede]
    X --> Z[Editar Hóspede]
    X --> AA[Excluir Hóspede]
    
    T --> AB[Visualizar Reservas]
    AB --> AC[Emitir Pagamento]
    
    S -- Não --> D

Loading






Typing SVG

Acesso ao Sistema

  1. Realizar Cadastro (apenas hóspedes realizam cadastro):

    • Na tela inicial, clique na opção "Cadastrar".
    • Preencha todos os campos obrigatórios (nome, CPF, telefone, e-mail e senha) e clique em "Salvar".
    • Após o cadastro, você receberá uma confirmação de que seu cadastro foi realizado com sucesso.
  2. Fazer Login:

    • Após o cadastro, insira seu e-mail e senha nos campos apropriados.
    • Clique no botão "Fazer Login" para acessar o sistema.

Para Hóspedes

  1. Visualizar Quartos Disponíveis:

    • Após o login, você será direcionado para o sistema de reservas.
    • Clique na opção "Ver Quartos Disponíveis" para listar os quartos que podem ser reservados.
  2. Selecionar Quarto:

    • Escolha um quarto da lista para visualizar os detalhes (número, capacidade, preço, etc.).
    • Clique em "Solicitar Reserva" para iniciar o processo de reserva.
  3. Definir Datas de Check-in e Check-out:

    • Insira as datas desejadas para check-in e check-out.
    • Clique em "Confirmar Reserva".
  4. Efetuar Pagamento:

    • Escolha um método de pagamento (cartão de crédito, débito, etc.).
    • Clique em "Efetuar Pagamento" para finalizar a reserva.
    • Você verá uma mensagem de "Reserva Confirmada" após a conclusão do pagamento.
  5. Visualizar Reservas:

    • Acesse a opção "Minhas Reservas" para ver todas as reservas feitas.
    • Você pode cancelar reservas existentes, se necessário.
  6. Editar Perfil:

    • Acesse a opção "Editar Perfil" para atualizar suas informações pessoais, como telefone e endereço de e-mail.

Para Administradores

  1. Acessar Dashboard:

    • Após o login, você será direcionado ao Dashboard de Administração.
    • Aqui, você pode gerenciar quartos e hóspedes, além de visualizar reservas.
  2. Cadastrar Novo Quarto:

    • Clique em "Cadastrar Novo Quarto" e preencha os campos necessários (número, andar, preço, capacidade, etc.).
    • Clique em "Salvar" para adicionar o quarto ao sistema.
  3. Gerenciar Quartos Existentes:

    • Acesse a opção "Gerenciar Quartos" para visualizar todos os quartos cadastrados.
    • Você pode editar ou excluir quartos clicando nas opções correspondentes ao lado de cada quarto.
  4. Gerenciar Hóspedes:

    • Clique em "Gerenciar Hóspedes" para visualizar e gerenciar os dados dos hóspedes.
    • Você pode cadastrar novos hóspedes, editar informações existentes ou excluir hóspedes.
  5. Visualizar Reservas:

    • Acesse "Visualizar Reservas" para ver todas as reservas feitas por hóspedes.
    • Você pode emitir pagamentos e acessar extratos de emissão fiscal.




Typing SVG

About

gerenciamento de reservas de hotel com acompanhamento de disponibilidades de quartos, cadastros de hóspedes e emissões de faturas

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages