{"id":15024002,"url":"https://github.com/sap/project-portal-for-innersource","last_synced_at":"2025-04-13T02:20:31.839Z","repository":{"id":42002760,"uuid":"317539399","full_name":"SAP/project-portal-for-innersource","owner":"SAP","description":"Lists all InnerSource projects of a company in an interactive and easy to use way. Can be used as a template for implementing the \"InnerSource portal\" pattern by the InnerSource Commons community.","archived":false,"fork":false,"pushed_at":"2025-03-27T10:03:19.000Z","size":3110,"stargazers_count":147,"open_issues_count":5,"forks_count":75,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-11T13:48:15.578Z","etag":null,"topics":["inner-source","innersource","open-source","opensource"],"latest_commit_sha":null,"homepage":"https://sap.github.io/project-portal-for-innersource/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SAP.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-01T12:49:17.000Z","updated_at":"2025-04-04T03:38:42.000Z","dependencies_parsed_at":"2024-01-06T01:17:22.876Z","dependency_job_id":"7694e8cd-8413-45c7-a97e-39a118c1f534","html_url":"https://github.com/SAP/project-portal-for-innersource","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/SAP%2Fproject-portal-for-innersource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fproject-portal-for-innersource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fproject-portal-for-innersource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fproject-portal-for-innersource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP","download_url":"https://codeload.github.com/SAP/project-portal-for-innersource/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654660,"owners_count":21140340,"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":["inner-source","innersource","open-source","opensource"],"created_at":"2024-09-24T19:59:41.774Z","updated_at":"2025-04-13T02:20:31.816Z","avatar_url":"https://github.com/SAP.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Portal for InnerSource [![REUSE status](https://api.reuse.software/badge/github.com/SAP/project-portal-for-innersource)](https://api.reuse.software/info/github.com/SAP/project-portal-for-innersource)\n\nA reference implementation to list all InnerSource projects of a company in an interactive and easy to use way.\nIt can be used as a template for implementing the [InnerSource Portal pattern](https://patterns.innersourcecommons.org/p/innersource-portal) by the [InnerSource Commons community](http://innersourcecommons.org/).\n\n## Demo\n\nA running instance of the portal using mock data can be found [here](https://sap.github.io/project-portal-for-innersource/index.html).\n\nThe portal can also be seen in action in these recordings:\n- [The Unexpected Path of Applying InnerSource Patterns](https://www.youtube.com/watch?v=6r9QOw9dcQo) - InnerSource Commons Fall Summit 2020 session\n- [InnerSource \u0026 Discoverability](https://youtu.be/Yi2iVMa-gxM) - July 2021 InnerSource Commons Community Call\n\n## About this project\n\nEach tile in the project portal represents an InnerSource project. The list of projects can be filtered by programming language, sorted by various KPIs, and searched using a keyword.\nFilter and search criteria are persisted in the URL to allow sharing a subset of projects easily. Entries in the portal can be sorted by the [Repository Activity Score](https://patterns.innersourcecommons.org/p/repository-activity-score).\n\n![Overview](docs/overview.png)\n\nClicking on the repository URL or the contribute button will take you directly to the source repository for GitHub projects.\nClicking on any other area on the tile will open the details popup with more information on the project.\n\n![Details](docs/details.png)\n\nThe \"+\" button in the lower right explains how to list new projects and how to create the InnerSource metadata file that contains additional information about the project.\n\n## Requirements and Setup\n\nInstall [nodejs](https://nodejs.org/en/).\n\n### Installation\n\n1. Fork and clone this repository\n\n2. Install nodejs dependencies\n\n``` shell script\nnpm install\n```\n\n\u003e *Note:* a `postinstall` script will place all required framework libraries in the `lib` folder\n\n2. Run the project portal on a local web server\n\n``` shell script\nnpm start\n```\n\n\u003e *Note:* a browser window will open automatically\n\n4. Start developing!\n\n### Running locally via Docker Compose\n\nPresuming you already have an environment capable of running Docker Compose (e.g.: with [Docker Desktop](https://docs.docker.com/get-docker/) or [Podman Desktop](https://podman.io/)), simply:\n\n1. `cd` to the root of this repo\n2. Run `docker compose up`\n\nYou can then access the service at \u003chttp://localhost:8080\u003e.\n\n### Rebuilding and testing locally via Docker Compose\n\nThe first time you run `docker compose up`, it will build the image for you, but if you make code changes in this repo and want to test them, you need to rebuild the Docker image via these steps:\n\n1. If running, stop the server by typing `ctrl-c` in the terminal where it is running\n2. Run `docker compose build`\n3. Type `docker compose up` to relaunch\n\n### Configuration \u0026 Crawling\n\nThe repository metadata shown in this portal is read from a static `repos.json` file. This project contains a [repos.json](repos.json) file with mock data for testing and developing purposes.\n\nIn a productive environment, consider adding an automated crawler script that fetches all InnerSource projects as outlined in the following picture. To build your own crawler please review the [Crawling Documentation](docs/CRAWLING.md).\n\n![Crawling InnerSource projects](docs/ecosystem.png)\n\n### Listing Projects\n\nAdding your project to this portal is as easy as adding the `inner-source` topic to your repo. To customize the information about your project that is displayed in the portal, you can optionally add a `innersource.json` file. To see all available options please check the [Listing Documentation](docs/LISTING.md).\n\n## Limitations\n\nThe portal focuses on InnerSource projects located in GitHub. Projects using other source code management systems can be displayed in the portal using similar APIs or by adding them manually to the `repos.json` file.  \n\n## Support, Feedback, Contributing\n\nThis project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/SAP/project-portal-for-innersource/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).\n\n## Thirdparty\n\nWe use the following open source frameworks to create the portal:\n\n* [Materialize](https://materializecss.com/)\n* [Material-Icons](https://www.npmjs.com/package/material-icons)\n* [Moment.js](https://momentjs.com/)\n* [Seedrandom](https://github.com/davidbau/seedrandom)\n\n## Acknowledgements\n\nThank you very much for your internal and external contributions to make this project work:\n* [Murugan Varun](https://github.com/varunzxzx)\n* [Harish B.](https://github.com/harish-b-0)\n* [Michael Graf](https://github.com/michadelic)\n\nThanks also to [InnerSourceCommons Pattern Group](https://github.com/InnerSourceCommons/InnerSourcePatterns) for the feedback and great support.\n\n## Code of Conduct\n\nWe as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times.\n\n## Licensing\n\nCopyright 2020-2025 SAP SE or an SAP affiliate company and Project Portal for InnerSource contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/SAP/project-portal-for-innersource).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fproject-portal-for-innersource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap%2Fproject-portal-for-innersource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fproject-portal-for-innersource/lists"}