Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GIT integration #502

Open
andonovski opened this issue Nov 23, 2024 · 6 comments · May be fixed by #528
Open

Add GIT integration #502

andonovski opened this issue Nov 23, 2024 · 6 comments · May be fixed by #528
Labels
enhancement New feature or request priority: high

Comments

@andonovski
Copy link

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 andonovski added the enhancement New feature or request label Nov 23, 2024
@ashitaprasad
Copy link
Member

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

@pratiksrivastava01
Copy link

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

@ashitaprasad
Copy link
Member

@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.

@dhruvx19
Copy link

@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.

@ADIIS007
Copy link

ADIIS007 commented Dec 30, 2024

@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. (Sharing Collection in JSON file formate #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?

iamprathosh added a commit to iamprathosh/apidash that referenced this issue Jan 11, 2025
Fixes foss42#502

Implement GIT integration to push/pull collections with version history.

* **Add GIT Services**: Create `lib/services/git_services.dart` to handle push/export and pull/import functionalities.
* **Settings Page**: Modify `lib/screens/settings_page.dart` to include GIT configuration settings (Token, Repository) and add a dialog for GIT settings.
* **Collection Pane**: Update `lib/screens/home_page/collection_pane.dart` to add sync buttons for GIT push and pull actions.
* **Collection Providers**: Modify `lib/providers/collection_providers.dart` to add methods for handling GIT push and pull actions.
* **Constants**: Update `lib/consts.dart` to add constants for GIT settings.
* **Settings Model**: Modify `lib/models/settings_model.dart` to include fields for GIT settings.
* **Hive Services**: Update `lib/services/hive_services.dart` to add methods for handling GIT data storage and retrieval.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/foss42/apidash/issues/502?shareId=XXXX-XXXX-XXXX-XXXX).
@iamprathosh iamprathosh linked a pull request Jan 11, 2025 that will close this issue
@iamprathosh
Copy link

check my pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority: high
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants