Skip to content
This repository has been archived by the owner on Jan 17, 2020. It is now read-only.
/ hive Public archive

Your go-to routing app for public transport

License

Notifications You must be signed in to change notification settings

hiposfer/hive

Repository files navigation

hive

Your go-to public transport routing app

requirements

development

# install js modules
yarn install

# signup using exp CLI
yarn run expo signup

# start the figwheel server and cljs repl 
lein figwheel

in another terminal

## Start exponent server
yarn run expo start

Once you have a figwheel and exp server running. Open the expo app in your mobile device and scan the QR code shown in the terminal where exp is running.

From now on everytime that you make a change to the source code, figwheel will automatically reload the changes

Beware that react native shows warning as small yellow boxes at the bottom of the screen and error as a full red screen

how to

add new assets or external modules

  • require the module
(def cljs-logo (js/require "./resources/images/cljs.png"))
(def FontAwesome (js/require "@expo/vector-icons/FontAwesome"))
  • reload simulator or device

Notes

  • make sure you disable live reload from the Developer Menu, also turn off Hot Module Reload. Since Figwheel already does those.

  • production build (generates js/externs.js and main.js)

lein simple-release
  • this project uses the fantastic expo template from @seantempesta. In case of any doubt about the build process, please refer to his documentation

  • check the React Native docs when in doubt

  • the Expo documentation will become your best friend

  • please check the hive.rework.core namespace for more information on how the app is architectured.

known problems

  • we are currently using a very outdated version of react native and expo. We are working on it.
  • sometimes the metro packager cannot properly find the source files. In such cases you see an error in the terminal like 10:59:42 [exp] NotFoundError: Cannot find entry file target/expo/reagent/impl/template.js.js in any of the roots: ["/Users/Camilo/Proyectos/hive"]. To solve it, simply run patch node_modules/metro/src/Server/index.js resources/metro.patch