This is the back-end go source repo for the gitconvex project.
- 📜 Git Library - The project uses git2go library for performing all the git operations
- 📈 GraphQL - gqlgen is used for generating boiler-plate GraphQL code which is the backbone of the whole project
- 📡 HTTP Router - mux is used as the HTTP router for graphql playground and sets a handler for the API entry point
The project uses git2go - A libgit2 based binding for go to handle all the git operations. So libgit2 must be setup properly to run the project.
Follow these instructions to build libgit2 from source. Follow this only if you have openssl and libssh setup in your machine. If this is not the case then follow the detailed instructions mentioned in LIBGIT_NOTES for a step-by-step guide
If you stumble upon any challenges, then use this discussion forum for assistance
Fork the repo and raise a new Pull Request to merge your changes with the main
branch of this repo. Once the review is
complete, the PR will be approved and merged
Gitconvex can function as a service without the UI. The whole API is build with graphql, and the underlying
queries/mutations can be accessed by invoking http://localhost:9001/gitconvexapi
.
GraphQL playground is enabled to experiment with the GQL queries and mutations. It can be accessed
from http://localhost:9001/gitconvexapi/graph