{"id":13414871,"url":"https://github.com/JamesTheHacker/Neuron","last_synced_at":"2025-03-14T22:32:23.280Z","repository":{"id":143948963,"uuid":"65639641","full_name":"JamesTheHacker/Neuron","owner":"JamesTheHacker","description":"Neuron - Electron, ES6, React, PouchDB, Sass, Webpack","archived":false,"fork":false,"pushed_at":"2016-10-18T15:33:18.000Z","size":979,"stargazers_count":967,"open_issues_count":2,"forks_count":44,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-07-31T21:53:16.189Z","etag":null,"topics":["css","electron","pouchdb","react","remote-couchdb-database","remote-database"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamesTheHacker.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-08-13T22:33:23.000Z","updated_at":"2024-07-24T16:12:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fa15931-9afe-4ee0-b198-7bb23d0887ad","html_url":"https://github.com/JamesTheHacker/Neuron","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesTheHacker%2FNeuron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesTheHacker%2FNeuron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesTheHacker%2FNeuron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesTheHacker%2FNeuron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesTheHacker","download_url":"https://codeload.github.com/JamesTheHacker/Neuron/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221513933,"owners_count":16835746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","electron","pouchdb","react","remote-couchdb-database","remote-database"],"created_at":"2024-07-30T21:00:39.022Z","updated_at":"2024-10-26T08:30:39.030Z","avatar_url":"https://github.com/JamesTheHacker.png","language":"JavaScript","readme":"Neuron - ES6 React Electron Starter Kit\n=======================================\n\n\u003cimg src=\"http://i.imgur.com/4IGAAU4.png\" width=340\u003e\n\n[![Build Status](https://travis-ci.org/JamesTheHacker/Neuron.svg?branch=master)](https://travis-ci.org/JamesTheHacker/Neuron)\n\n**Note:** This project is an active work in progress. Contributions, support and feedback is very much welcomed.\n\nNeuron is an [offline first](http://offlinefirst.org/) 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!\n\nFeatures\n--------\n\n* PouchDB (inc. pouchdb-find) with CouchDB remote replication\n* ES6 support via Babel\n* React\n* Webpack\n* Sass\n\nInstall\n-------\n\n    git clone https://github.com/JamesTheHacker/Neuron\n    cd Neuron\n    npm install\n\n**Windows Users**\n\nIf 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](https://github.com/nolanlawson/hello-electron-with-pouchdb#browser-vs-node) for more info):\n\n    \"postinstall\": \"bash postinstall.sh\"\n\n... and set the browser adapter in `app.js` like so:\n\n    const localDB = new PouchDB('app', { adapter: 'websql' })\n\nUsage\n-----\n\nRunning `npm start` will build the JS and CSS files and launch the Electron application.\n\nBy default devtools is disabled. To enable it uncomment the following line in `app.js`:\n\n    //win.webContents.openDevTools()\n\nElectron\n--------\n\nThe Electron entry point is a file called `app.js` stored in the root directory.\n\nPouchDB and CouchDB\n-------------------\n\nPouchDB is a pure JavaScript NoSQL database that can be synced with a remote CouchDB database to create an [offline first](http://offlinefirst.org/) application.If you're not comfortable using PouchDB's map/reduce API you can use [pouchdb-find](https://github.com/nolanlawson/pouchdb-find). This is included by default.\n\nIn order to sync the local and remote databases when the application launches follow the instructions below:\n\n**Local PouchDB**\n\nIf 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.\n\n**Remote CouchDB**\n\nSyncing 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](http://guide.couchdb.org/draft/security.html)). If you need a server to play around with you can get $10 free from Digital Ocean by following [this link](https://m.do.co/c/dde4646baa31).\n\nOnce you have CouchDB installed and secured you can configure your application by entering the `host`, `username` and `password` in the `.env` file.\n\n    COUCH_PROTOCOL=http\n    COUCH_HOST=192.168.0.1\n    COUCH_PORT=5984\n    COUCH_DB=app\n    COUCH_USERNAME=username\n    COUCH_PASSWORD=secret_password\n\n**Add CORS Configuration**\n\n[See here](https://github.com/pouchdb/add-cors-to-couchdb) for more details on why this step is required.\n\nRun the following command, replacing the `host`, `username` and `password`:\n\n    npm run add-cors http://127.0.0.0:5984 --username user --password secret_password\n\n**Finished**\n\nNeuron 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.\n\nFor more information on replication see [the docs](https://pouchdb.com/guides/replication.html).\n\nWebpack\n-------\n\n**CSS**\n\nAll 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.\n\n**JS**\n\nAll JS files are stored in the `app/js/` directory. ES6 and React is supported out of the box.\n\n**Build**\n\nRunning `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.\n","funding_links":[],"categories":["Uncategorized","JavaScript"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJamesTheHacker%2FNeuron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJamesTheHacker%2FNeuron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJamesTheHacker%2FNeuron/lists"}