brendt / aggregate.stitcher.io Goto Github PK
View Code? Open in Web Editor NEWA community-driven content aggregator
Home Page: https://aggregate.stitcher.io
A community-driven content aggregator
Home Page: https://aggregate.stitcher.io
Top posts are posts with the most upvotes the past week.
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.
If an RSS is not valid, we could scan the website to check whether there are any valid feeds to be found.
HTML Meta tags need to be properly configured.
We need an intro page explaining what the project is about.
To report sources that spam or share inappropriate content.
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.
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.
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.
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.
@
symbol.We should add a docs/
folder describing the architecture of the app, in order to help people who want to contribute.
Now that we have proper mocks for the RSS reader, it's time to expand the testsuite.
Currently you cannot change your password
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.
An RSS feed should only be allowed to add a maximum number of posts per day โ maybe even one?
The rest should be ignored.
It should be possible to add a source without creating a user. These source should be added to the admin user.
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.
When submitting a source, the RSS feed should be validated to ensure the content can be parsed.
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.
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.
Admins should also be able to view source statistics.
A user should be able to configure that they only want to see unread posts by default on the front page.
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 ๐
Right now, tags are seeded with the tags.yaml file. This doesn't scale. We need an admin interface to:
The "unread" filter should be re-added
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.
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.
We can improve the source validation by scanning for
<link rel="alternate" type="application/rss+xml" href="" />
Still needs lots of frontend love
Let's cache the donation block position for an hour or so.
When the inactive filter is enabled, you can't seem to activate sources in the admin view.
Currently the reset password flow doesn't work yet.
When a source is denied, a mail should be sent to the user informing them why their source was denied.
Admins should also be able to remove sources.
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.
A user should be able to view statistics from its source. Things like:
Instead of via an automatic trigger when views are added
It might be cool to look into badges for content creators? Just a crazy idea.
There's no real advantage to using it, and it complicates things a lot.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.