Giter Club home page Giter Club logo

aggregate.stitcher.io's People

Contributors

brendt avatar dependabot[bot] avatar github-actions[bot] avatar patinthehat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aggregate.stitcher.io's Issues

Dynamic tweet threshold

Right now a post will be tweeted when it receives more than 20 views. This is a hard coded value, and should probably be something better. Our aim should be to tweet out ยฑ 10% of the most visited posts.

Meta tags

HTML Meta tags need to be properly configured.

Intro page

We need an intro page explaining what the project is about.

Improved tag syncing

Here are some observations when syncing tags.

Not every RSS feed sends the whole content. If we don't have the full blog post, it's more difficult to reliably determine tags. One could say that's the problem of the content creators themselves.

We now also take RSS categories into account, which could be a good way to solve the above issue.

Maybe we could provide a FAQ page explaining what to do when content isn't correctly tagged.

We should add more tags, and maybe look at other ways of seeding them instead of one big YAML file. Maybe a YAML file per topic?

Once more blogs are added, we should think about how we're going to show topics.

Topic per source

When registering, a user should be able to specify an optional topic. A topic contains a set of tags, and when syncing that source, only tags from that topic should be used.

License suggestion

It would be better to have a license wich provide the software with out warranty. This would also prevent legal trouble from your contributors.

e.g. use this from the MIT License:

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Topics per source

A source should be able to specify one or more topics, and only tags from these topics should be attached to that source when syncing.

Tag Twitter author in tweets

  • A source should get a new optional field "twitter_handle"
  • This field should be configurable from the user's sources page, the user should be able to add it with and without an @ symbol.
  • If this field is present when Tweeting, it should be added. Something like "{$this->title} by {$this->twitter_handle}"

Docs

We should add a docs/ folder describing the architecture of the app, in order to help people who want to contribute.

Improve testsuite

Now that we have proper mocks for the RSS reader, it's time to expand the testsuite.

Source submission for new users

When pressing the "submit your content" button, the user should first be prompted with a source URL box, and only register as the second step. The account should still be verified via mail.

Rate limiting

An RSS feed should only be allowed to add a maximum number of posts per day โ€” maybe even one?

The rest should be ignored.

Source without user

It should be possible to add a source without creating a user. These source should be added to the admin user.

Temporary disable voting

Right now, votes don't really add value. Let's disable the functionality for now, until the user base is large enough for it to be relevant.

RSS feed validation

When submitting a source, the RSS feed should be validated to ensure the content can be parsed.

Handle post view as an async job

Opening a post takes a while because we're writing data to the database before redirecting. All that meta-data stuff should be handled in an async job.

Improve throttling

If a source has more than one posts per day, only the first one is synced. We should sync all of them, but only show the latests post for that day.

Tag syncing

Lots of improvements have to be made to better match tags with content. I'd love some input on this.

Right now tags are predefined here: https://github.com/brendt/aggregate.stitcher.io/blob/master/app/tags.yaml

Every tag has a bunch of keywords. The content of a post is scanned and tags are counted here: https://github.com/brendt/aggregate.stitcher.io/blob/master/app/Domain/Post/Decorators/RssEntryDecorator.php

We'll need to either improve the tags and keywords, or find another way of tagging content.

Also, RssEntryDecorator needs some cleaning up ๐Ÿ™ˆ

Tag management in admin interface

Right now, tags are seeded with the tags.yaml file. This doesn't scale. We need an admin interface to:

  • Create, update and delete topics
  • Create update and delete tags
  • Overview and search tags
  • Filter tags by topics

Handle failed RSS sync jobs

When a sync job fails, there should be a way for admins to take a look at what went wrong and how to fix it.

Add ?ref parameter to redirects

When redirecting to a blog post, we should add ?ref=aggregate.stitcher.io as a query parameter, in able to help people track traffic to their site.

Use RSS link when present

We can improve the source validation by scanning for
<link rel="alternate" type="application/rss+xml" href="" />

Source denial flow

When a source is denied, a mail should be sent to the user informing them why their source was denied.

Add validation_failed_at

When a source is added, we'll scan for a valid RSS link. However, if no link is found, this should be marked in the admin interface.

User source statistics

A user should be able to view statistics from its source. Things like:

  • Total amount of views
  • Total amount of votes
  • Total amount of mutes
  • Top votes
  • โ€ฆ ?

Gamification?

It might be cool to look into badges for content creators? Just a crazy idea.

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.