0. Getting Started - gty929/IMAGician GitHub Wiki
App Front End Third-Party Dependencies
- Android's cryptographic facilities: used for all cryptographic tasks, including encryption/decryption, randomization, and hashing.
- OkHttp: used for multipart/form-data upload.
App Deployment
-
Open AndroidApp in Android Studio
-
Select
AVD Manager
on Android Studio's main menu bar and choose aPhone
device according to this tutorial. -
Click the Run 'app' button to build and run the project on the device you selected.
Server Back End Third-Party Dependencies
- SQLite: database that stores all backend persistent data.
- Flask web framework: web framework for the back end application.
- Gunicorn: serves as a WSGI application server that bridges the web server and the application.
- Nginx: accepts requests, takes care of general domain logic, and takes care of handling HTTP connections.
- hashlib: used for storing user passwords.
- uuid: used for generating salt for password hashes and unique folders.
Server Deployment
- Install and configure Nginx according to this tutorial.
- Clone this GitHub repo to the machine that you wish to run the server on.
- Open up a new bash terminal with server as the current directory. (
cd IMAGician/server
) - Run
./scripts/IMAGician_install
to install all the dependencies and activate the environment. - Run
./scripts/IMAGician_run
to run the server. - Update to HTTPS traffic according to this tutorial
Currently, the server is hosted at https://3.84.195.179/ . The self-signed certificate can be found here