- Read News Headlines from 7 different countries( US, UK, IN, FR, DE, AU, CA).
- Switch between news categories easily.
- Three different reading Modes (Comfortable, Compact and Image free).
- Night mode for a pleasant news reading experience.
- Responsive and built from the ground up to run seamlessly on mobiles, tablets and desktop.
- QuickPreview for instantly viewing News articles.
- Powered by News API, Search for articles from over 30,000 news sources and blogs.
Clone the project locally and the follow the steps below for dev/build.
Get started by installing the project dependencies. You can alternatively use npm for dev & build.
yarn install
yarn run start
yarn run build
The Newsquirrel is built using some of the best in class tools and frameworks
- React - JavaScript library for building user interfaces.
- Typescript - Typings System.
- Emotion - The Next Generation of CSS-in-JS
- Apollo - Build a universal GraphQL API on top of your existing REST APIs
- Prisma - Build a GraphQL server with any database
- Graphql - A query language for your API
- Docker - Build, Manage and Secure Your Apps Anywhere. Your Way
- Kubernetes - Production-Grade Container Orchestration
- Web - This is the front end app hosted on NGINX and is where all the action starts.
- Newsapi - Apollo-Server is responsible for handling all the requests coming from the web app. The server talks to the news API and caches the data on a MYSQL db for a faster data retrieval.
- Prisma Service - A GraphQL endpoint which the newsapi uses for storing the data on MYSQL db. It acts a ORM layer for the MYSQL db.
- Database - A MYSQL database used for caching purpose.
Both the front-end app as well as the application server are Dockerized and can easily be deployed to any Orchestration engine of choice. The App (http://squirrel.prabhumurthy.com) is currently deployed to a Kubernetes Cluster on Google's Cloud platform.
- Ability to share news articles on Social Media.
- Integration with Pocket API to save news for later reading.
- Prabhu Murthy - Initial work - prabhuignoto
This project is licensed under the MIT License - see the LICENSE.md file for details