{"id":21077690,"url":"https://github.com/mathiasgilson/lighthouse","last_synced_at":"2025-03-14T04:11:30.878Z","repository":{"id":88615630,"uuid":"107433115","full_name":"MathiasGilson/LightHouse","owner":"MathiasGilson","description":"Find projects in need of your help based","archived":false,"fork":false,"pushed_at":"2017-11-19T03:00:45.000Z","size":5907,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T23:15:29.643Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/MathiasGilson.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":"2017-10-18T16:18:26.000Z","updated_at":"2021-05-23T13:07:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"971829f3-0267-41dc-9233-4652d0da9373","html_url":"https://github.com/MathiasGilson/LightHouse","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathiasGilson%2FLightHouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathiasGilson%2FLightHouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathiasGilson%2FLightHouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathiasGilson%2FLightHouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MathiasGilson","download_url":"https://codeload.github.com/MathiasGilson/LightHouse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243521288,"owners_count":20304187,"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":[],"created_at":"2024-11-19T19:37:50.926Z","updated_at":"2025-03-14T04:11:30.857Z","avatar_url":"https://github.com/MathiasGilson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub LightHouse\n\n\n## A Lighthouse you say?\n\nThrough the tempests of issues we've built a lighthouse to shed a light on projects sinking under the pressure of fame and not having enough crew to fix all the issues. If you feel kind-hearted enough to help a fellow dev, pass by our [Lighthouse](https://mathiasgilson.github.io/LightHouse/).\n\n## Does it run locally?\n\nYes it does!\n\n\n## But how do I start it?\n\nRun in docker\n\n- define the github token in the environment variable `GITHUB_TOKEN` in the *docker-compose.yml* file\n- run `docker-compose up --build -d`\n\nRun locally\n\n- run `npm install --production`\n- define the github token in the environment variable `GITHUB_TOKEN` (`export GITHUB_TOKEN=YourRoken`)\n- run `npm start`\n- open `index.html` in your favorite web browser\n\n\n## Development and production\n\nInstall the dependencies using `npm install`\n\nStart the webpack watcher by running `npm run webpack`\nChanges on the files will regenerate the css and js resources.\n\nAs this project uses CSS Modules the stylesheets are injected in the html page and not compiled in a file. For production you might want to have a unique css file for catching purposes.\n\nSo when you are happy with your changes check if the linter is happy by using `npm run linter` no errors means that he's happy, this guy is not very chatty\n\nThen generate your nice js bundle and css file with the command `npm run build` it will check if the code is linted and then build the frontend.\n\n\n## Frontend\n\nThe frontend is developed using React.js and CSS modules. Each component is styled with it's own or shared style.scss file.\n\nWe serve it using github pages because it's free\n\n\n## Backend\n\nWe use heroku to serve the logic of the app and a scheduled job run it for a list of famous frameworks to speedup the loading time. It generates a js files containing the lists of repos for these frameworks and stores it in the github repo. It's a hacky way to store data without paying but it works.\n\n## How does it works ?\n\nBasically it uses black magic to determine if a repo is trendy/useful enough to worth your time and if there isn't a lot of brave dev helping out already. Then it sends you a handpicked selection of repos that you might want to help\n\n## Whaa black magic you said ?\n\nYeah well not exactly, we count the number of open issues weighted by the number of day since there last update and we divide this so called \"open issues score\" by the code frequency. It's the average number of commit per hour done by all the project's contributors. We obviously multiply this number by over nine thousand. Then we multiply it by it's \"trendyness\" wich is the max between the number of stars and the number of fork.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathiasgilson%2Flighthouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathiasgilson%2Flighthouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathiasgilson%2Flighthouse/lists"}