HackerNews clone built with Vue 2.0, vue-router & vuex & Quasar Framework, with server-side rendering
Switch branches/tags
Nothing to show
Clone or download
Latest commit 6a2aa72 Jul 25, 2018

README.md

Quasar Framework logo

Build responsive Single Page Apps, SSR Apps, PWAs, Hybrid Mobile Apps and Electron Apps, all using the same codebase!, powered with Vue.

quasar-hackernews

HackerNews clone built with Vue 2.0 + vue-router + vuex + Quasar Framework, with server-side rendering.

Will get rewritten by using Quasar CLI soon


Live Demo

Forked from vue-hackernews-2.0.

Features

Note: in practice, it is unnecessary to code-split for an app of this size (where each async chunk is only a few kilobytes), nor is it optimal to extract an extra CSS file (which is only 1kb) -- they are used simply because this is a demo app showcasing all the supported features. In real apps, you should always measure and optimize based on your actual app constraints.

  • Server Side Rendering
    • Vue + vue-router + vuex working together
    • Server-side data pre-fetching
    • Client-side state & DOM hydration
    • Automatically inlines CSS used by rendered components only
    • Preload / prefetch resource hints
    • Route-level code splitting
  • Progressive Web App
    • App manifest
    • Service worker
    • 100/100 Lighthouse score
  • Single-file Vue Components
    • Hot-reload in development
    • CSS extraction for production
  • Animation
    • Effects when switching route views
    • Real-time list updates with FLIP Animation

Architecture Overview

screen shot 2016-08-11 at 6 06 57 pm

A detailed Vue SSR guide can be found here.

Build Setup

Requires Node.js 7+

# install dependencies
$ yarn # or: npm install

# serve in dev mode, with hot reload at localhost:9554
$ yarn dev # or: npm run dev
# ..or with iOS theme:
$ QUASAR_THEME=ios yarn dev

# build for production
$ yarn build # or: npm run build
# ..or with iOS theme:
$ QUASAR_THEME=ios yarn build

# serve in production mode (after building it)
$ yarn start # or: npm start

License

MIT