{"id":17008919,"url":"https://github.com/barbaracalderon/fmt-tutor-mate","last_synced_at":"2026-04-18T14:34:45.513Z","repository":{"id":229571504,"uuid":"777028306","full_name":"barbaracalderon/fmt-tutor-mate","owner":"barbaracalderon","description":"Tutor Agenda restful API project developed in Java, Spring Boot, using JDK17, PostgreSQL with DB schema.","archived":false,"fork":false,"pushed_at":"2024-04-22T05:12:07.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T12:42:42.017Z","etag":null,"topics":["java","java-17","java-jpa","java-springboot","java-web-app","maven","project-lombok","restful-api","spring-boot","spring-jpa"],"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/barbaracalderon.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}},"created_at":"2024-03-25T03:36:13.000Z","updated_at":"2024-04-22T05:12:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"886770ee-c96b-4953-9384-74ae7cffc71e","html_url":"https://github.com/barbaracalderon/fmt-tutor-mate","commit_stats":null,"previous_names":["barbaracalderon/fmt-tutor-mate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/barbaracalderon/fmt-tutor-mate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbaracalderon%2Ffmt-tutor-mate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbaracalderon%2Ffmt-tutor-mate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbaracalderon%2Ffmt-tutor-mate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbaracalderon%2Ffmt-tutor-mate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barbaracalderon","download_url":"https://codeload.github.com/barbaracalderon/fmt-tutor-mate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barbaracalderon%2Ffmt-tutor-mate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31972458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["java","java-17","java-jpa","java-springboot","java-web-app","maven","project-lombok","restful-api","spring-boot","spring-jpa"],"created_at":"2024-10-14T05:42:15.629Z","updated_at":"2026-04-18T14:34:45.497Z","avatar_url":"https://github.com/barbaracalderon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tutor-Mate Restful API\n\nEste projeto é uma API RESTful desenvolvida em Java e Spring Boot para gerenciar agendamentos entre alunos e tutores. \nUtiliza JDK 17 e banco de dados PostgreSQL com o esquema de banco de dados especificado. \n\n## Autor\n\nSou a Barbara Calderon, desenvolvedora de software.\n- [Github](https://www.github.com/barbaracalderon)\n- [Linkedin](https://www.linkedin.com/in/barbaracalderondev)\n- [Twitter](https://www.x.com/bederoni)\n\n## Endpoints da API\n\n### /alunos\n| Método | Endpoint                                    | Descrição                                                     |\n|--------|---------------------------------------------|---------------------------------------------------------------|\n| GET    | `/alunos`                                   | Retorna todos os alunos cadastrados.                          |\n| GET    | `/alunos/{id}`                              | Retorna o aluno com o ID especificado.                        |\n| POST   | `/alunos`                                   | Cria um novo aluno.                                           |\n| PUT    | `/alunos/{id}`                              | Atualiza os dados do aluno com o ID especificado.             |\n| DELETE | `/alunos/{id}`                              | Remove o aluno com o ID especificado.                         |\n\n\n### /tutores\n| Método | Endpoint                                    | Descrição                                                     |\n|--------|---------------------------------------------|---------------------------------------------------------------|\n| GET    | `/tutores`                                  | Retorna todos os tutores cadastrados.                         |\n| GET    | `/tutores/{id}`                             | Retorna o tutor com o ID especificado.                        |\n| POST   | `/tutores`                                  | Cria um novo tutor.                                           |\n| PUT    | `/tutores/{id}`                             | Atualiza os dados do tutor com o ID especificado.             |\n| DELETE | `/tutores/{id}`                             | Remove o tutor com o ID especificado.                         |\n\n\n### /agendas\n| Método | Endpoint               | Descrição                                                     |\n|--------|------------------------|---------------------------------------------------------------|\n| GET    | `/agendas`             | Retorna todas as agendas.                                      |\n| GET    | `/agendas/{id}`        | Retorna uma agenda pelo ID especificado.                       |\n| POST   | `/agendas`             | Cria uma nova agenda.                                         |\n| PUT    | `/agendas/{id}`        | Atualiza uma agenda pelo ID especificado.                      |\n| DELETE | `/agendas/{id}`        | Deleta uma agenda pelo ID especificado.                        |\n\n\n\n### /materiais\n| Método | Endpoint              | Descrição                                |\n|--------|-----------------------|------------------------------------------|\n| GET    | `/materiais`           | Lista todos os materiais disponíveis     |\n| GET    | `/materiais/{id}`      | Busca um material pelo ID                |\n| POST   | `/materiais`            | Cria um novo material                    |\n| PUT    | `/materiais/{id}`       | Atualiza um material existente pelo ID   |\n| DELETE | `/materiais/{id}`       | Deleta um material pelo ID               |\n\n\n\n### /agendamentos\n| Método | Endpoint                                    | Descrição                                                     |\n|--------|---------------------------------------------|---------------------------------------------------------------|\n| GET    | `/agendamentos/alunos/{alunoId}`           | Retorna os agendamentos pertencentes ao aluno com o ID especificado. |\n| GET    | `/agendamentos/tutores/{tutorId}`          | Retorna os agendamentos pertencentes ao tutor com o ID especificado. |\n| GET    | `/agendamentos/proximo/aluno/{alunoId}`    | Retorna os próximos agendamentos pertencentes ao aluno com o ID especificado. |\n| GET    | `/agendamentos/proximo/tutor/{tutorId}`    | Retorna os próximos agendamentos pertencentes ao tutor com o ID especificado. |\n\n## Tecnologias Utilizadas\n\n- **Java 17**\n- **Spring Boot**: framework para desenvolvimento de aplicações Java\n- **Spring Boot Starter Data JPA**: para persistência de dados\n- **Spring Boot Starter Web**: para desenvolvimento de aplicativos da web\n- **Spring Boot DevTools**: ferramenta para desenvolvimento mais produtivo\n- **PostgreSQL**: banco de dados relacional\n- **Project Lombok**: para reduzir a verbosidade do código Java\n- **Maven**: gerenciador de dependências e construção de projetos\n\n## Executando o Projeto\n\nAntes de executar o projeto, certifique-se de ter o JDK 17 e o PostgreSQL instalados em sua máquina.\n\n1. Clone o repositório do projeto:\n    ```bash\n    git clone git@github.com:barbaracalderon/fmt-tutor-mate.git\n    ```\n\n2. Acesse o diretório do projeto:\n    ```bash\n    cd fmt-tutor-agenda-api\n    ```\n\n3. Configure o banco de dados PostgreSQL:\n\n    - Crie um banco de dados com o nome `fmt_tutor_agenda_db` (sugestão)\n    - Insira suas configurações no arquivo `application.properties`:\n\n```properties\n# arquivo application.properties\nspring.application.name=tutor\nserver.port=8080\nspring.datasource.url=jdbc:postgresql://localhost:5432/fmt_tutor_agenda_db\nspring.datasource.username=postgres\nspring.datasource.password=[digite sua senha]\nspring.datasource.driver-class-name=org.postgresql.Driver\nspring.jpa.properties.hibernate.format_sql=true\nspring.jpa.hibernate.ddl-auto=update\nspring.jpa.show-sql=true\n```\n\n4. Execute o projeto:\n    ```bash\n    ./mvnw spring-boot:run\n    ```\n\nO servidor será iniciado em http://localhost:8080.\n\n## Testando os Endpoints\n\nVocê pode testar os endpoints utilizando ferramentas como Postman ou Insomnia. Por exemplo:\n\n- Para listar todos os alunos:\n    ```bash\n    GET http://localhost:8080/alunos\n    ```\n\n- Para criar um novo aluno:\n    ```bash\n    POST http://localhost:8080/tutores\n\n    Body:\n    {\n      \"nome\": \"Nome do Tutor\",\n      \"especialidade\": \"Descrição da sua especialidade\"\n    }\n    ```\n\nCertifique-se de substituir os valores de exemplo pelos valores reais.\n\n### Atividade\n\nEsta foi uma atividade da semana 10, execução própria de uma proposta de projeto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbaracalderon%2Ffmt-tutor-mate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarbaracalderon%2Ffmt-tutor-mate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbaracalderon%2Ffmt-tutor-mate/lists"}