{"id":19653206,"url":"https://github.com/didifive/meetingroom-backend","last_synced_at":"2026-05-06T13:12:29.659Z","repository":{"id":153798472,"uuid":"441469255","full_name":"didifive/meetingroom-backend","owner":"didifive","description":"Meeting Room Backend","archived":false,"fork":false,"pushed_at":"2021-12-26T02:22:16.000Z","size":75,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-10T00:17:16.250Z","etag":null,"topics":["api","backend","dio-bootcamp","h2-database","java","java17","lombok","maven","spring-boot"],"latest_commit_sha":null,"homepage":"https://meetingroom-backend.herokuapp.com/swagger-ui.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/didifive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-12-24T13:11:05.000Z","updated_at":"2023-09-09T23:25:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"444ea49f-fe41-4538-98b4-2b6aa7f1f5dc","html_url":"https://github.com/didifive/meetingroom-backend","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/didifive%2Fmeetingroom-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didifive%2Fmeetingroom-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didifive%2Fmeetingroom-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/didifive%2Fmeetingroom-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/didifive","download_url":"https://codeload.github.com/didifive/meetingroom-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240961576,"owners_count":19885351,"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":["api","backend","dio-bootcamp","h2-database","java","java17","lombok","maven","spring-boot"],"created_at":"2024-11-11T15:13:33.582Z","updated_at":"2026-05-06T13:12:29.620Z","avatar_url":"https://github.com/didifive.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crie seu gerenciador de salas de reuniões com Java e Angular\n\n## Digital Innovation One\n### Bootcamp \"Java Developer\"\n\nProjeto desenvolvido com instruções de [Kamila Santos] na trilha de estudo do Bootcamp \"Java Developer\" da [dio.me].\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg alt=\"Repository language count\" src=\"https://img.shields.io/github/languages/count/didifive/meetingroom-backend\"\u003e\n    \u003ca href=\"https://www.linkedin.com/in/luis-carlos-zancanela/\"\u003e\n        \u003cimg alt=\"Made by Didi\" src=\"https://img.shields.io/badge/made%20by-Didi-blue\"\u003e\n    \u003c/a\u003e\t\n    \u003ca href=\"https://github.com/didifive/meetingroom-backend/commits/master\"\u003e\n        \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/didifive/meetingroom-backend?color=blue\"\u003e\n    \u003c/a\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-brightgreen?color=blue\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://dev.java/\"\u003e\n\t  \u003cimg alt=\"Java\" src=\"https://img.shields.io/static/v1?color=red\u0026label=Dev\u0026message=Java\u0026style=for-the-badge\u0026logo=Java\"\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\nLink da base utilizada neste projeto: [Kamilahsantos/Crud-Spring-liveCoding-Dio].\n\nAbaixo seguem modificações feitas em relação ao projeto base:\n* Foi utilizado a versão 17 do Java;\n* Adicionado o arquivo `system.properties` com a versão do Java para que o projeto possa ser carregado corretamente no [Heroku];\n* Na classe \"Room\" foi adicionado o atributo `link` e anotações lombok `@AllArgsConstructor`, `@NoArgsConstructor` e `@Setter`;\n* Na classe \"ErrorDetails\" foi utilizado a anotação lombok `@Getter`;\n* Na classe \"RoomController\" o método `createRoom()` foi alterado para que o mesmo retorne o HTTP Status \"201 Created\";\n* Adicionada a dependência [Springdoc OpenAPI UI] para disponibilizar Swagger;\n* Para o projeto funcionar com o frontend hospedado no Netlify, foi necessário adicionar o domínio `https://meetingroomclient.netlify.app` em `@CrossOrigin` na classe `RoomController`. \n\n---\n\n#### Endpoints criados na API: \n* Criar sala de reuniao: `POST` `/api/v1/rooms`\n* Listar todas as salas: `GET` `/api/v1/rooms`\n* Buscar uma sala pelo Id: `GET` `/api/v1/rooms/{id}`\n* Atualizar uma sala pelo Id: `PUT` `/api/v1/rooms/{id}`\n* Excluir uma sala pelo id: `DELETE` `/api/v1/rooms/{Id}`\n\nPara testar localmente os Endpoints, foi adicionado ao projeto uma coleção do Postman que já possuí modelos e testes de requisições HTTP. O arquivo está na pasta [postman](https://github.com/didifive/meetingroom-backend/tree/master/postman)\n\nLink para acessar Swagger no projeto carregado localmente: `http://localhost:8082/swagger-ui.html`\n\nLink para acessar Swagger no projeto no [Heroku]: [https://meetingroom-backend.herokuapp.com/swagger-ui.html](https://meetingroom-backend.herokuapp.com/swagger-ui.html)\n\n---\n\n#### Frontend em Angular para este projeto: \n* Repositório: [didifive/meetingroom-client]\n* Link Projeto Online: https://meetingroomclient.netlify.app/  \n[![Netlify Status](https://api.netlify.com/api/v1/badges/53c4dc7a-b520-4621-9e9f-c94b3178c337/deploy-status)](https://app.netlify.com/sites/meetingroomclient/deploys)\n\n---\n\nLink do projeto disponível online no [Heroku]: [https://meetingroom-backend.herokuapp.com](https://meetingroom-backend.herokuapp.com/api/v1/rooms)  \n_Observação: Quando o projeto fica sem receber requisições por um tempo, automaticamente o Heroku coloca ele em modo dormir (sleepy), portanto caso ocorra erro de timeout, basta tentar novamente que deve estar ativo._\n\n---\n\nLinks Interessantes:\n* [Java 17 - Documentation]\n* [IntelliJ]\n* [spring]\n* [spring initializr]\n* [Heroku]\n* [Netlify]\n* [Jakarta Validation]\n* [Lombok]\n* [Maven]\n* [H2 Database]\n* [Springdoc OpenAPI UI]\n\n\n[dio.me]: https://dio.me/\n[Kamila Santos]: https://www.linkedin.com/in/kamila-santos-oliveira/\n[Kamilahsantos/Crud-Spring-liveCoding-Dio]: https://github.com/Kamilahsantos/Crud-Spring-liveCoding-Dio\n[Heroku]: https://www.heroku.com/\n[Jakarta Validation]: https://beanvalidation.org/\n[Lombok]: https://projectlombok.org/\n[Java 17 - Documentation]: https://docs.oracle.com/en/java/javase/17/\n[IntelliJ]: https://www.jetbrains.com/pt-br/idea/\n[Maven]: https://maven.apache.org/\n[H2 Database]: https://h2database.com/\n[spring initializr]: https://start.spring.io/\n[spring]: https://spring.io/\n[didifive/meetingroom-client]: https://github.com/didifive/meetingroom-client\n[Springdoc OpenAPI UI]: https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui/1.5.12\n[Netlify]:https://www.netlify.com/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidifive%2Fmeetingroom-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdidifive%2Fmeetingroom-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdidifive%2Fmeetingroom-backend/lists"}