{"id":17398056,"url":"https://github.com/jaydson/tabnewscombr","last_synced_at":"2026-02-04T10:12:04.019Z","repository":{"id":232535601,"uuid":"623019313","full_name":"jaydson/tabnewscombr","owner":"jaydson","description":"Generated by https://bohr.io","archived":false,"fork":false,"pushed_at":"2023-04-03T14:28:14.000Z","size":4918,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T22:15:30.444Z","etag":null,"topics":["bohr-deployed"],"latest_commit_sha":null,"homepage":"https://large-volleyball-green-sweden.bohr.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaydson.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":"2023-04-03T14:28:10.000Z","updated_at":"2023-04-03T14:33:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"37e63dd8-ce76-461c-a220-a9ac34972453","html_url":"https://github.com/jaydson/tabnewscombr","commit_stats":null,"previous_names":["jaydson/tabnewscombr"],"tags_count":0,"template":false,"template_full_name":"bohr-io/tabnews.com.br","purl":"pkg:github/jaydson/tabnewscombr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydson%2Ftabnewscombr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydson%2Ftabnewscombr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydson%2Ftabnewscombr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydson%2Ftabnewscombr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaydson","download_url":"https://codeload.github.com/jaydson/tabnewscombr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydson%2Ftabnewscombr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262352484,"owners_count":23297680,"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":["bohr-deployed"],"created_at":"2024-10-16T14:42:04.619Z","updated_at":"2026-02-04T10:11:58.976Z","avatar_url":"https://github.com/jaydson.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [tabnews.com.br](https://www.tabnews.com.br/)\n\n## Instalar e rodar o projeto\n\nRodar o TabNews em sua máquina local é uma tarefa extremamente simples.\n\n### Dependências globais\n\nVocê precisa ter duas principais dependências instaladas:\n\n- Node.js LTS v16 (ou qualquer versão superior)\n- Docker Engine v17.12.0 com Docker Compose v1.24.1 (ou qualquer versão superior)\n\nUtiliza `nvm`? Então pode executar `nvm install` na pasta do projeto para instalar e utilizar a versão mais apropriada do Node.js.\n\n### Dependências locais\n\nEntão após baixar o repositório, não se esqueça de instalar as dependências locais do projeto:\n\n```bash\nnpm install\n```\n\n### Rodar o projeto\n\nPara rodar o projeto localmente, basta rodar o comando abaixo:\n\n```bash\nnpm run dev\n```\n\nIsto irá automaticamente rodar serviços como Banco de dados (incluindo as Migrations), Servidor de Email e irá expor um Serviço Web (Frontend e API) no seguinte endereço:\n\n```bash\nhttp://localhost:3000/\nhttp://localhost:3000/api/v1/status\n```\n\nObservações:\n\n- Para derrubar todos os serviços, basta utilizar as teclas `CTRL+C`, que é o padrão dos terminais para matar processos.\n- Você pode conferir o endereço dos outros serviços dentro do arquivo `.env` encontrado na raiz do projeto, como por exemplo o endereço e credenciais do Banco de Dados local ou o Frontend do Serviço de Email.\n\n### Cadastro e Login de usuários\n\nNo ambiente de desenvolvimento você poderá tanto criar usuários manualmente (inclusive para receber e testar o email de ativação), quanto utilizar usuários pré-cadastrados e que já foram ativados para sua conveniência.\n\n#### Manualmente criar um usuário\n\n1. Após subir os serviços, acesse http://localhost:3000/cadastro\n2. Preencha os dados e utilize **qualquer email** com formato válido, mesmo que este email não exista, por exemplo: `teste@teste.com`\n3. O backend irá enviar um email para o servidor **local** de emails e que pode ser acessado pelo endereço http://localhost:1080/\n4. Abra o email de Ativação e acesse o link para ativar sua conta de fato.\n5. Com a conta ativa, realize o login: http://localhost:3000/login\n\n#### Utilizar usuários pré-cadastrados\n\nPor padrão, ao rodar o comando `npm run dev` será injetado dois usuários ativados, um com features padrões e outro com features administrativas como a habilidade de rodar as Migrations usando a API ou alterar o conteúdo de outros usuários. Segue abaixo as credenciais destes dois usuários (`\"email\"` + `\"senha\"`):\n\n- **Usuário Admin**: `\"admin@admin.com\"` + `\"password\"`\n- **Usuário padrão**: `\"user@user.com\"` + `\"password\"`\n\n## Rodar os testes\n\nHá várias formas de rodar os testes dependendo do que você deseja fazer, mas o primeiro passo antes de fazer qualquer alteração no projeto é rodar os testes de forma geral para se certificar que tudo está passando como esperado. O comando abaixo irá rodar todos os serviços necessários, rodar os testes e em seguida derrubar todos os serviços.\n\n```bash\nnpm test\n```\n\nCaso queira manter os serviços e testes rodando enquanto desenvolve (e rodando novamente a cada alteração), use o comando abaixo:\n\n```bash\nnpm run test:watch:services\n```\n\nOs logs do Serviço Web e Jest (dos testes) irão se misturar, então caso queira rodar eles de forma separada, abra dois terminais separados e rode o seguinte:\n\n```bash\n# Terminal 1\nnpm run dev\n\n# Terminal 2\nnpm run test:watch\n```\n\nCaso não queira dar `watch` em todos os testes e queira isolar apenas 1 arquivo de teste (ou um grupo de testes), você pode utilizar um simples `regex` para dar `match` no que quiser, por exemplo:\n\n```bash\n# Rodar apenas /tests/api/v1/_use-cases/registration-flow.test.js\nnpm run test:watch -- registration-flow\n\n# Rodar todos os testes de \"users\" da api \"v1\"\nnpm run test:watch -- v1/users/\n\n# Rodar apenas /tests/api/v1/users/[username]/patch.test.js\nnpm run test:watch -- username./patch\n\n# tests/integration/api/v1/contents/[username]/[slug]/get.test.js\nnpm run test:watch -- contents/.username./.slug./get\n```\n\nObservações:\n\n- A forma como é tratado o caminho dos arquivos pode mudar dependendo do seu sistema operacional.\n- A forma como o seu terminal interpreta caracteres especiais como `/` ou `[` pode mudar, mas você poderá usar `regex` para evitar usar esses caracteres, como por exemplo utilizar o `.` que representa o `match` com qualquer caractere. Isto foi utilizado nos exemplos acima para evitar os caracteres `[` e `]` dos arquivos.\n\n## Criar novas Migrations\n\nVocê pode utilizar o script `migration:create`, por exemplo:\n\n```\nnpm run migration:create alter table users add tabcoins\n```\n\nIsto irá resultar em:\n\n```\nCreated migration -- ./infra/migrations/1655399502254_alter-table-users-add-tabcoins.js\n```\n\nCaso esta nova migração esteja válida, ela será automaticamente executada na próxima vez que você rodar o comando `npm run dev`. Caso contrário, o serviço não irá subir e os logs de erro estarão registrados no arquivo `migrations.log` encontrado na raiz do projeto.\n\n## Commit das alterações\n\nApós finalizar suas alterações e se certificar que todos os testes estão passando com o comando geral `npm test`, chegou a hora de fazer o commit das suas alterações.\n\nPara ser auxiliado no padrão de commit que utilizamos, rode o comando abaixo e siga as instruções:\n\n```bash\nnpm run commit\n```\n\n## Diário de Desenvolvimento\n\n- [Acessar o diário](https://github.com/filipedeschamps/tabnews.com.br/wiki)\n\n## Contribuidores\n\n\u003ca href=\"https://github.com/filipedeschamps/tabnews.com.br/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=filipedeschamps/tabnews.com.br\u0026max=500\" alt=\"Lista de contribuidores\" width=\"100%\"/\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaydson%2Ftabnewscombr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaydson%2Ftabnewscombr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaydson%2Ftabnewscombr/lists"}