Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rhiokim/hybrid-vue-starter-kit
(wip) Offline-first application boilerplate with vue, nuxt, electron, leveldb, couchdb
https://github.com/rhiokim/hybrid-vue-starter-kit
couchdb docker electron leveldb nuxt spa ssr vue
Last synced: about 1 month ago
JSON representation
(wip) Offline-first application boilerplate with vue, nuxt, electron, leveldb, couchdb
- Host: GitHub
- URL: https://github.com/rhiokim/hybrid-vue-starter-kit
- Owner: rhiokim
- Created: 2018-08-12T15:56:53.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-18T03:24:22.000Z (about 6 years ago)
- Last Synced: 2024-11-08T19:12:31.517Z (3 months ago)
- Topics: couchdb, docker, electron, leveldb, nuxt, spa, ssr, vue
- Language: JavaScript
- Homepage:
- Size: 2.27 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project
The purpose of this project is to demonstrate the concept of an environment for offline-first web application development with Electron and modern web stacks.
It consists of three main components.
* Electron + Vue.js SPA + LevelDB
* CouchDB cluster
* Universal Rendering Framework
* (Optional) Search Engine## Structure Diagram
```bash
electron -> app -> PouchDB(leveldb)
\ (sync)
CouchDB:5984 ----- Solr or ES
/ OAuth (2.0)
mobile pwa /
\ /
browser -> web(nuxt.js):9001
\
firbase (Notification and Etc)
/
-> spa(vue, nginx):9000
```### illustration
![](./media/offline-first-web-application-architecture.002.png)
* app
* based on https://github.com/SimulatedGREG/electron-vue
* web(ssr)
* based on create-nuxt-app
* pwa - https://github.com/nuxt-community/pwa-module
* axios - https://github.com/nuxt-community/axios-module
* auth - https://github.com/nuxt-community/auth-module
* i18n - https://github.com/nuxt-community/nuxt-i18n
* sentry - https://github.com/nuxt-community/sentry-module
* stylus
* spa
* based on @vue/cli## Makefile
```bash
make init# to build container every components (electron, spa, ssr)
make build# to boot up every components on the docker environment using docker-compose
make up
# to re-boot up every components
make restart
# to clean and remove every components that working on docker environment
make clean
```## After run
* Enable CORS
## TODO
* [ ] [CouchDB Configuration for Clustering](http://docs.couchdb.org/en/stable/config/cluster.html)
* [ ] SPA/SSR Web Application integrate with CouchDB
* [ ] Add Apache Solr or Elastic Search in stack.yml
* [ ] Add search function to SPA/SSR app
* [ ] Filtered replication - https://pouchdb.com/api.html#filtered-replication
* [ ] Authentication - https://github.com/pouchdb-community/pouchdb-authentication## Refrences
* https://github.com/pouchdb-community
## License
MIT