Skip to content
This repository was archived by the owner on May 1, 2022. It is now read-only.
This repository was archived by the owner on May 1, 2022. It is now read-only.

[NEW] Core features #1

@Maxelweb

Description

@Maxelweb

Mandatory

Data

  • OAuth Github integration --> use the Github API to retrieve repo data
  • OAuth Gitlab integration --> use the Gitlab API to retrieve repo data
  • SQL-Lite or external Postgres integration --> used to store user data
  • Database organization should track: oauth user authorization, user preferences, group repos created by user.

Dashboards and features

  • Group of multiple repositories that identify a single product or groups of products
  • Small scale // Dashboard per user, where you may see the current branches that user is working on
  • Medium scale // Dashboard per repositories, where you may see the current people working in branches and their latest pushes
  • Large scale // Dashboard per group, where you may see multiple repositories dashboard

Permissions

  • The dashboards must be accessible within the correct credentials based on the OAuth integration --> if a user has access to a repo, then he can view it the dashboard (when it's revoked, if the repo is private, it will be no longer visible, obviously)
  • Group repos are within the same Git service (Github or Gitlab) --> Good idea to mix them? Maybe not...
  • A user can be signed up only with both Github and Gitlab (?) --> For Gitlab, we should ensure support for self-hosted websites. Also, while a user signed in with Github it should also be able to connect the Gitlab account and viceversa.
  • Public repos should allow public group repos to be available to everyone.
  • Private repos should not publicly available
  • Mixed public and private repos should not publicly available.

Desired

  • Multiple self-hosted websites in one Gitlab account (?)
  • Group repos can be shared (or copied) to people having the same repos
  • Single user pushes in different repositories in chronological order (limit ~5, loader with other pushes)
  • Possibility to do a snapshot of the current tracking based on the latest push of the default branch for each repository, thus versioning the product as a single entity

Optional / under consideration

  • NeDB or external MongoDB integration --> used for Data --> probably not needed
  • Webhook Github API integration
  • Webhook Gitlab API integration
  • Branch tracking based on pushes

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions