A customizable feeds reader on web, mobile, messenger bot and even terminal platforms.
The idea is started from each Gorillab's members struggling to find a good, minimal & beautiful feeds reader. And to be inspired by a simple yet reader.one app, we decide to create our own reader that not only meets our needs but also to develop new app development skills.
User can read news on the web, mobile apps, messenger bot or even terminal.
The interesting parts are everyone can see each other's feeds & activities on there own wall (like facebook timeline). And that means there will be a place you can explore the world's activities, the reader homepage.
Interesting right! Keep moving to the Architecture of reader.
The following topics describe each part of the software architecture.
Reader will be developed in several platforms:
- Web app: react
- Mobile app (iOS): react-native
- Chat bot: messenger platform
- CLI app (Terminal on Mac OS X): commander
SDKs that help Reader apps to work with the api to get/update data. Based on the platforms, we will develop:
- JS SDK: web & mobile apps
- Node SDK: messenger bot & CLI app
Node/Express based API web service that serves feeds to user.
The admin service that manages multiple scrapers. It will ask them periodically to scrap data from specified source and store responded data to the database.
The service that scrap data from specified source whenever the admin requests.
Feeds, user accounts and data storage.
The user account with basic information.
The source entity is our news source such as Hacker News, GitHub Trending, Medium, Quora, etc. The user will subscribe source(s) to read news.
This is the news post from source that user subscribed. The user is not only able to read but also to share and save (bookmark) for later reading.
- Front-end: React, React-Native, Messenger Platform, Commander, Bootstrap, Sass
- Back-end: Express, Passport, Mongoose
- Database: MongoDB
- DevOps: Docker, Nginx, PM2, Travis-CI, Heroku
- Tools: swagger-node, feedparser, create-react-app, create-react-native-app
Reader will be run in local at https://reader.dev. Checkout the following repositories for development:
- reader-api: api service
- reader-scraper-admin: scrapers admin service
- reader-scraper: base scraper service
- reader-github-trending: github trending scraper based on reader-scraper
- reader-hn: hacker news scraper
- reader-medium: medium scraper
- swagger-node: for generating api, scrapers & scraper-admin services from openapi yaml file
We use Heroku to run many instances of reader services:
- Web: https://staging.reader.gorillab.co
- API: https://staging.reader.gorillab.co/api
- Scraper Admin: https://staging.reader.gorillab.co/admin
Reader web app will be lived at https://reader.gorillab.co
Check this GitHub Board for Reader's roadmap.
Our members are on GitHub: