apidash icon indicating copy to clipboard operation
apidash copied to clipboard

Add GIT integration

Open andonovski opened this issue 1 year ago • 8 comments

Tell us about the task you want to perform and are unable to do so because the feature is not available

Add GIT integration

Describe the solution/feature you'd like us to add

Implement GIT integration to be able to push/pull collections. This way we have centrally managed collections with full version history, it would be great feature for teams.

Any other feedback you would like to provide regarding the site

Your response here

andonovski avatar Nov 23 '24 12:11 andonovski

Thanks for raising the issue. It will be very useful and has been added to the roadmap.

ashitaprasad avatar Nov 23 '24 21:11 ashitaprasad

Could you please describe it more so that i can start working on this

pratiksrivastava01 avatar Dec 02 '24 04:12 pratiksrivastava01

@pratiksrivastava01 Thanks for your interest for working on this issue. To begin with, I would like you to:

  1. Analyze the current data management in API Dash.
  2. Based on your analysis you can come up with a proposal on how you think Git integration can be seamlessly added to API Dash.

ashitaprasad avatar Dec 02 '24 21:12 ashitaprasad

@ashitaprasad

To Integrate Git into API Dash to enable version control and collaboration:

  1. Push/Export: Serialize Hive data (collections/environments) into JSON, commit, and push to Git.
  2. Pull/Import: Fetch JSON from Git, update Hive storage.
  3. Version History: Use git log for tracking changes.
  4. UI Enhancements: Add Git settings, sync buttons, and a version history viewer.

dhruvx19 avatar Dec 18 '24 19:12 dhruvx19

@dhruvx19 This looks like a good approach but to push or pull we will have their won set of configurations. Lets divide it into multiple steps -

  1. First step will be to make Groups i.e grouping of request to Make it more manageable.
  2. Nest step lets make import/export option first. (#489)
  3. Lets make GitHub configuration settings ( Token, Repository extra) as the next step.
  4. Next & final step will be to make push and pull requests.

@ashitaprasad - Does this look like a good roadmap?

ADIIS007 avatar Dec 30 '24 21:12 ADIIS007

check my pull request

iamprathosh avatar Jan 11 '25 14:01 iamprathosh

@ashitaprasad This would require authentication, and setting up a backend would introduce complexity, which contradicts the project's goal of being lightweight. Additionally, relying on third-party backends like Firebase may not always be reliable in the long run. So, while this could be a viable option, it may not be the most suitable one.

I think there might be a misunderstanding—My idea was to enable users to access their data on any of their devices .

Also, the goal isn’t clearly mentioned here. Could you clarify what the intended outcome is so that i can think about this clearly?

badnikhil avatar Mar 15 '25 01:03 badnikhil

@ashitaprasad This would require authentication, and setting up a backend would introduce complexity, which contradicts the project's goal of being lightweight. Additionally, relying on third-party backends like Firebase may not always be reliable in the long run. So, while this could be a viable option, it may not be the most suitable one.

I think there might be a misunderstanding—My idea was to enable users to access their data on any of their devices .

Also, the goal isn’t clearly mentioned here. Could you clarify what the intended outcome is so that i can think about this clearly?

When we say git sync it means writing the data inside the workspace in such a way that the request changes can easily be tracked and synced via GitHub.

animator avatar Mar 17 '25 02:03 animator