Help! I’m looking for help with my peer-to-peer git portal project which combines a Golang/wasm ‘no-backend’ with a Svelte front-end.
I have a working proof-of-concept and want to improve this while developing the vision and design for a peer-to-peer replacement for github that will run in the browser from p2p or static storage (so no server side code or third parties, and no servers to manage).
Specifically I’d like help with the Svelte UI/UX and with back-end style tasks in Golang (both are easy to learn and fun to use). This is also a rare opportunity to learn (with my help) while building something useful that you believe in. I’ve not broken these down but there’s a summary on github in Activity & Opportunities to Help (here: https://github.com/happybeing/p2p-git-portal-poc#activity--opportunities-to-help).
- New Repository - enter a directory name and click ‘New Repository’. Each new repo will appear in a list, and some sample issues will be automatically added (courtesy of git-bug and go-git). Obviously it needs a UI for adding and editing issues
- Clone Repository will attempt to clone the example provided, or any URL you enter, but there are limitations. Firstly it takes a while first time, both to load the app and do the clone and there’s no progress indication yet, so be patient. But also note that to clone from github you need to use a proxy to avoid CORS errors (see here). You can clone from gitlab by disabling CORS in the browser using a browser plugin, but you also need to add ‘.git’ to the end of the URL.
- Select Repository by clicking on the directory names once you have cloned or created some repositories. This will cause the last few commits to be listed along with any issues present. Note that cloned repos do not show issues yet (only new repos) and the new repos are empty, so don’t show any issues.
Note: Upload Repository is not yet integrated, so please ignore!
You can try it live at http://gitch.happybeing.com (that’s a static Golang/wasm app with no server side code).
This all works by creating git repositories on a filesystem running in the browser and operating on these with go-git and an enhanced version of git-bug (which provides support for issues within a git repository).
More Details in the github repository here: https://github.com/happybeing/p2p-git-portal-poc
So the proof-of-concept works but needs significant work before it will convince ordinary mortals this can be useful, which is why I’m calling for help - there’s lots to do!
Here’s the app today, much in need of UI/UX love!
BTW. I’m aware of radicle and other projects with similar goals. All are good, but each has a different approaches to solving the problem. This is good - to have several groups working to give developers independent community platform for collaboration and shared development.