Giter VIP home page Giter VIP logo

aggregate.stitcher.io's Introduction

Build Status Total Downloads Latest Stable Version License

About Laravel

Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:

Laravel is accessible, powerful, and provides tools required for large, robust applications.

Learning Laravel

Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.

If you don't feel like reading, Laracasts can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.

Laravel Sponsors

We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel Patreon page.

Premium Partners

Contributing

Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [email protected]. All security vulnerabilities will be promptly addressed.

License

The Laravel framework is open-sourced software licensed under the MIT license.

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

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.

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.

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.

Intro page

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

Source denial flow

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

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

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.

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.

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
  • โ€ฆ ?

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.

Meta tags

HTML Meta tags need to be properly configured.

Docs

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

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.

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}"

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.

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.

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.

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.

Source without user

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

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 ๐Ÿ™ˆ

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.

Use RSS link when present

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

RSS feed validation

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

Gamification?

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

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.

Improve testsuite

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

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.