Code Monkey home page Code Monkey logo

github-uncurated-topics's Introduction

#GitHubUnwrapped
This is my #GitHubUnwrapped

githubWorth

When exploring the world of CMS or so called "Homepagebaukasten" (an awful German word coining) as a teenager on my way to create my first website, I realized that they all did not really fit the bill for me. So I decided to learn how to code and build my own site, without further ado.

So then, because coding is fun, I went on and after school I started to become a real programmer. Today I participate in some awesome projects.

Profile View Counter

๐Ÿง‘โ€๐Ÿ’ป About me

I am

  • ๐Ÿ’ป a full-stack web developer
  • ๐ŸŒ from Germany
IDE: Visual Studio Code
Browser: Brave Tor Browser
Apps from: F-Droid
OS: Debian Manjaro

๐Ÿ› ๏ธ Tech stack

๐Ÿ–Œ๏ธ Frontend

JavaScript HTML5 CSS3 Bootstrap TypeScript CoffeeScript CoffeeScript Cytoscape.js FontAwesome Vue.js

๐Ÿ“‡ Database

MongoDB PostgreSQL MySQL SQLite neo4j

Backend

Lua Ruby Laravel nginx Apache Composer PHP

Miscellaneous

Docker Git GitHub GitLab CodePen Genius JSON sentry Stack Overflow Telegram Insomnia

๐Ÿ“ˆ Stats

Profile Details Card GitHub Streak shaedrich's github stats Top Langs Trophy

ย 

github-uncurated-topics's People

Watchers

 avatar

github-uncurated-topics's Issues

Queue

  • web worker
  • API throttling
  • Log
  • Messaging
  • Promise.all()/Promise.allSettled()
  • queueMicrotask
  • Toasts
  • Progress
    • Per page
    • Per collection item
    • Per queue entry

Sorting/Filtering

Current behavior

Currently, topics are sorted by the total amount of repositories that have said topic. That might indicate "valuable topics", but not necessarily those, the user is knowledgable ofโ€”something, this tool actually aims for but potentially fails to deliver at this point.

Intended behavior

  • Combine multiple sorting options
  • Offer user to control which sorting options are included

Sorting options

Sort by

Sort direction

  • ASC
  • DESC

Filter

  • good choice
  • okay-ish choice
  • poor choice
  • without PR only

  • * Put this into the legend

Tests

Unit tests

  • str
  • api
  • dom
  • github
  • ui
  • reactivity
  • queue

Stats

User stats

  • value score
    • number of topics added
    • number of topics contributed (added + edited)
    • number of repositories with curated topics added (with and without aliases)
  • topic stats
    • score per topic (x/12 properties (including body + image (property and file count as one)) added or edited)

Views

  • List view
  • Table view (legend above, collapsed โ†’ needs #7)

Improve "hidden topics" feature

  • LocalStorage entry per page for hidden topics (Currently, there's only one entry for all pages)
  • Update counter in heading
  • Refresh tooltip (should be closed after reinitializing)
  • Filter counter for only the hidden topics from the current page's result set
  • Add "x of y" to filter dropdown (#2)

Share button

Current behavior

If you want to share a user's uncurated topics, you have to copy the URL. This can have multiple disadvantages:

  • Not everyone might know about this
  • The URL doesn't know if it is in global state (without username query param) or in search state (with username query param)
  • We might add URL query params in the future, we might not want to share alongside the username

Intended behavior

With a button that can be disabled as long as no username is entered, we can circumnavigate this.

Share options

  • copy link
  • Share on twitter
  • share on facebook
  • share on mastodon
  • share on telegram

Bildschirmfoto am 2023-09-06 um 12 53 53

JSDoc + Types

  • methods with parameters or return type other than any
  • typedef
  • ambiguous variables

Pages

Current behavior

  • Uncurated topics by contributes repositories

Intended behavior

Based on user

  • Uncurated topics by contributed topics (related topics)
  • Uncurated topics by starred repositories
  • Uncurated topics by starred topics
  • Uncurated topics by subscribed
  • Uncurated topics by user's organisation's repositories

Global

  • Uncurated topics by most wanted topics (most total repositories)

Improve topics

Aliases (#12)

  • British vs American
  • Acronyms (only by dash-separated topics with min. three-letter acronyms)
  • Sanitized (with and without dashes)
  • Numeronym (if exists)
  • Common suffixes (js, db, etc.)
  • Abbreviation (development โ†’ dev)

URLs

  • GitHub URL ()
    • repo
    • org
    • user
  • Wikipedia URL

Misc.

https://query.wikidata.org/sparql?query=SELECT * WHERE { SERVICE wikibase%3Amwapi { bd%3AserviceParam wikibase%3Aendpoint "[www.wikidata.org](chrome://devtools/content/webconsole/www.wikidata.org)"%3B wikibase%3Aapi "EntitySearch"%3B mwapi%3Asearch "MongoDB"%3B mwapi%3Alanguage "en". %3Fitem wikibase%3AapiOutputItem mwapi%3Aitem. %3Fnum wikibase%3AapiOrdinal true. } %23%3Fitem (wdt%3AP279|wdt%3AP31) %3Ftype } ORDER BY ASC(%3Fnum) LIMIT 20

  • Remove aliases from related in favor of official topic name since list of related is limited

Cytoscape topic relationship virtualization

  • Show which topics are related to each other
  • Show if the relation is mutual or unidirectional
  • Show how many outgoing connections a topic has
  • Show how many incoming connections a topic has
  • Don't show orphaned topics (less noise)

PR indicator

Current behavior

Currently, if there is already a PR for a new topic, we don't know and would create another one so that the two would compete, which is undesired.

Intended behavior

Show if topic already has open PRs next to the topic in the list.

Editor

Current behavior

Currently, you create all information of a topic by creating a new markdown file with YAML frontmatter. Validation and autocompletion can only be done via GitHub actions and their results need to understood in case of errors.

Intended behavior

With a view like the actual topic page, including a form with separate input for each information, validation and autocompletion can be done in place for a more rich editing experience.

Tasks

Notify when done

Current behavior

Currently, due to GitHubs API rate limits, the process can drag on quite a while, so its only natural, people go to other browser tabs while waiting instead of staring at the screen for a couple of minutesโ€”and might forget about the tab.

Intended behavior

When done, there could be multiple indicators of that status change:

  • Change of the <title />
  • Notification
  • Email ("I don't want to wait. Just shoot me an email")

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.