Coder Social home page Coder Social logo

sleepyfran / readder Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 2.0 1.1 MB

๐Ÿ“– Read articles from your favourite website based on how much time you have

Home Page: https://sleepyfran.github.io/readder/

JavaScript 1.39% HTML 1.64% F# 96.16% CSS 0.81%

readder's Introduction

ยกHola, soy Fran! ๐Ÿ‘‹

  • ๐Ÿ—บ Living in Prague, Czech Republic ๐Ÿ‡จ๐Ÿ‡ฟ
  • ๐Ÿ’ป Working at Microsoft, making Microsoft Teams
  • ๐Ÿ‘พ Working on a little game called Duets
  • ๐ŸŽธ Also making music

readder's People

Contributors

andreasvirkus avatar dependabot[bot] avatar lluiscamino avatar sleepyfran avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

readder's Issues

Allow the user to navigate between compatible articles in the reader

Right now we load multiple posts that are compatible with the user's filters but we only show one and we don't allow the user to navigate between them. We should add arrows on the edges of the screen to take the user one article forward or backward in the compatible articles list.

Change the community input to allow specifying other communities aside from Reddit and show auto completion

Whenever the user types into the input we should show auto completion:

  • A list of communities available (Reddit, DEV.to, etc)
  • Once a community has been selected, show auto completions for subreddits, tags, etc.

My idea to support this is initially showing a list of the available services (once we get a bunch this will show the featured ones), with the name of the service and a keywork associated with that service (e.g. r/ for Reddit or dev# for DEV.to), followed by that keyword would be the subcommunity that the user wants to see.

Add support for DEV.to articles

Now that #4 has been fully implemented, this will be easy to do.

Using their nice articles API (https://dev.to/api/articles/?page=1) we can get a list of the most recent featured articles and even filter by tags by specifying the tag query, with that list we can fetch an individual article specifying the ID of such article: https://dev.to/api/articles/{id}

Steps to implement this:

  • Add dev.to to the services list in service-connector.js (just uncomment the line).
  • Create a dev.api.js similar to the existent Reddit API; this will be in charge of fetching the articles.
  • Create a dev.adapter.js similar to the existent Reddit adapter; this will transform the Dev.to response to a format that the app can understand.
  • Create a dev.connector.js that calls the dev.api.js.
  • Add the Dev.to case in getConnectorForCommunity.
  • And of course, make a test case for the adapter similar to the existent Reddit one ;)

Make the app responsive

Right now most of the components are not designed to be responsive and the app looks ugly on phones. Letโ€™s make it better!

Sent with GitHawk

Add a settings page

Right now the user always needs to select a community every time they enter in the app, even if they always read from the same one. We should add a settings screen in which the user can customize the default minutes, community and subcommunity and persist those settings in the local storage.

Refactor to make it easier to add other communities

This refactor is going to be taking place in the branch feature/refactor and itโ€™ll make it easier to connect with other communities outside from Reddit by defining adapters and making the Vuex action use a service connector instead of the Reddit service directly.

Sent with GitHawk

Subreddit/tag link redirects to _blank

In any post on any community, the #subcommunity that appears in the header doesn't redirect the user to the sub community that the post was posted to but instead just shows a _blank page.

Notify errors and empty results to the user

The Home view should start reacting to other states than success. Right now, whenever we get a response from the API, we always navigate to the Reader page; however, there are certain cases in which the community that the user wrote does not exist (the API should call onError and set the loadingStatus of the store to error) or none of the fetched post can be read in the specified time (the API should call onNoResults and set the loadingStatus of the store to noResults). We should handle these scenarios and notify the user about these cases.

We can start by proposing how to show these error messages in the UI.

Add support for external links

There are a lot of great communities that center on text too but link to other websites instead of putting the content directly in Reddit, which is currently not supported by Readder.

We could use Mercury Web Parser to add this feature.

Add community custom sorts and filters

For now only Reddit, but we should allow the user to select whether they want to sort by hot/new/top and, in those that allow it (like top) filter by today, this week, etc.

We should also do this in a way that it's only specific to Reddit, so that whenever we integrate new communities that don't support this we won't have to make weird design changes.

How to contribute

Hi

Saw this as a comment on dev.to and decided to check here. Would love to go over the application and contribute in any way I can.

Great work already

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.