All Projects → JamesTheHacker → Neuron

JamesTheHacker / Neuron

Neuron - Electron, ES6, React, PouchDB, Sass, Webpack

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Neuron

offPIM
Decentralized, Offline-first, Personal Information Manager (PIM) using PouchDB/CouchDB. Includes task-, note-, and contact-management, as well as journaling.
Stars: ✭ 63 (-93.62%)
Mutual labels:  pouchdb
couch-auth
Powerful authentication for APIs and apps using CouchDB (or Cloudant) with Node >= 14
Stars: ✭ 50 (-94.94%)
Mutual labels:  pouchdb
reactnative-typescript
Playground and evolution of learnings done in react native with typescript
Stars: ✭ 28 (-97.17%)
Mutual labels:  pouchdb
shopping-list-react-pouchdb
Shopping List is an Offline First demo Progressive Web App built using React and PouchDB.
Stars: ✭ 27 (-97.27%)
Mutual labels:  pouchdb
comdb
A PouchDB plugin that transparently encrypts and decrypts its data.
Stars: ✭ 36 (-96.36%)
Mutual labels:  pouchdb
go-pouchdb
GopherJS bindings for PouchDB ⚠️ NOTICE ⚠️ this package has been superseded by https://github.com/go-kivik/kivik
Stars: ✭ 12 (-98.79%)
Mutual labels:  pouchdb
kanban-board-app
Kanban style task management board app
Stars: ✭ 118 (-88.06%)
Mutual labels:  pouchdb
Money Tracker
💰 Personal finances tracking web app
Stars: ✭ 577 (-41.6%)
Mutual labels:  pouchdb
use-pouchdb
React Hooks for PouchDB
Stars: ✭ 39 (-96.05%)
Mutual labels:  pouchdb
react-pouchdb
React components for interacting with PouchDB.
Stars: ✭ 15 (-98.48%)
Mutual labels:  pouchdb
drummer
Offline-first drum machine
Stars: ✭ 19 (-98.08%)
Mutual labels:  pouchdb
grouptabs
Mobile Web App to organize payments in dynamic groups of people.
Stars: ✭ 40 (-95.95%)
Mutual labels:  pouchdb
pouchy
A simple, opinionated interface for PouchDB 👝
Stars: ✭ 59 (-94.03%)
Mutual labels:  pouchdb
shopping-list-preact-pouchdb
Shopping List is an Offline First demo Progressive Web App built using Preact and PouchDB.
Stars: ✭ 18 (-98.18%)
Mutual labels:  pouchdb
Ionic-CouchDB-chat-app
Simple chat mobile app, like whatsApp lite version
Stars: ✭ 13 (-98.68%)
Mutual labels:  pouchdb
vuepouch
A tiny library to enable you work with PouchDB in a Vuejs app. It syncs with remote CouchDB too :-)
Stars: ✭ 59 (-94.03%)
Mutual labels:  pouchdb
framework
Solu Framework is a full featured, ORM-backed, isomorphic framework using RPython, Pouch/CouchDB and React.
Stars: ✭ 20 (-97.98%)
Mutual labels:  pouchdb
Thing Store
an app for storing and calculating with arbitrary structures of values.
Stars: ✭ 11 (-98.89%)
Mutual labels:  pouchdb
Cht Core
The CHT Core Framework makes it faster to build responsive, offline-first digital health apps that equip health workers to provide better care in their communities. It is a central resource of the Community Health Toolkit.
Stars: ✭ 354 (-64.17%)
Mutual labels:  pouchdb
offline-first-app
OfflineFirst demo app with some WebComponents and PouchDB
Stars: ✭ 27 (-97.27%)
Mutual labels:  pouchdb

Neuron - ES6 React Electron Starter Kit

Build Status

Note: This project is an active work in progress. Contributions, support and feedback is very much welcomed.

Neuron is an offline first starter kit for developers wanting to create cross platform desktop applications with Electron. It comes complete with a handful of useful tools to help you create killer applications that run on all platforms!

Features

  • PouchDB (inc. pouchdb-find) with CouchDB remote replication
  • ES6 support via Babel
  • React
  • Webpack
  • Sass

Install

git clone https://github.com/JamesTheHacker/Neuron
cd Neuron
npm install

Windows Users

If you're running Windows remove the following line from the package.json file and use browser adapters instead of Node's levelDB adapter (See here for more info):

"postinstall": "bash postinstall.sh"

... and set the browser adapter in app.js like so:

const localDB = new PouchDB('app', { adapter: 'websql' })

Usage

Running npm start will build the JS and CSS files and launch the Electron application.

By default devtools is disabled. To enable it uncomment the following line in app.js:

//win.webContents.openDevTools()

Electron

The Electron entry point is a file called app.js stored in the root directory.

PouchDB and CouchDB

PouchDB is a pure JavaScript NoSQL database that can be synced with a remote CouchDB database to create an offline first application.If you're not comfortable using PouchDB's map/reduce API you can use pouchdb-find. This is included by default.

In order to sync the local and remote databases when the application launches follow the instructions below:

Local PouchDB

If you do not require the use of CouchDB on a remote server simply leave the variables in .env blank. By default this will use a local PouchDB database.

Remote CouchDB

Syncing your application to a remote CouchDB database is easy. Ensure you have CouchDB installed on a remote server and that you've secured it (I suggest reading this guide). If you need a server to play around with you can get $10 free from Digital Ocean by following this link.

Once you have CouchDB installed and secured you can configure your application by entering the host, username and password in the .env file.

COUCH_PROTOCOL=http
COUCH_HOST=192.168.0.1
COUCH_PORT=5984
COUCH_DB=app
COUCH_USERNAME=username
COUCH_PASSWORD=secret_password

Add CORS Configuration

See here for more details on why this step is required.

Run the following command, replacing the host, username and password:

npm run add-cors http://127.0.0.0:5984 --username user --password secret_password

Finished

Neuron will now automatically sync the remote database to the local one when the application launches, and will keep in sync when data is changed in the database. By default the database sync is bidirectional.

For more information on replication see the docs.

Webpack

CSS

All CSS files are stored in the app/css/ directory. Sass is built in by default allowing you to easily build CSS componenets/modules with the added benefits of Sass.

JS

All JS files are stored in the app/js/ directory. ES6 and React is supported out of the box.

Build

Running npm start or npm run build will build both the JS and CSS into single bundles. We keep the JS and CSS bundles seperate which allows you to include your CSS at the top of a HTML file and the JS at the bottom to avoid having the CSS render after the page has loaded.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].