https://github.com/pixelbrackets/open-source-profile
Self-Hosted profile page for your Open Source packages & contributions
https://github.com/pixelbrackets/open-source-profile
bitbucket github gitlab opensource php profile share
Last synced: 8 days ago
JSON representation
Self-Hosted profile page for your Open Source packages & contributions
- Host: GitHub
- URL: https://github.com/pixelbrackets/open-source-profile
- Owner: pixelbrackets
- Created: 2020-11-11T18:15:40.000Z (over 5 years ago)
- Default Branch: development
- Last Pushed: 2020-11-11T18:28:54.000Z (over 5 years ago)
- Last Synced: 2025-03-06T18:29:39.092Z (about 1 year ago)
- Topics: bitbucket, github, gitlab, opensource, php, profile, share
- Language: PHP
- Homepage: https://gitlab.com/pixelbrackets/open-source-profile
- Size: 29.3 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Open Source Profile
[](https://packagist.org/packages/pixelbrackets/open-source-profile/)
[](https://gitlab.com/pixelbrackets/open-source-profile/pipelines)
[](https://gitlab.com/pixelbrackets/open-source-profile#requirements)
[](https://spdx.org/licenses/GPL-2.0-or-later.html)
[](https://gitlab.com/pixelbrackets/open-source-profile/-/blob/master/CONTRIBUTING.md)
Self-Hosted profile page for your Open Source packages & contributions.

_⭐ You like this package? Please star it or send a tweet. ⭐_
## Vision
The general idea of this project is to have _one_ place with _all_ Open Source
packages and contributions of a person.
There are several platforms to host Open Source projects like GitHub, Gitlab,
Bitbucket, Sourceforge & Launchpad, and they all have fancy user profile pages.
They are isolated however. On BitBucket I can't showcase the one project I
maintain on GitLab only. The GitHub activity stream won't show contributions to
Launchpad. Let alone projects with self-hosted Git servers.
This creates a vendor lock-in. Which becomes obious when you search for
Open Source Software catalogues, contributions, or statistics. Most support
GitHub only.
Goals:
- List of all projects and packages of a person
- List of contributions of a person (issues, merge requests, commits)
- List of packages a person likes (starred projects)
- List of all sponsorings (Open Collective, GitHub Sponsors, Patreon)
- List contributors and sponsors for packages of a person
- Highlight packages - Show most important projects at a glance
- Hide packages - Don't show packages generated automatically by subsplits,
forks or mirrors
- Support for multiple Git hosting services (not just GitHub)
- Link mirrors - Git supports multiple remotes,
no need to limit to one repository host only
- Reduced UI (no platform specific buttons)
The package follows the KISS principle.
## 🚧 WIP
The package is only prototype right now, to go through the idea.
Next steps:
- Add a framework like Slim or Symfony and a template engine
- Add more metadata to projects and user
- Add a tool to initiate the project list
- Fetch contributions
- Fetch metadata (only overwrite fields like description)
- Make the output static (to deploy to Static Hosts)
## Requirements
- PHP
## Installation
Packagist Entry https://packagist.org/packages/pixelbrackets/open-source-profile/
- Point your webserver to the `web` directory
- Copy `data/projects.template.json` to `data/projects.json` and add links to
all your repositories
- Copy `data/user.template.json` to `data/user.json` and add your username
## Source
https://gitlab.com/pixelbrackets/open-source-profile/
Mirror https://github.com/pixelbrackets/open-source-profile/ (Issues & Pull
Requests mirrored to GitLab)
## Demo
🚀 https://opensource.pixelbrackets.de/
## Usage
The `data` directory holds all necessary information to generate the view.
Projects:
- `repository-url` - Required, string
- `description` - Optional, string
- `development-state` - Optional, string (defaults to `active`)
- `active` - Ongoing development
- `maintenance` - [Maintenance mode](https://pixelbrackets.de/notes/oss-in-maintenance-mode/) - no active development but PRs are welcome
- `archived` - EOL - Project is discontinued
User:
- `username` - Required, string
- `name` - Optional, string
- `email` - Optional, string
- `bio` - Optional, string - Bio/profession/job title (e.g., "Web Developer & Open Source Enthusiast")
- `status` - Optional, string - A short status message (e.g., "Building in public", "Available for hire")
- `links` - Optional, array of objects - External links to display on profile
- `label` - Required, string - Display text for the link
- `url` - Required, string - URL to link to
## License
GNU General Public License version 2 or later
The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html.
## Author
Dan Untenzu ( / [@pixelbrackets](https://pixelbrackets.de))
## Changelog
See [CHANGELOG.md](./CHANGELOG.md)
## Contribution
This script is Open Source, so please use, share, patch, extend or fork it.
[Contributions](./CONTRIBUTING.md) are welcome!
## Feedback
Please send some [feedback](https://pixelbrackets.de/) and share how this
package has proven useful to you or how you may help to improve it.