Know how many cigarettes you smoke based on the pollution of your location. π©π¬
This app is bootstrapped with Expo, you can download the Expo app on the App Store or Play Store, and enter the url provided below. We have 2 release channels:
Release Channel | Version | Description | Url |
---|---|---|---|
Production | v1.3.1 | Same version as Sh**t! I Smoke on the App Store and Play Store. | https://exp.host/@amaurymartiny/shoot-i-smoke?release-channel=production |
Staging | v1.3.1 | Latest version currently in development: newest features, may contain bugs. | https://exp.host/@amaurymartiny/shoot-i-smoke |
Before developing the app, you need to fetch your own API tokens for the following services:
Service | Url | Comments |
---|---|---|
World Air Quality Index | http://aqicn.org/api/ | Required. |
Algolia Places | https://community.algolia.com/places/rest.html (Get Started button on the bottom) |
Optional, lower API rates if not provided. |
Google Maps for iOS | https://developers.google.com/maps/documentation/ios-sdk/start | Optional in development. |
Google Maps for Android | https://developers.google.com/maps/documentation/android-api/ | Optional in development. |
Sentry Bug Tracking | https://sentry.io | Optional. |
Amplitude Analytics | https://amplitude.com | Optional. Note: we never not track PII. |
Then run the following commands:
git clone https://github.com/amaurymartiny/shoot-i-smoke
cd shoot-i-smoke
yarn install
# Replace the API keys placeholders with your own tokens in app.json
# For the optional services you don't want to put an API key, put `undefined`
cp app.example.json app.json
yarn start
This app is created with Expo, using React Native. When you run yarn start
, the Expo packager will show, and you can either:
- install the Expo app, scan the displayed QR code, and run the app on your mobile phone directly.
- open the Android simulator.
- open the iOS simulator.
All the code lives in the App/
folder. The app itself is pretty small, so it should be fairly easy to navigate through the files.
If you find a bug, or if you have an idea for this app, please file an issue here. We really appreciate feedback and inputs!
π¬π§π«π·πͺπΈπ¨π³ You may also contribute with translations with our online tool POEditor.
For code contribution, the codebase heavily relies on functional programming principles via the fp-ts
library. The codebase itself is quite simple, so even if you're beginner to functional programming, it shouldn't be hard to follow along.
More information on contributing here.
The codebase unfortunately isn't much covered by tests. Check out the *.spec.js
files in the project for tests. If you're interested to help out, have a look at #19.
GPL-3.0. See LICENSE file for more information.
Created with β€ by Marcelo & Amaury.
A huge thanks to the following contributors for their amazing work: