{"id":13507135,"url":"https://github.com/frontendbr/eventos-api","last_synced_at":"2025-04-13T05:46:05.332Z","repository":{"id":89474349,"uuid":"96476649","full_name":"frontendbr/eventos-api","owner":"frontendbr","description":"Uma API para gerenciar os eventos de Frontend","archived":false,"fork":false,"pushed_at":"2020-06-02T20:31:50.000Z","size":1874,"stargazers_count":103,"open_issues_count":21,"forks_count":15,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-11-01T06:34:25.449Z","etag":null,"topics":["api","express","frontend","node","nodejs","passportjs"],"latest_commit_sha":null,"homepage":"https://frontendbreventosapi-eventosapi.wedeploy.io/api/docs/","language":"JavaScript","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/frontendbr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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}},"created_at":"2017-07-06T22:21:46.000Z","updated_at":"2024-06-04T21:30:38.000Z","dependencies_parsed_at":"2024-01-16T12:01:44.765Z","dependency_job_id":null,"html_url":"https://github.com/frontendbr/eventos-api","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/frontendbr%2Feventos-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frontendbr%2Feventos-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frontendbr%2Feventos-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frontendbr%2Feventos-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frontendbr","download_url":"https://codeload.github.com/frontendbr/eventos-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224777842,"owners_count":17368190,"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","express","frontend","node","nodejs","passportjs"],"created_at":"2024-08-01T02:00:24.833Z","updated_at":"2024-11-15T12:14:08.143Z","avatar_url":"https://github.com/frontendbr.png","language":"JavaScript","funding_links":[],"categories":["Intermediário","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# frontendbr-eventos-api\r\n[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)\r\n\r\nMaster: [![Build Status](https://travis-ci.org/frontendbr/eventos-api.svg?branch=master)](https://travis-ci.org/frontendbr/eventos-api)\r\n[![Coverage Status](https://coveralls.io/repos/github/frontendbr/eventos-api/badge.svg?branch=master)](https://coveralls.io/github/frontendbr/eventos-api?branch=master) [![Greenkeeper badge](https://badges.greenkeeper.io/frontendbr/eventos-api.svg)](https://greenkeeper.io/)\r\n\r\nEsse projeto tem como intuito criar uma API capaz de fornecer os dados para os eventos do [frontendbr](frontendbr.com.br/eventos).\r\n\r\n### Draft\r\nO desenho da API está sendo feito no [Swagger](https://swagger.io).\r\nPara visualizar, você pode acessar a [documentação](https://frontendbreventosapi-eventosapi.wedeploy.io/api/docs/) (Em atualização)\r\n\r\nCom isso é possível visualizar o atual draft, qualquer sugestão pode ser feita pelas issues.\r\n\r\n## Run\r\nAs seguintes tecnologias são usadas nesse projeto:\r\n - Node\r\n - Express 4\r\n - ES6\r\n - MongoDB\r\n - Babel (Para uso das novas features)\r\n - Mocha + Chai + Mongo-In-Memory + pow-mongodb-fixtures\r\n - Nodemon\r\n\r\nVocê pode, se desejar, configurar uma aplicação do github através do arquivo `dev.json`, a aplicação atual aponta para o callback `http://localhost:3000/auth/callback`.\r\n\r\nPara rodar, basta executar `npm i` na raiz, em seguida `npm start`.\r\n\r\n## Dev\r\nPara contribuir com o projeto é muito simples!\r\n\r\nVocê tem algumas opções:\r\n- Para subir a aplicação para desenvolver, você pode rodar o comando `npm run dev`. Isso inicia o servidor com o `nodemon`, o que permite um desenvolvimento mais ágil.\r\n- Você pode rodar o linter do projeto, usando a opção `npm run eslint`. Por favor, faça isso antes de submeter um pull request.\r\n- Você pode rodar os testes do projeto, usando a opção `npm t` ou `npm test`, essa opção já vai rodar o linter por padrão sempre. Por favor, faça isso antes de submeter um pull request.\r\n- Se você quiser, pode usar o comando `npm run watch` para iniciar o modo watch, que roda o lint e os testes sempre que um arquivo for salvo. Isso nos permite agilidade e feedback rápido. :)\r\n\r\n## Testes\r\nA nossa aplicação tem dois tipos de testes, **Integração** e **Unidade**.\r\nTodos os testes estão dentro da pasta test.\r\n#### Testes de integração\r\nOs testes de integração são todos os arquivos terminados em _integration.spec.js_.\r\nTodos os testes são rodados com base em um servidor conectado a uma base do mongo-in-memory. É possível fazer um load de dados nessa base, adicionado informações a pasta fixtures. Esses dados são carregados através do [pow-mongodb-fixtures](https://github.com/powmedia/pow-mongodb-fixtures).\r\n#### Testes de unidade\r\nOs testes de unidade são todos os arquivos terminados em _unit.spec.js_.\r\n\r\n\r\n## Deploy\r\n\r\nA plataforma de Deploy escolhida, foi o [WeDeploy](https://wedeploy.com/).\r\n\r\nPara realizar o deploy, é necessário ter instalado o CLI do WeDeploy e alterar o arquivo `wedeploy.json` colocando as variáveis do Admin do Firebase. Sem isso a aplicação não ira funcionar corretamente.\r\n\r\nFaça deploy através do comando `we deploy -p eventosapi`, onde eventosapi é o nome do projeto.\r\n\r\nFuturamente vamos configurar para que o Deploy seja feito pelo próprio TravisCI após o Build da master.\r\n\r\n\r\n## Pull-Request e Issues\r\nVocê pode abrir uma Issue a qualquer momento e todas elas são bem vindas.\r\nNós pedimos que você abra uma issue antes de realizar um PR, para que possamos debater sobre a sua ideia e guiar o projeto para o melhor caminho junto com você.\r\n\r\nNós temos algumas restrições para o merge do PR:\r\n- O build do Travis tem que passar, sem isso não podemos realizar o merge.\r\n- É necessário que um admin aprove o PR.\r\n- Entendemos que todos os PRs são importantes, então se você abriu um PR e ninguêm deu um feedback em uma semana, por favor marque alguem para um follow-up. (A ideia de esperar uma semana é para não atolar ninguém com milhões de mensagens)\r\n\r\n\r\nDúvidas? Problemas? Quer ajudar?\r\n***Sinta-se a vontade para abrir uma issue.***\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrontendbr%2Feventos-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrontendbr%2Feventos-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrontendbr%2Feventos-api/lists"}