Skip to content

uwla/starred_repos_organizer

Repository files navigation

STARRED REPOS ORGANIZER

Organizer your starred repositories from various sources.

Table Of Contents:

Demo

A live demo is available at https://uwla.github.io/starred_repos_organizer.

Starred Repos Organizer Screenshot 1 Starred Repos Organizer Screenshot 2 Starred Repos Organizer Screenshot 3 Starred Repos Organizer Screenshot 4

Features

  • Star repositories from GitHub, GitLab, Codeberg, self-hosted Gitlab instance, self-hosted Gitea instance (more coming soon)
  • No account needed, save starred repositories locally
  • Import starred repositories from any public user profile on Github or Gitlab
  • Import repositories from JSON file
  • Export repositories to JSON file
  • Export filtered results only to JSON file
  • Modify repository topics by adding new ones or deleting existing
  • Filter topics by allowed-list and prevent duplicated topics with aliases
  • More privacy by not exposing your interests to the internet
  • Works offline (except when adding repositories, because it fetches remote data)
  • Can be downloaded as single HTML file to run locally
  • Sort by name, stars, forks, date added or random
  • Text search and topic filter
  • Display items in list
  • Display items in grid
  • Pagination view
  • Group-by-topics view
  • Dark & Light themes
  • Persistent user preferences

Usage

There are few options. The easiest one is to go to the static demo app which is hosted via 'github' pages and saves data in your web browser's local storage.

Local Storage

The data is saved in the web browser's local storage. Available options are:

  • Go to the demo page to use the app.
  • Download app.html from the latest release.
  • Download app.html from the demo page.
  • Build app.html locally.

Server

The data is saved in a remote server. Available options are:

  • Run the server via npm script: npm run dev:rest
  • Run the server via docker (TODO)

The server can run remotely or locally.

Development

  1. Clone the repo and cd into it:

    git clone https://github.com/uwla/starred_repos_organizer && cd starred_repos_organizer
    cd starred_repos_organizer
  2. Install dependencies:

    npm install
  3. Copy the local sample file user-data-sample.json to user-data.json:

    cp user-data-sample.json user-data.json

    This is where the data will be stored.

  4. Run the scripts:

    To start development server using localStorage for storage:

    npm run dev

    To start development server using an REST server for storage:

    npm run dev:rest

    To build the demo app:

    npm run build

Roadmap

  • Search filter
  • Topics filter
  • Sort repos by name or stars
  • Import all starred repos from public profiles
  • Manual selection when importing repos in batch
  • Display forks, code language, and other details
  • Import data from file
  • Export data to file
  • Export only filtered entries
  • Option to delete all repos
  • Option to delete filtered repos
  • Show notifications on success
  • Manage topics globally
  • Display items in list
  • Display items in grid
  • Group items by topic
  • Filter topics by allowed-list
  • Prevent duplicated topics using aliases
  • [-] Refresh all repositories at once
  • Support for GitHub
  • Support for GitLab
  • Support for CodeBerg
  • Support for self-hosted GitLab instance
  • Support for self-hosted Gitea instance
  • Support for self-hosted Gogs instance
  • Option to specify provider type
  • Option to set auth tokens
  • [-] Self-host with Docker
  • Rest API documentation

Credits

Thanks Keziah Moselle for the inspiration from his project export-github-stars, which export GitHub starred repositories to a JSON file.

License

MIT.

Packages

No packages published

Languages