An awesome, little menubar app for checking out air quality near you!
Download the SMOGBar!
Report Bug
Β·
Request Feature
There are many great apps for checking out air quality such as Airly, SmogSmok, however, I didn't find one that really suit my needs so I created this one, available right from your menubar (OSX) or taskbar in Windows. I wanted something easy to read, accesable and minimalistic. With help from Airly API, this is what I came up with ;)
Oh, did I mention it comes with light and dark themes? π
As a source of air quality data I'm using API kindly provided by Airly. The app itself is built with:
If you'd like to set up your your project locally, here's how:
- Get your API Key at https://developer.airly.org/docs
- Clone the server repo
git clone https://github.com/booua/airly_widget_server
- Install NPM packages
npm install
- Enter your API in
.env
file
AIRLY_API_KEY = 'YOUR API KEY';
Don't forget to run the server ;)
- Clone this repo
git clone https://github.com/booua/airly_widget
- Install concurrently and wait-on
npm install concurrently wait-on
- Install rest of the dependencies:
npm install
- In App.js point the ApolloClient to your server:
const client = new ApolloClient({
uri: "http://server:3000",
cache: new InMemoryCache(),
});
- Run dev
npm run dev
-
For now the app is using my own server instance with one API key limited to 100 request / day. I'm caching the data (in a nice way btw ;)) fetched from Airly and allowing it to be refreshed manually (button on top right corner) or once every 30mins. Best solution would be to allow individual users to register their accounts, but this would mean the app would be more cumbersome to use :C
-
in order to exit the app you need to use keyboard shortcut CMD + Q (Mac) or Alt + f4 (windows). It would be nice to have a context menu or a separate button
-
app is taking a location based on users' IP address, which (I KNOW I KNOW, chill) is not really precise and can lead to showing the air quality near your ISP building, not yours, but electron is forcing usage of Google API (more info here: https://www.electronjs.org/docs/api/environment-variables#google_api_key) which I don't like and don't intend to pay for.
-
fix bugs πππ?
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch or Bugfix Branch (
git checkout -b feature/newAmazingFeature
orgit checkout -b bugfix/iFixedABugWhichYouIntroducedYouMoron
) - Commit your Changes (
git commit -m 'Add some newAmazingFeature'
) - Push to the Branch (
git push origin feature/newAmazingFeature
) - Open a Pull Request
- Give yourself a hig...self five!
Distributed under the MIT License. See LICENSE
for more information.
Jack Paciorek - jack.paciorek(at)gmail.com