{"id":47332296,"url":"https://github.com/notehubbr/notehub-api","last_synced_at":"2026-06-02T13:00:39.362Z","repository":{"id":254160981,"uuid":"840431438","full_name":"NoteHubBR/notehub-api","owner":"NoteHubBR","description":"Bloco de Notas Social","archived":false,"fork":false,"pushed_at":"2026-05-13T13:10:00.000Z","size":33213,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-13T14:35:48.921Z","etag":null,"topics":["hub","notehub"],"latest_commit_sha":null,"homepage":"https://api.notehub.com.br","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/NoteHubBR.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-09T17:32:30.000Z","updated_at":"2026-05-13T12:46:11.000Z","dependencies_parsed_at":"2024-09-09T23:59:16.697Z","dependency_job_id":"b4185b79-6907-4a12-9391-21d4a6d7eee1","html_url":"https://github.com/NoteHubBR/notehub-api","commit_stats":null,"previous_names":["lucas-adm/springboot-microblog","lucas-adm/springboot-notehub","notehubbr/notehub-api"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/NoteHubBR/notehub-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoteHubBR%2Fnotehub-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoteHubBR%2Fnotehub-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoteHubBR%2Fnotehub-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoteHubBR%2Fnotehub-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoteHubBR","download_url":"https://codeload.github.com/NoteHubBR/notehub-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoteHubBR%2Fnotehub-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33822821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"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":["hub","notehub"],"created_at":"2026-03-17T21:16:03.165Z","updated_at":"2026-06-02T13:00:39.350Z","avatar_url":"https://github.com/NoteHubBR.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NoteHub (API)\n\n#### NoteHub é um projeto open-source que fornece uma API REST escrita em Java + Spring Boot para um \"Bloco de Notas Social\". A ideia é oferecer uma base escalável e extensível para criar, compartilhar e processar notas, com autenticação JWT, persistência em PostgreSQL e processamento assíncrono via RabbitMQ. O projeto foi estruturado para ser simples de entender e fácil de contribuir — perfeito para colaboradores que queiram se desenvolver em um contexto real.\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://notehub.com.br\"\u003e\n    \u003cimg width=\"10%\" height=\"10%\" src=\"https://notehub.com.br/imgs/favicon.png\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/notehubbr/notehub-api/releases/tag/v3.0\"\u003e\n    \u003cimg width=\"100px\" height=\"25px\" src=\"https://img.shields.io/badge/notehub-3.0-7c3aed\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Instalação\n\n\u003cdetails\u003e\n\n  \u003csummary\u003eBuild\u003c/summary\u003e\n\n#### Pré-requisitos(build):\n\n- Git\n- Docker\n\n1. Digite os seguintes comandos no terminal dentro da pasta desejada:\n\n  ```bash\n    git clone https://github.com/notehubbr/notehub-api.git\n    cd springboot-notehub\n  ```\n\n2. Copie o arquivo de exemplo de variáveis de ambiente e ajuste conforme necessário:\n\n  ```bash\n    (Linux e macOS) cp .env.example .env\n    (Windows) copy .env.example .env\n  ```\n\n3. Suba a aplicação com Docker Compose:\n\n  ```bash\n    docker compose up -d\n  ```\n\n4. Acesse a API em `http://localhost:8080` (por padrão). A documentação interativa normalmente fica em `http://localhost:8080/docs`.\n\n5. Para parar e remover containers:\n\n  ```bash\n    docker compose down --rmi all --volumes\n  ```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\n  \u003csummary\u003eDev\u003c/summary\u003e\n\n#### Pré-requisitos(dev):\n\n- Git\n- Docker\n- Java 21\n\n1. Siga as intruções do build até a parte 2(faça a parte 2).\n\n2. Em docker-compose.yml comente os blocos:\n\n  ```docker\n  # postgres:\n  #   image: postgres:14\n  #   container_name: postgres\n  #   environment:\n  #     POSTGRES_DB: ${PGDATABASE}\n  #     POSTGRES_USER: ${PGUSERNAME}\n  #     POSTGRES_PASSWORD: ${PGPASSWORD}\n  #   ports:\n  #     - '5432:5432'\n  #   volumes:\n  #     - postgres_data:/var/lib/postgresql/data\n\n  #   app:\n  #     container_name: app\n  #     build:\n  #       context: .\n  #       dockerfile: Dockerfile\n  #     ports:\n  #       - '8080:8080'\n  #     env_file:\n  #       - .env.example\n  #     depends_on:\n  #       - postgres\n  #       - rabbitmq\n  #       - mailhog\n  \n  # volumes:\n  #   postgres_data:\n  ```\n\n\u003e Em ambiente de desenvolvimento será utilizado o banco de dados em memória e a aplicação será executada pela IDE.\n\n3. Suba a aplicação com Docker Compose:\n\n  ```bash\n    docker compose up -d\n  ```\n\n4. Em `src/main/resources/application-dev.properties` preencha os valores das variáveis de ambiente:\n\n\u003e O arquivo .env só atende ao ambiente de produção.\n\n  ```properties\napi.server.host=${SERVER:http://localhost:8080}\napi.client.host=${http://localhost:3000}\napi.server.security.token.secret=${SECRET:seu-segredo}\noauth.github.client.id=${GHCI:seu-github-client-id}\noauth.github.client.secret=${GHCS:seu-github-client-secret}\nspring.rabbitmq.addresses=${RABBITMQ_ADDRESSES:amqp://user:root@localhost:5672}\nbroker.queue.activation.name=default.activation\nbroker.queue.secret.name=default.secret\nbroker.queue.password.name=default.password\nbroker.queue.email.name=default.email\nspring.mail.host=${SPRING_MAIL_HOST:localhost}\nspring.mail.port=${SPRING_MAIL_PORT:1025}\nspring.mail.friendly.name=${SPRING_MAIL_FRIENDLY_NAME:seu-nome-amigável}\nspring.mail.username=${SPRING_MAIL_USERNAME:email-genérico}\nspring.mail.password=${SPRING_MAIL_PASSWORD:}\n  ```\n\n5. Em `src/main/java/br/com/notehub/domain/notification/Notification.java` comente a seguinte parte:\n\n\u003e O banco de dados em memória não oferece suporte ao tipo de coluna JSON/JSONB.\n\n  ```java\n// @Column(columnDefinition = \"JSONB\")\n// @JdbcTypeCode(SqlTypes.JSON)\n@Convert(converter = NotificationFieldInfoConverter.class)\nprivate Map\u003cString, Object\u003e info;\n  ```\n\n6. Inicie a aplicação.\n\n  ```bash\n    ./mvnw spring-boot:run\n  ```\n\n7. Acesse a API em `http://localhost:8080` (por padrão). A documentação interativa normalmente fica em `http://localhost:8080/docs`.\n\n8. Para acessar a caixa de e-mails acesse `http://localhost:8025`.\n\n9. Para parar e remover containers acione `CTRL+C` no terminal e em seguide digite:\n\n  ```bash\n    docker compose down --rmi all --volumes\n  ```\n\n\u003c/details\u003e\n\n## Documentação\n\n#### A API é documentada em Swagger e acessível em \u003ca href=\"https://api.notehub.com.br/docs\"\u003e/docs\u003c/a\u003e\n\n## Relato de erros\n\n#### Use o sistema de Issues do GitHub, crie uma issue com passos para reproduzir, comportamento esperado e logs/erros.\n\n## Sugestão\n\n#### Deixe um comentário com a nova ideia/sugestão na \u003ca href=\"https://notehub.com.br/notehub/52b89a65-1c87-4692-9bf8-5096b674fa40\"\u003epostagem dedicada.\u003c/a\u003e\n\n## Contribuição\n\n#### Contribuições são mais do que bem-vindas! Aqui vai um fluxo sugerido para colaboradores:\n\n1. Fork -\u003e clone -\u003e crie uma branch com um nome descritivo:\n\n  ```bash\n    git checkout -b feat/nova-funcionalidade\n  ```\n\n2. Faça commits em inglês, pequenos e claros seguindo o padrão: `(escopo)(referência):(mensagem)`. Ex.:\n\n  ```bash\n    git commit -m \"feat(auth): add login via Discord\"\n  ```\n\n3. Sincronize com o upstream (se estiver forked) e abra um Pull Request descrevendo:\n\n- O que foi alterado;\n- Porquê a alteração é necessária;\n- Como testar manualmente;\n\n4. Preencha checklist no PR:\n\n- [x] Código segue o padrão do projeto\n- [ ] Testes adicionados/atualizados\n- [x] Documentação atualizada (se necessário)\n\n5. Boas práticas para PRs\n\n- Um propósito por PR (não agrupe várias funcionalidades sem relação).\n- Inclua screenshots ou curl/postman snippets quando possível.\n- Referencie a issue correspondente (ex.: Fixes #12).\n\n## Licença\n\n#### Ainda não há licença explícita no repositório.\n\n## Créditos\n\n- ###### Email Template por \u003ca href=\"https://github.com/konsav/email-templates\"\u003e***konsav***\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotehubbr%2Fnotehub-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotehubbr%2Fnotehub-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotehubbr%2Fnotehub-api/lists"}