[ ] 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
Mandatory
Data
Dashboards and features
Permissions
Desired
Optional / under consideration