Mobile app using the kivy framework for the Rein decentralized freelance market
To compile this application for use on Android, install the latest version of the packaging tool Buildozer. Follow the steps outlined here. Then, install all necessary python dependencies by running pip install -r requirements.txt
(on Linux use source pip_install.sh
, which will skip Windows-only dependencies). Lastly, run buildozer android_new debug
.
Please note that to run Kivy on your PC, perhaps also to compile the app successfully, additional dependencies may have to be downloaded. Please refer to Kivy's official documentation for further information.
Firstly, clone this repository. Follow the official kivy documentation linked above to install all necessary prerequisites, then install all necessary python modules as outlined in requirements.txt via pip.
You should now be able to launch the application by running main.py.
To properly test the functionality you will have to run a local causeway-v2 server. Clone the most recent version of the repo found here, and install all necessary prerequisites.
Next, you will have to run a local MongoDB server. You can find an installation guide and further help for MongoDB here.
Once you are running a MongoDB server, you will need to create a new database called "causeway-v2-test" and add collections named "jobs" and "users". Both collections, for the purpose of this test, can be populated using sample data provided in /data/test.
Now that our database is up and running, you can run causeway's route.py to launch a causeway server.
Upon restarting kivy-rein, the message telling us that no server is available should now be gone. You can now import the test identity using the delegate private key in /data/test/userdocument.txt.
Prior to Android-specific testing you will need to follow all the steps outlined above for testing on a PC.
If you are testing on an emulator that is using the same IP address as your causeway server (if causeway can be accessed as localhost from your emulator), you will simply have to set up buildozer, compile the application into an apk as outlined above and run on your emulator.
If you are testing on a separate device, however, you will need to make sure your causeway server is visible to other IP addresses, by using app.run(host='0.0.0.0') in causeway's route.py. Then, you will have to find out your external IP address, add it to KNOWN_SERVERS in /functionality/queries.py and only then will you be able to compile the application and run it successfully on your Android device.