https://github.com/bhb/hundred-pushups
React Native app for 100 pushups
https://github.com/bhb/hundred-pushups
clojure clojurescript figwheel react-native
Last synced: 3 months ago
JSON representation
React Native app for 100 pushups
- Host: GitHub
- URL: https://github.com/bhb/hundred-pushups
- Owner: bhb
- License: epl-1.0
- Created: 2016-11-24T00:30:17.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-24T03:54:05.000Z (over 8 years ago)
- Last Synced: 2025-03-06T09:03:39.573Z (3 months ago)
- Topics: clojure, clojurescript, figwheel, react-native
- Language: Clojure
- Size: 296 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# hundred-pushups
A mobile app unoffially based on the plan at [100 Pushups](http://www.100pushups.com). This app is *not* endorsed by [100 Pushups](http://www.100pushups.com)!
## Usage
Install deps:
```bash
brew install node
brew install watchman
```Install React Native CLI tool:
`npm install -g react-native-cli`
Install `re-natal`:
`npm install -g re-natal`
To open emacs with access to inf-clojure and a REPL, do
`emacs .dir-locals.el` and type `y` at prompt
To get started with your new app, first cd into its directory:
`cd hundred-pushups`### Running in iOS
Open iOS app in xcode and run it:`react-native run-ios`
To use figwheel type:
```bash
re-natal deps
re-natal use-figwheel
lein figwheel ios
```Reload the app in simulator
At the REPL prompt type this:
`(in-ns 'hundred-pushups.ios.core)`### Running in Android
Open Android project in Android Studio
* Upgrade Android Studio
* Android Studio, open project `./android`
* open emulator or connect device
* Run the app
* `react-native run-android` `#this is much faster`
* run app "click play button" (select simulator or device)
* either way app will fail until figwheel is running, but you need the initial build to start figwheel
* run figwheel
* re-run the app as above this time it should connect to figwheels promptTo use figwheel type:
```bash
re-natal use-android-device avd
or
re-natal use-android-device real
re-natal use-figwheel
lein figwheel android
```If you get an error make sure you have a simulator or real device already running.
Reload the app in simulator
At the REPL prompt type this:
`(in-ns 'hundred-pushups.android.core)`### Interacting with Running App
Changes you make via the REPL or by changing your .cljs files should appear live.
Try this command as an example:
`(dispatch [:set-greeting "Hi everyone"])`#### Starting Figwheel REPL from nREPL
Starting Figwheel REPL from nREPL
To start Figwheel within nREPL session:
`$ lein repl`
Then in the nREPL prompt type:
`user=> (start-figwheel "ios")`
Or, for Android build type:
`user=> (start-figwheel "android")`
Or, for both type:
`user=> (start-figwheel "ios" "android")`
### Tests
#### Clojurescript (on Node.js)
`lein doo node node-test auto`
#### Clojure
This method was used initially since it was fast, convenient,
and provided good stack traces. It may go away if Node testing
is fast enough.`lein with-profile +project-tools test-refresh :changes-only`
### Logs
To see log output, run one of the following
```bash
$ react-native log-ios
$ react-native log-android
```### Debug menu
iOS: `cmd + ctrl + Z`
android: `cmd + m`### Todo
* move time selection to be number + am/pm picker
* add snooze## License
####
Copyright © 2017 Ben Brinckerhoff and Dan Mayer
Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.