EPIC: Link Shortening
- Dominant language
- Dart
- Stars
- 152
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
As a person wanting to share links to `items` of content and shorten links to _external_ resources,
I want to have an automatic link shortening service
that keeps link length to a minimum and has advanced tracking features.
Related to dwyl/app#279
# Todo
+ [ ] Collect the required/desired features into this **`EPIC` `#HelpWanted`** 🙏
+ [ ] Read any examples of Open Source Link shorteners for inspiration 👀
+ [ ] Build an MVP link shortener App (Tutorial) 👩💻
+ [ ] Integrated it back into the App as we think it will be a "core" feature. 🔙
# Required Features
+ [ ] Store `url` as `Fields.UrlEncrypted` to maintain privacy
+ [ ] Shorten the link to either a `numeric` (e.g: `dwyl.co/123`) or a [`base58`](https://github.com/dwyl/base58) [`cid`](https://github.com/dwyl/cid) (e.g: `dwyl.co/gVS`)
# Desirable Features
+ [ ] Crawl the `url` and get the `page.title` and check for any images.
+ [ ] If the `url` is to a GitHub page, attempt to "interpret" it using https://github.com/nelsonic/github-scraper to extract any relevant data. e.g: an `issue` will have a `title`, `description`, `assignee`, `state` and `labels` https://github.com/nelsonic/github-scraper/issues/103
+ [ ] Allow people to _specify_ their desired short url e.g: `dwyl.co/welcome`
+ [ ] Or to pick their `Twitter/GitHub` username as the base of the link and then a numeric or alphanumeric sub
e.g: `dwyl.co/nelsonic/1` would be a directly link to my _first_ `item`. This would `301` redirect to `dwyl.com/items/1` (yes, in this case the _actual_ URL is shorter than the "short" one ... but it's just for illustration)
What `else`? 💭
Contributor guide
Assessment
This issue has not been assessed yet.