All Projects → davidesantangelo → Dato.rss

davidesantangelo / Dato.rss

Licence: mit
The best RSS Search experience you can find

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Dato.rss

Api.rss
RSS as RESTful. This service allows you to transform RSS feed into an awesome API.
Stars: ✭ 340 (+178.69%)
Mutual labels:  rest-api, rss, rss-feed, rails
Datoji
A tiny JSON storage service. Create, Read, Update, Delete and Search JSON data.
Stars: ✭ 222 (+81.97%)
Mutual labels:  rest-api, postgresql, rails
Feedhq
FeedHQ is a web-based feed reader
Stars: ✭ 525 (+330.33%)
Mutual labels:  rss, rss-feed, postgresql
Bank
🏦 Full Stack Web Application similar to financial software that is used in banking institutions | React.js and Node.js
Stars: ✭ 1,158 (+849.18%)
Mutual labels:  rest-api, postgresql
Githubtrendingrss
Unofficial RSS feed generator for GitHub Trending
Stars: ✭ 54 (-55.74%)
Mutual labels:  rss, rss-feed
Vkrss
Generates RSS feed of opened/closed vk.com wall or global searched opened posts. Features: post filtering (include/exclude by regexp and/or by owner type), ads skipping, automatic title generation, hash-tags extraction as RSS categories, initial author extraction, HTML formatting
Stars: ✭ 59 (-51.64%)
Mutual labels:  rss, rss-feed
Niklick
Rails Versioned API solution template for hipsters! (Ruby, Ruby on Rails, REST API, GraphQL, Docker, RSpec, Devise, Postgress DB)
Stars: ✭ 39 (-68.03%)
Mutual labels:  postgresql, rails
Rss To Json
RSS and Atom feed generator for Node.js
Stars: ✭ 88 (-27.87%)
Mutual labels:  rss, rss-feed
Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (+936.07%)
Mutual labels:  postgresql, rails
Splits Io
a speedrunning data store, analysis engine, and racing platform
Stars: ✭ 99 (-18.85%)
Mutual labels:  postgresql, rails
Real World Grading App
An example of a real-world REST API backend built with TypeScript, Hapi, Prisma, and PostgreSQL.
Stars: ✭ 105 (-13.93%)
Mutual labels:  rest-api, postgresql
Kotlin Ktor Exposed Postgresql Rest Api
Kotlin, Ktor, Exposed, HikariCP and Postgresql based REST Api
Stars: ✭ 51 (-58.2%)
Mutual labels:  rest-api, postgresql
Logidze
Database changes log for Rails
Stars: ✭ 1,060 (+768.85%)
Mutual labels:  postgresql, rails
Discord feedbot
Moved to https://gitlab.com/ffreiheit/discord_feedbot
Stars: ✭ 67 (-45.08%)
Mutual labels:  rss, rss-feed
Ar Uuid
Override migration methods to support UUID columns without having to be explicit about it.
Stars: ✭ 41 (-66.39%)
Mutual labels:  postgresql, rails
Covid Volunteers
Organizing and matching volunteers with COVID-19 projects
Stars: ✭ 87 (-28.69%)
Mutual labels:  rails, tailwindcss
Myrss
a copy of my RSS feeds in a handy .opml file
Stars: ✭ 103 (-15.57%)
Mutual labels:  rss, rss-feed
Xgenecloud
XgeneCloud is now https://github.com/nocodb/nocodb
Stars: ✭ 1,629 (+1235.25%)
Mutual labels:  rest-api, postgresql
Feedbag
Ruby's favorite feed auto-discovery library/tool
Stars: ✭ 115 (-5.74%)
Mutual labels:  rss, rss-feed
Blog Post Workflow
Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed
Stars: ✭ 910 (+645.9%)
Mutual labels:  rss, rss-feed

DATO.RSS

A seamless RSS Search Engine experience with a hint of Machine Learning.

BETA

Dato.RSS is in beta, and will likely see many changes in the near future.

If you have comments or suggestions, please send them to us using the Issues TAB.

Thanks for trying the beta!

Alt Text

Search Engine: Quickly search through the millions of available RSS feeds.

RESTful API: Turns feed data into an awesome API. The API simplifies how you handle RSS, Atom, or JSON feeds. You can add and keep track of your favourite feed data with a simple, fast and clean REST API. All entries are enriched by Machine Learning and Semantic engines.

Live

https://datorss.com

Example

curl 'https://datorss.com/api/searches?q=news' | json_pp

{
  "data": [
    {
      "id": "86b0f829-e300-4eef-82e1-82f34d03aff6",
      "type": "entry",
      "attributes": {
        "title": "\"Pandemic, Infodemic\": 2 Cartoon Characters Battling Fake News In Assam",
        "url": "https://www.ndtv.com/india-news/coronavirus-pandemic-infodemic-2-cartoon-characters-battling-fake-news-in-assam-2222333",
        "published_at": 1588448805,
        "body": "An English daily in Assam's Guwahati has been publishing a cartoon strip to tackle the fake news related to the coronavirus pandemic. The two central characters- \"Pandemic and Infodemic\"- are being...<img src=\"http://feeds.feedburner.com/~r/NDTV-LatestNews/~4/lEmH201Q8jI\" height=\"1\" width=\"1\" alt=\"\"/>",
        "text": "An English daily in Assam's Guwahati has been publishing a cartoon strip to tackle the fake news related to the coronavirus pandemic. The two central characters- \"Pandemic and Infodemic\"- are being...",
        "categories": [
          "all india"
        ],
        "sentiment": null,
        "parent": {
          "id": "c97bdae6-b5d1-4966-b9f3-615e29d4d47d",
          "title": "NDTV News  -  Special",
          "url": "feed:http://feeds.feedburner.com/NDTV-LatestNews",
          "rank": 99
        },
        "tags": []
      },
      "relationships": {
        "feed": {
          "data": {
            "id": "c97bdae6-b5d1-4966-b9f3-615e29d4d47d",
            "type": "feed"
          }
        }
      }
    },
  ]
}

Search

Search is just implemented with Full Text Search Postgres feature.

I used the pg_search Gem, which can be used in two ways:

Multi Search: Search across multiple models and return a single array of results. Imagine having three models: Product, Brand, and Review. Using Multi Search we could search across all of them at the same time, seeing a single set of search results. This would be perfect for adding federated search functionality to your app.

Search Scope: Search within a single model, but with greater flexibility.

    execute <<-SQL
      ALTER TABLE entries
      ADD COLUMN searchable tsvector GENERATED ALWAYS AS (
        setweight(to_tsvector('simple', coalesce(title, '')), 'A') ||
        setweight(to_tsvector('simple', coalesce(body,'')), 'B') ||
        setweight(to_tsvector('simple', coalesce(url,'')), 'C')
      ) STORED;
    SQL

Feed Rank

Feed Ranking is provided by openrank a free root domain authority metric based on the common search pagerank dataset. The value is normilized by

((Math.log10(domain_rank) / Math.log10(100)) * 100).round

Machine Learning

Machine Learning is provided by dandelion API Semantic Text Analytics as a service, from text to actionable data. Extract meaning from unstructured text and put it in context with a simple API.

Add Feed

At the moment is not possible to add source Feed if you have feed proposals open an issue with the URLs to add

https://github.com/davidesantangelo/dato.rss/issues

Wiki

All API documentation is in the Wiki section. Feel free to make it better, of course.

https://github.com/davidesantangelo/dato.rss/wiki

To use some features such as adding a new feed you need a token with write permission. Currently only I can enable it. In case contact me

Built With

  • Ruby on Rails — Our back end API is a Rails app. It responds to requests RESTfully in JSON.
  • PostgreSQL — Our main data store is in Postgres.
  • Redis — We use Redis as a cache and for transient data.
  • Feedjira — Feedjira is a Ruby library designed to parse feeds.
  • Dandelion — Semantic Text Analytics as a service.
  • Sidekiq — Simple, efficient background processing for Ruby.
  • JSON:API Serialization — A fast JSON:API serializer for Ruby Objects..
  • PgSearch — PgSearch builds named scopes that take advantage of PostgreSQL's full text search.
  • TailwindCSS — A utility-first CSS framework for rapidly building custom user interfaces.

Plus lots of Ruby Gems, a complete list of which is at /main/Gemfile.

Sponsor me

If you want to support me in server costs to keep dato.ess free and up, consider sponsorize! Thanks!

GitHub sponsor

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/davidesantangelo/dato.rss. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].