{"id":21285187,"url":"https://github.com/alissonwenceslau/hotelreservation","last_synced_at":"2025-03-15T15:12:14.591Z","repository":{"id":162602464,"uuid":"537916388","full_name":"AlissonWenceslau/Hotelreservation","owner":"AlissonWenceslau","description":"Hotel reservation","archived":false,"fork":false,"pushed_at":"2022-09-23T01:22:47.000Z","size":183,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T05:15:03.806Z","etag":null,"topics":["clean-code","date","delegate","java","oop","oriented-object-programming","simpledateformat","timeunit"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlissonWenceslau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-17T19:55:22.000Z","updated_at":"2022-09-24T19:01:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f5c512d-6ae9-44c3-ac67-3ede74e20b02","html_url":"https://github.com/AlissonWenceslau/Hotelreservation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2FHotelreservation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2FHotelreservation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2FHotelreservation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlissonWenceslau%2FHotelreservation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlissonWenceslau","download_url":"https://codeload.github.com/AlissonWenceslau/Hotelreservation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243746200,"owners_count":20341203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-code","date","delegate","java","oop","oriented-object-programming","simpledateformat","timeunit"],"created_at":"2024-11-21T11:18:40.935Z","updated_at":"2025-03-15T15:12:14.570Z","avatar_url":"https://github.com/AlissonWenceslau.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hotel  Reservation\r\n\r\n\u003cimg src=\"img/diagrama_classes.png\" alt=\"Diagrama de Classes\"\u003e\r\n\r\n\u003e Trata-se de um mini projeto simples programado em **Java**, que visa criar exceções try-catch personalizadas, onde serão versionadas 3 soluções, sendo elas:\r\n\r\n- [ ] Muito ruim - Lógica de validação no programa principal\r\n- [ ] Ruim - Método retornando string\r\n- [x] Boa - Tratamento de exceções\r\n\r\n#### Obs: A caixa flegada acima, indicara o solução atual \r\n\u003cimg src=\"img/funcionamento1.png\" alt=\"Funcionamento\"\u003e\r\n\r\n\u003cimg src=\"img/funcionamento2.png\" alt=\"Funcionamento\"\u003e\r\n\r\n## 💻 Pré-requisitos\r\n\r\nAntes de começar, verifique se você atendeu aos seguintes requisitos:\r\n\u003c!---Estes são apenas requisitos de exemplo. Adicionar, duplicar ou remover conforme necessário---\u003e\r\n* Você precisa compreender a linguagem Java e conceitos de POO (Encapsulamento, herança e polimorfismo)\r\n* Você precisa compreender classes **Date, SimpleDateFormat** e o enum **TimeUnit**\r\n* Você precisa compreender conceito de delegação\r\n* Você precisa compreender try-catch e bloco finally\r\n\r\n## Features\r\nTimeUnit é um enum disponível no pacote **java.util.concurrent**, ele basicamente disponibiliza métodos para converter o tempo em unidades de tempo.\r\n\r\nNeste projeto foi utilizado **TimeUnit** na classe **Reservation** para calcular a unidade de tempo em **dias** entre o ChekcIn e o CheckOut, conforme abaixo:\r\n\r\n```Java\r\npublic long duration() {\r\n    long diff = checkOut.getTime() - checkIn.getTime();\r\n    \r\n    return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);\r\n}\r\n```\r\n\r\n\u003c!--* Você leu `\u003cguia / link / documentação_relacionada_ao_projeto\u003e`.--\u003e\r\n\r\n### Ajustes e melhorias\r\n\r\nO projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:\r\n\r\n- [ ] Incluir banco de dados\r\n- [ ] Incluir interface gráfica\r\n## 🚀 Instalando \u003cOrder client\u003e\r\n\r\nPara instalar o \u003cOrder\u003e, siga estas etapas:\r\n\r\nLinux, macOS e Windows:\r\n```\r\n\u003cgit clone git@github.com:AlissonWenceslau/Hotelreservation.git \u003e\r\n```\r\n###### Próximo passo\r\n* Execute o projeto em uma IDE\r\n\r\n\r\n[⬆ Voltar ao topo](#Hotelreservation)\u003cbr\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonwenceslau%2Fhotelreservation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falissonwenceslau%2Fhotelreservation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonwenceslau%2Fhotelreservation/lists"}