neel1996 / gitconvex-server

Gitconvex - A web UI client for managing your git repos. This is the server repo for the project crafted with GoLang

Home Page:https://gitconvex.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go gql docker

gitconvex GoLang project

This is the back-end go source repo for the gitconvex project.

Dependencies

  • 📜 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

Libgit2 usage

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

Contribution Guidelines

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 as a Git API

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

gql-playground

About

Gitconvex - A web UI client for managing your git repos. This is the server repo for the project crafted with GoLang

https://gitconvex.com/

License:Apache License 2.0


Languages

Language:Go 96.8%Language:Shell 1.6%Language:Makefile 0.8%Language:Batchfile 0.6%Language:Dockerfile 0.3%