Skip to content
/ erin Public

A multiplatform desktop app with stunning wallpapers collections and dynamic filters.

License

Notifications You must be signed in to change notification settings

losbiw/erin

Repository files navigation

Erin

A cross-platform app for changing wallpaper

Goal

Erin has been created as an attempt to solve just one seemingly easy and, as I figured out later on, fairly common problem: getting used to your desktop wallpaper way too quickly while downloading them manually being too big of a hassle. If one's a software engineer, it's their moral duty to spend 100+ hours trying to automate a task that would take 10 minutes to complete manually in the worst of conditions, so that's exactly how Erin was born.

Screenshots

Dark Main Screen Light Main Screen
Dark Picker Screen Light Picker Screen
Dark Settings Screen Light Settings Screen
Dark Info Screen Light Info Screen

Installation

Download an installation file corresponding to your OS from GitHub releases

Get it from the Snap Store

Stack

Main technologies used in the project:

  • Typescript
  • React
  • Electron
  • Redux toolkit

Local setup

Setup

Copy the repository using the following command:

git clone https://github.com/losbiw/erin

Include your own .env file (or use the existing one) in the electron directory which has to contain the following variables:

  • PEXELS_API_KEY
  • WEATHER_API_KEY (OpenWeatherMap API is supported by default, in case of using another API you have to:
  • GOOGLE_API_KEY
  • GH_TOKEN (optional, but auto-updater won't work without it)

Steps to run locally

  • Install dependencies: yarn install
  • Run react app: yarn react-start
  • Transpile electron code: yarn electron-compile
  • Run electron app: yarn electron-start

Commands to build the app on each platform

  • Windows: yarn build-win
  • Linux: yarn build-linux
  • MacOS: yarn build-mac
  • All three: yarn build-mwl