{"id":16446144,"url":"https://github.com/mschaeffner/photosio","last_synced_at":"2026-05-13T08:05:15.798Z","repository":{"id":93436045,"uuid":"129857407","full_name":"mschaeffner/photosio","owner":"mschaeffner","description":null,"archived":false,"fork":false,"pushed_at":"2018-04-20T10:21:12.000Z","size":1482,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T01:47:59.600Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mschaeffner.png","metadata":{"files":{"readme":"README-boilerplate.md","changelog":"CHANGELOG-boilerplate.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-17T06:32:52.000Z","updated_at":"2018-04-20T10:21:15.000Z","dependencies_parsed_at":"2023-04-02T12:48:56.718Z","dependency_job_id":null,"html_url":"https://github.com/mschaeffner/photosio","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/mschaeffner%2Fphotosio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschaeffner%2Fphotosio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschaeffner%2Fphotosio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschaeffner%2Fphotosio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mschaeffner","download_url":"https://codeload.github.com/mschaeffner/photosio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240831381,"owners_count":19864718,"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":[],"created_at":"2024-10-11T09:46:37.795Z","updated_at":"2026-05-13T08:05:15.757Z","avatar_url":"https://github.com/mschaeffner.png","language":"JavaScript","funding_links":["https://opencollective.com/electron-react-boilerplate","https://opencollective.com/electron-react-boilerplate/backer/0/website","https://opencollective.com/electron-react-boilerplate/backer/1/website","https://opencollective.com/electron-react-boilerplate/backer/2/website","https://opencollective.com/electron-react-boilerplate/backer/3/website","https://opencollective.com/electron-react-boilerplate/backer/4/website","https://opencollective.com/electron-react-boilerplate/backer/5/website","https://opencollective.com/electron-react-boilerplate/backer/6/website","https://opencollective.com/electron-react-boilerplate/backer/7/website","https://opencollective.com/electron-react-boilerplate/backer/8/website","https://opencollective.com/electron-react-boilerplate/backer/9/website","https://opencollective.com/electron-react-boilerplate/backer/10/website","https://opencollective.com/electron-react-boilerplate/backer/11/website","https://opencollective.com/electron-react-boilerplate/backer/12/website","https://opencollective.com/electron-react-boilerplate/backer/13/website","https://opencollective.com/electron-react-boilerplate/backer/14/website","https://opencollective.com/electron-react-boilerplate/backer/15/website","https://opencollective.com/electron-react-boilerplate/backer/16/website","https://opencollective.com/electron-react-boilerplate/backer/17/website","https://opencollective.com/electron-react-boilerplate/backer/18/website","https://opencollective.com/electron-react-boilerplate/backer/19/website","https://opencollective.com/electron-react-boilerplate/backer/20/website","https://opencollective.com/electron-react-boilerplate/backer/21/website","https://opencollective.com/electron-react-boilerplate/backer/22/website","https://opencollective.com/electron-react-boilerplate/backer/23/website","https://opencollective.com/electron-react-boilerplate/backer/24/website","https://opencollective.com/electron-react-boilerplate/backer/25/website","https://opencollective.com/electron-react-boilerplate/backer/26/website","https://opencollective.com/electron-react-boilerplate/backer/27/website","https://opencollective.com/electron-react-boilerplate/backer/28/website","https://opencollective.com/electron-react-boilerplate/backer/29/website"],"categories":[],"sub_categories":[],"readme":"# electron-react-boilerplate\n\n### A Boilerplate for Scalable Cross-Platform Desktop Apps\n\n\u003cbr/\u003e\n\n[![Build Status][travis-image]][travis-url]\n[![Appveyor Build Status][appveyor-image]][appveyor-url]\n[![Dependency Status][david_img]][david_site]\n[![Github Tag][github-tag-image]][github-tag-url]\n[![Join the chat at https://gitter.im/electron-react-boilerplate/Lobby](https://badges.gitter.im/electron-react-boilerplate/Lobby.svg)](https://gitter.im/electron-react-boilerplate/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![OpenCollective](https://opencollective.com/electron-react-boilerplate/backers/badge.svg)](#backers)\n[![OpenCollective](https://opencollective.com/electron-react-boilerplate/sponsors/badge.svg)](#sponsors)\n\n[![React](/internals/img/react-padded-90.png)](https://facebook.github.io/react/)\n[![Webpack](/internals/img/webpack-padded-90.png)](https://webpack.github.io/)\n[![Redux](/internals/img/redux-padded-90.png)](http://redux.js.org/)\n[![React Router](/internals/img/react-router-padded-90.png)](https://github.com/ReactTraining/react-router)\n[![Flow](/internals/img/flow-padded-90.png)](https://flowtype.org/)\n[![ESLint](/internals/img/eslint-padded-90.png)](http://eslint.org/)\n[![Jest](/internals/img/jest-padded-90.png)](https://facebook.github.io/jest/)\n[![Yarn](/internals/img/yarn-padded-90.png)](https://yarnpkg.com/)\n\n[Electron](http://electron.atom.io/) application boilerplate based on [React](https://facebook.github.io/react/), [Redux](https://github.com/reactjs/redux), [React Router](https://github.com/reactjs/react-router), [Webpack](http://webpack.github.io/docs/), [React Transform HMR](https://github.com/gaearon/react-transform-hmr) for rapid application development.\n\n## Screenshot\n\n![Electron Boilerplate Demo](https://cloud.githubusercontent.com/assets/3382565/10557547/b1f07a4e-74e3-11e5-8d27-79ab6947d429.gif)\n\n## Install\n\n* **Note: requires a node version \u003e= 7 and an npm version \u003e= 4.**\n* **If you have installation or compilation issues with this project, please see [our debugging guide](https://github.com/chentsulin/electron-react-boilerplate/issues/400)**\n\nFirst, clone the repo via git:\n\n```bash\ngit clone --depth=1 https://github.com/chentsulin/electron-react-boilerplate.git your-project-name\n```\n\nAnd then install dependencies with yarn.\n\n```bash\n$ cd your-project-name\n$ yarn\n```\n**Note**: If you can't use [yarn](https://github.com/yarnpkg/yarn), run `npm install`.\n\n## Run\n\nStart the app in the `dev` environment. This starts the renderer process in [**hot-module-replacement**](https://webpack.js.org/guides/hmr-react/) mode and starts a webpack dev server that sends hot updates to the renderer process:\n\n```bash\n$ npm run dev\n```\n\nAlternatively, you can run the renderer and main processes separately. This way, you can restart one process without waiting for the other. Run these two commands **simultaneously** in different console tabs:\n\n```bash\n$ npm run start-renderer-dev\n$ npm run start-main-dev\n```\n\n## Packaging\n\nTo package apps for the local platform:\n\n```bash\n$ npm run package\n```\n\nTo package apps for all platforms:\n\nFirst, refer to [Multi Platform Build](https://www.electron.build/multi-platform-build) for dependencies.\n\nThen,\n```bash\n$ npm run package-all\n```\n\nTo package apps with options:\n\n```bash\n$ npm run package -- --[option]\n```\n\nTo run End-to-End Test\n\n```bash\n$ npm run build\n$ npm run test-e2e\n```\n\n:bulb: You can debug your production build with devtools by simply setting the `DEBUG_PROD` env variable:\n```bash\nDEBUG_PROD=true npm run package\n```\n\n## How to add modules to the project\n\nYou will need to add other modules to this boilerplate, depending on the requirements of your project. For example, you may want to add [node-postgres](https://github.com/brianc/node-postgres) to communicate with PostgreSQL database, or \n[material-ui](http://www.material-ui.com/) to reuse react UI components.\n\n⚠️ Please read the following section before installing any dependencies ⚠️\n\n### Module Structure\n\nThis boilerplate uses a [two package.json structure](https://github.com/electron-userland/electron-builder/wiki/Two-package.json-Structure). This means, you will have two `package.json` files.\n\n1. `./package.json` in the root of your project\n1. `./app/package.json` inside `app` folder\n\n### Which `package.json` file to use\n\n**Rule of thumb** is: all modules go into `./package.json` except native modules. Native modules go into `./app/package.json`.\n\n1. If the module is native to a platform (like node-postgres) or otherwise should be included with the published package (i.e. bcrypt, openbci), it should be listed under `dependencies` in `./app/package.json`.\n2. If a module is `import`ed by another module, include it in `dependencies` in `./package.json`.   See [this ESLint rule](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md). Examples of such modules are `material-ui`, `redux-form`, and `moment`.\n3. Otherwise, modules used for building, testing and debugging should be included in `devDependencies` in `./package.json`.\n\n### Further Readings\n\nSee the wiki page, [Module Structure — Two package.json Structure](https://github.com/chentsulin/electron-react-boilerplate/wiki/Module-Structure----Two-package.json-Structure) to understand what is native module, the rationale behind two package.json structure and more.\n\nFor an example app that uses this boilerplate and packages native dependencies, see [erb-sqlite-example](https://github.com/amilajack/erb-sqlite-example).\n\n## CSS Modules\n\nThis boilerplate is configured to use [css-modules](https://github.com/css-modules/css-modules) out of the box.\n\nAll `.css` file extensions will use css-modules unless it has `.global.css`.\n\nIf you need global styles, stylesheets with `.global.css` will not go through the\ncss-modules loader. e.g. `app.global.css`\n\nIf you want to import global css libraries (like `bootstrap`), you can just write the following code in `.global.css`:\n\n```css\n@import \"~bootstrap/dist/css/bootstrap.css\";\n```\n\n## Sass support\n\nIf you want to use Sass in your app, you only need to import `.sass` files instead of `.css` once:\n```js\nimport './app.global.scss';\n```\n\n## Static Type Checking\nThis project comes with Flow support out of the box! You can annotate your code with types, [get Flow errors as ESLint errors](https://github.com/amilajack/eslint-plugin-flowtype-errors), and get [type errors during runtime](https://github.com/codemix/flow-runtime) during development. Types are completely optional.\n\n## Dispatching redux actions from main process\n\nSee [#118](https://github.com/chentsulin/electron-react-boilerplate/issues/118) and [#108](https://github.com/chentsulin/electron-react-boilerplate/issues/108)\n\n## How to keep your project updated with the boilerplate\n\nIf your application is a fork from this repo, you can add this repo to another git remote:\n\n```sh\ngit remote add upstream https://github.com/chentsulin/electron-react-boilerplate.git\n```\n\nThen, use git to merge some latest commits:\n\n```sh\ngit pull upstream master\n```\n\n## Maintainers\n\n- [C. T. Lin](https://github.com/chentsulin)\n- [Jhen-Jie Hong](https://github.com/jhen0409)\n- [Amila Welihinda](https://github.com/amilajack)\n\n## Backers\n\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/electron-react-boilerplate#backer)]\n\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/backer/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/backer/29/avatar.svg\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nBecome a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/electron-react-boilerplate#sponsor)]\n\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/electron-react-boilerplate/sponsor/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/electron-react-boilerplate/sponsor/29/avatar.svg\"\u003e\u003c/a\u003e\n\n## License\nMIT © [C. T. Lin](https://github.com/chentsulin)\n\n[npm-image]: https://img.shields.io/npm/v/electron-react-boilerplate.svg?style=flat-square\n[github-tag-image]: https://img.shields.io/github/tag/chentsulin/electron-react-boilerplate.svg\n[github-tag-url]: https://github.com/chentsulin/electron-react-boilerplate/releases/latest\n[travis-image]: https://travis-ci.org/chentsulin/electron-react-boilerplate.svg?branch=master\n[travis-url]: https://travis-ci.org/chentsulin/electron-react-boilerplate\n[appveyor-image]: https://ci.appveyor.com/api/projects/status/github/chentsulin/electron-react-boilerplate?svg=true\n[appveyor-url]: https://ci.appveyor.com/project/chentsulin/electron-react-boilerplate/branch/master\n[david_img]: https://img.shields.io/david/chentsulin/electron-react-boilerplate.svg\n[david_site]: https://david-dm.org/chentsulin/electron-react-boilerplate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschaeffner%2Fphotosio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmschaeffner%2Fphotosio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschaeffner%2Fphotosio/lists"}