Giter Club home page Giter Club logo

hostel-app-gcva's Introduction

hostel-app-gcva

GitHub repo size GitHub language count GitHub forks GitHub open issues

exemplo imagem

Web Application em desenvolvimento para gerenciamento de clientes por parte do Hostel Sparkling Water

💻 Pré-requisitos

Antes de começar, verifique se você atendeu aos seguintes requisitos:

Tenha instalado (ordem importante):

  • WSL (Windows Subsystem for Linux) [for Windows only] ✔️
  • docker v20.10.0+ ✔️
  • docker-compose v1.29.0+ ✔️
  • gnu-make v4.2.0+ ✔️
  • JDK 8+ ✔️
  • Apache Maven v3+ ✔️

🚀 Get started

Para instalar o hostel-app-gcva, siga estas etapas:

  1. Faça download do repositório remoto
git clone https://github.com/celso-patiri/hostel-app-gcva.git

Se vc já tem o repositório hostel-app-gcva instalado, rode o comando make drop no seu repositório local antes de reiniciar o projeto com os passos abaixo

  1. Dentro do diretório em que o repositório foi iniciado, execute na primeira vez (isso inicia os containers mysql e payara-server):
make init
  1. Inicie um connection pool (necessário para que o backend funcione)
make set_connection_pool
  1. Faça o deploy de tudo no Payara Server Docker
make deploy_all
  1. Depois do deploy, tende ver o resultado em: http://localhost:8080/frontend

Observações:

  1. A primeira vez tende a ser demorada, pois é necessário download de diversar dependências
  2. Se estiver em uma distro linux, e houver erro de permissão, tente adicionar sudo aos comandos make, exemplo:

Ao invés de:

make init

Tente:

sudo make init

📫 Contribuindo hostel-app-gcva

Para contribuir com hostel-app-gcva, siga estas etapas:

  1. Bifurque este repositório.
  2. Crie um branch: git checkout -b <nome_branch>.
  3. Faça suas alterações e confirme-as: git commit -m '<mensagem_commit>'
  4. Envie para o branch original: git push origin <nome_branch>
  5. Crie a solicitação de pull dentro do GitHub.

Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull .

🤝 Colaboradores

Agradecemos às seguintes pessoas que contribuíram para este projeto:

Foto do Iuri Silva no GitHub
Caio Eduardo
Foto do Mark Zuckerberg
Celso Patiri
Foto do Steve Jobs
Rafael Bittar
Foto do Steve Jobs
Guilherme Gouveia
Foto do Steve Jobs
João Fonseca
Foto do Steve Jobs
Gabriel Pereira

André Neves

Arthur Klimas

📝 Licença

Esse projeto está sob licença. Veja o arquivo LICENSE para mais detalhes.

⬆ Voltar ao topo

hostel-app-gcva's People

Contributors

caioreius avatar celsobenedetti avatar guilhermeagouveia avatar joaovitron999 avatar spriggancs avatar

Stargazers

 avatar  avatar

Watchers

 avatar

hostel-app-gcva's Issues

[HOS-18] Exibir lista de hóspedes

Descrição

Eu como um gerente de reservas, quero ser capaz de exibir uma lista de todos os hóspedes já cadastrados no sistema do Hostel

Critérios de aceitação

  • A lista deve ser exibida permitindo diferentes tipos de ordenação (por nome, sobrenome, e-mail, etc.);
  • Deve ser possível realizar uma busca para encontrar hóspedes específicos por nome e sobrenome.

Tasks

[Frontend]

  • Adicionar uma lista do tipo "table" que contenha todos os Hóspedes como itens;
  • Adicionar um botão "Novo Hóspede";
  • Em cada item da lista de Hóspedes exibir um botão que altere seu status entre 'ativo' e 'inativo'.
  • Consumir dados fornecidos pelo backend
  • Definir os elementos para suporte à Paginação

[Backend]

  • Criar um controlador que faça o acesso no Modelo que retorne a lista de Clientes usando um esquema de paginação;
  • Retornar informações ordenadas por telefone (default);

[HOS-4] Definir IDE utilizada

Descrição

Eu como Membro do time scrum, quero definir um ambiente de desenvolvimento para facilitar e agilizar o processo de implementação

Tasks

  • Definir com o grupo qual é a IDE preferida para o desenvolvimento do projeto;
  • Testar ferramenta escolhida a partir da criação de um Hello World na linguagem java;

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-13] Login

Descrição

Como gerente de reservas
Quero logar no hostelApp
para criar reservas para novos hóspedes e visualizar
uma lista com todos os hóspedes que já se hospedaram no hostel.

Critérios de aceitação

  • Um login tem um nome de usuário e uma senha.
  • Deve haver uma opção explícita para lembrar as credenciais do gerente de reservas.
  • Uma mensagem de login incorreta deve ser mostrada para
    usuário e/ou senha.
  • A senha deve ter pelo menos 8 caracteres.

Tasks

[Frontend]

  • Adicionar campos de entrada de texto: Username e Password;
  • Adicionar um botão de "Login";
  • Entrada de texto Password deve permitir ocultar e exibir a senha;
  • Em caso de erro no Login, mostrar um banner indicando erro para o usuário;
  • Em caso de sucesso, redirecioná-lo para a Home Page;

[Backend]

  • Verificar a partir da API de Security a autenticação do Usuário;
  • Criar um controlador para o "Login";

[HOS-14] Home page

Descrição

Como um visitante do site, eu quero ser capaz de visualizar o que preciso saber em relação ao Hostel Sparkling Water para que possa ponderar sobre a contratação dos serviços oferecidos por ele.

Critérios de aceitação

  • A página inicial do site deve mostrar as informações principais referentes ao Hostel;
  • Na página inicial deve ser possível acessar links referentes aos outros ambientes do site (lista de hóspedes, serviço de reservas, login e logout);
  • A página inicial do site deve mostrar uma breve história do Hostel;
  • A página inicial do site deve mostrar informações de contato com o Hostel;
  • A página inicial do site deve mostrar informações de localização e como chegar ao Hostel.

Tasks

[Frontend]

  • Criar botões de ação; [ Login ] e [ Logout ]
  • Adicionar o Header
  • Adicionar o Footer;
  • Adicionar um botão para acessar a listagem de Clientes;

[Backend]

[HOS-0] Definir ferramenta de build

Descrição

Eu como Membro do time Scrum, quero definir uma ferramenta de build para trabalhar com pacotes centralizados e de fácil gerenciamento.

Tasks

  • Chegar em consenso com o grupo de desenvolvedores sobre qual plataforma usar para gerenciamento do projeto;
  • Compatibilidade com JDK 8, JDK que os servidores de aplicação suportam.

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-2] Configurar Repositório do GitHub

Descrição

Eu como Membro do time Scrum, quero criar um repositório na plataforma GitHub e nele incluir o restante do time de desenvolvimento com a função de colaboradores.

Tasks

  • Criar Repositório no GitHub;
  • Convidar todos os membros do grupo como colaboradores;
  • Definir arquivo .gitignore inicial;
  • Definir a licença;
  • Todos os membros do time de desenvolvimento devem criar um PAT para acessar os repositórios;

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-8] Estudar a API JavaEE8 Security

Descrição

Eu como Membro do time Scrum, quero estudar a API JavaEE8 Security, utilizando esse tutorial: Tutorial JavaEE8 Security

Tasks

  • Todos os membros devem ter estudado a tecnologia API e ter um conhecimento básico para permitir um possível início de implementação JavaEE8 Security

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-6] Definir os papéis do time Scrum

Descrição

Eu como Membro do time Scrum, quero definir em conjunto com o time os papéis Scrum que serão assumidos por cada integrante da equipe.

Tasks

  • Cada membro da equipe deve ter um cargo definido no time Scrum

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-1] Definir tecnologias FRONT-END

Descrição

Eu como Desenvolvedor, quero definir em conjunto com o time as tecnologias a serem utilizadas para realizar a parte de front-end do projeto Hostel Sparkling Water.

Tasks

  • Permitir o reuso baseado na construção de componentes;
  • Ampla comunidade de desenvolvedores em caso de dúvidas;
  • Uma requisição RESTful tem que ocorrer em no máximo: 0.X segundos;
  • Implementar um teste Hello World para verificar o funcionamento e atualizá-lo no repositório do GitHub;

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-15] Cadastrar novo hóspede

Eu como gerente de reservas, quero ser capaz de cadastrar um novo hóspede para que possa manter um registro atualizado de quem se já se hospedou no hostel Sparkling Water.

  • Um hóspede possui os seguintes campos: primeiro nome, último nome, email, telefone, endereço, estado e país;
  • Além de telefone, todos os campos de hóspede são obrigatórios;
  • O gerente de reservas deve ser notificado caso tenha preenchido um campo com informações inválidas;
  • O gerente de reservas deve ser informado caso tente inserir um hóspede que já está cadastrado.

Tasks

[Frontend]

  • Adicionar um Header e Footer;
  • Adicionar os campos de entrada de texto: "Firstname", "Lastname", "E-mail", "Phonenumber", "Address", "Country", "State".
  • Adicionar o botão "Submit";
  • Adicionar o botão "Return" para a lista de Hóspedes;
  • Adicionar uma função para definir obrigatoriedade dos campos de Hóspede.

[Backend]

  • Criar o controlador para cadastrar Hóspedes

[HOS-7] Estudar a tecnologia JAX-RS

Descrição

Eu como Membro do time Scrum, quero estudar a tecnologia JAX-RS para implementação de serviços RESTfull em Jakarta EE.

Curso Pagliares de JAX-RS: link

Tasks

  • Todos os membros devem ter estudado a tecnologia JAX-RS;
  • Aplicar seu conhecimento para permitir o início de implementação de um Hello Word.

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-10] Definir ambiente de produção e testá-lo

Descrição

Eu como Desenvolvedor, quero definir um ambiente de produção afim de hospedar minha aplicação e disponibilizá-la para os stakeholder's

Tasks

  • Definir o ambiente de produção (Heroku, Amazon Web Services, Azure, Google Cloud, Alibaba, etc);
  • Fazer o deployment de uma aplicação inicial do tipo "Hello World" neste ambiente de produção escolhido.

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-17] Logout

Descrição

Como usuário
Quero deslogar no hostelApp
para encerrar a minha sessão no sistema

Critérios de aceitação

  • Uma opção para logout deve estar disponível
  • O usuário logado deve ser deslogado da aplicação

Task

[Frontend]

  • Criar um component button que tenha como ação o logout e esteja disponível para uso em qualquer página, desde que o usuário esteja logado
  • Ação do button: Com um cliente HTTP do JS (axios, XMLHttpRequest) que faça uma requisição de logout no backend

[Backend]

  • Criar um controlador para logout

[HOS-12] Configurar repositório base do projeto

Descrição

Eu, como Desenvolver, quero ter um ambiente com base bem formada para iniciar o desenvolvimento focado no objetivo do projeto sem perder tempo com configurações de ambiente e repositório

[HOS-21] Definir acessibilidade e permissão

Como Product Owner,
quero que as funcionalidades da aplicação sejam restritas a determinados papéis dentro definidos em #58 ,
a fim de usar a autenticação para delimitar funcionalidades

[HOS-16] Filtrar clientes

Descrição

Como gerente de reservas
Quero filtrar a lista de clientes no hostelApp
para facilitar a localizações dos dados desejados em determinada consulta

Critérios de aceitação

  • O filtro deve funcionar ao menos pelo nome
  • A resposta do filtro deve ser rápida, cerca de 5 segundos no máximo
  • O nome pode conter a substring digitada na entra ne texto para filtro, não precisando ser um match perfeito

Task

[Frontend]

  • Adicionar uma função que aplica Regex em cada item dos vetores que representam os Clientes;
  • Adicionar uma entrada de texto do Filtro;
  • Adicionar o botão de "Filtro";
  • Adicionar o botão "Limpar" referente ao Filtro.

[Backend]

  • Criar controlador que suporte a filtragem de hospedes

[HOS-3] Definir ferramenta para gerenciamento do Scrum

Descrição

Eu como Membro do time Scrum, quero definir, em consenso com o resto do time, qual(is) será(m) a(s) ferramenta(s) utilizada(s) para gerenciar o Scrum.

Tasks

  • Chegar em um consenso com o grupo sobre qual será a ferramenta mais adequada pra gerenciar o Scrum;
  • Testar ferramenta escolhida;
  • Cadastrar membros.

[HOS-9] Estudar funcionamento de APIs

Descrição

Eu como Desenvolvedor, quero entender sobre como consumir dados de uma API, para que eu possa trabalhar com os dados persistidos no banco de dados dentro de uma View.

Tasks

  • Entender sobre JSON;
  • Entender Asyncronous function ou Promises (JS);
  • Entender sobre HTTP methods rest.

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-11] Baixar e configurar Docker

Descrição

Eu como Desenvolvedor, preciso configurar Docker e Docker-Compose na minha máquina pra poder rodar o banco de dados MySQL e servidor Payara em containers para a aplicação.

Tasks

  • Baixar Docker Docker page ou no linux: sudo snap install docker
  • Teste se Docker docker --version e docker-compose docker-compose --version foram instalados. Caso docker-compose nao esteja instalado install docker-compose

Quem completou:

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

[HOS-5] Definir e configurar banco de dados

Descrição

Eu como Desenvolvedor, quero escolher um Sistema Gerenciador de Banco de Dados para implementar a persistência de dados da aplicação Hostel Sparkling Water.

Tasks

  • Decidir com o grupo qual será o banco de dados utilizado;
  • Todos os membros do grupo devem baixar o banco de dados e configurar um usuário;
  • Rodar o script para criação da tabela Hospede e popular o banco com os 23 hóspedes;

Quem completou

  • Caio
  • Guilherme
  • Celso
  • João
  • Arthur
  • Rafael
  • André
  • Gabriel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.