kyleady / uss_rss_reader Goto Github PK
View Code? Open in Web Editor NEWAn RSS reader.
License: MIT License
An RSS reader.
License: MIT License
We should have a main index page for tracking feeds. For right now, we should just make it a simple unordered list of news stories on a single page with a mechanism for adding a new feed. You click on an entry for a feed and it opens up that article in a new browser page. A list of href
's can do that just fine and Bootstrap can make it pretty.
I think that, for our first release, we should work on getting Slashdot's feeds working. We can put in fake data if we want to work around potentially blocking tickets.
When a user hits the index route:
Tada.
We're having an issue getting Rails 5 running on Windows 7 and 10 due to having trouble with getting the extensions for various database drivers compiled.
I think I may have found the solution for PostgreSQL.
First, we need to use a beta version of the pg
gem. So... gem 'pg', '>= 0.19.0.beta'
Then we need to add C:\Program Files\PostgreSQL\9.6\bin
to our PATH. This exposes the libpq.dll
file to our build tools.
Then! gem install pg -v '0.19.0.pre20160409114042'
from the command line should work.
Now I'm having trouble authenticating to postgres locally but I think that's because Windows is starting up a previously installed version and I have to investigate that.
When I'm done fixing what needs to be fixed then I'll submit a pull request against database.yml
.
Ruby has built in support for parsing RSS feeds. This is pretty great.
I think we should have a /blah/register_feed
POST-based API endpoint that accepts feed data and stores a feed internally. This is dependent on ISSUE-#5.
So the idea is that, from the front end, you can press an 'ADD FEED' button and a modal pops open to accept a URL (technically a URI). When that input is accepted, an AJAX call is made against our feed register endpoint saying 'here is a feed plz store it.'
A bit of a side note about the two terms API and POST. In this context, API is referring to a web API - a collection of routes that correspond to 'resources' that can be created, read, updated, and deleted by sending JSON structured commands or representations of resources to those routes.
So, as an example, /houses/new
can accept accept { 'house_type': 'bungalow' }
as an argument and the web api will create a new house
resource. When that resource is created an ID is assigned to it. So you can reference it by its ID. If you want to delete that bungalow entry then you can do something like /houses/delete/:id_here
.
For the POST term, POST is an http verb. There are roughly five HTTP verbs and each describes the type of action that you're using HTTP for.
Hey @kyleady, can you see if you can get an index page up and running that displays the text 'hello world?'
The current README is just what Rails spat out when we generated the project. We should draft a description of the project so that people know what it's aboot`.
Rails, by default, uses minitest. Rspec, however, is a better supported testing framework by way of the community.
Here is an additional resource I want to bookmark here: https://github.com/eliotsykes/rspec-rails-examples
Summary of problem:
RSS, or rich site summary, is a method for subscribing to a website and receiving its content. This epic is around creating the first set of features for uss_rss_reader - a reader that collects subscriptions and displays the feed of articles to a user.
The first set of goals are to accomplish collecting and displaying a simple list of articles from Slashdot. This involves constructing a model for feeds, an endpoint for registering a new feed, and everything needed on the front end for inputting a new feed and spitting out new content.
A few restrictions/assumptions/avoidances:
Blocking ISSUE-#7.
A model is, well, a way for modeling data and translates into how data is structured in our database. A good start to look at what makes at RSS feed entry is to look at Wikipedia's comparison of RSS vs ATOM. So a feed should have an author, license, etc.
Here is the documentation on models: http://guides.rubyonrails.org/active_record_basics.html
Bootstrap 4 is a collection of CSS classes and JavaScript libraries for creating a slick UI. Version four is an alpha
quality product so it isn't exactly stable but because this is a small side project I'm going to say 'eh, screw it.' If we have too much trouble with bugs then going to v3 shouldn't be too big of a deal.
We need to setup Bootstrap so that our ERB templates can use those CSS classes and JavaScript. There are multiple ways to set this up but https://rails-assets.org/#/ looks pretty promising.
https://github.com/brandonhilkert/sucker_punch
This is outside the scope of our first release but it would be nice if a user's feed automatically refreshed. Sucker Punch is a job running framework that is lightweight and runs in memory so we don't have to pull in another piece of infrastructure.
Something like every thirty seconds the articles of a feed get fetched.
Grab SMBC's RSS feed and parse using raw Ruby.
Put test script in scratch
directory. Titled rss_feed_smbc_scratch.rb
.
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.