Accept a photo from the client (frontend), send to the Flask server (backend), process image (perform Optical Character Recognition) and return result to client
Design decision:
- should the client call DeepL API to translate or should the backend do this as part of image processing
Expo frontend (React Native framework running with npm) Flask backend (b/c it's python)
Tutorials
- Main tutorial (getting/sending photo to Flask backend from Expo app) https://narainsreehith.medium.com/upload-image-video-to-flask-backend-from-react-native-app-expo-app-1aac5653d344
- Setting up python venv https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment
- Installing python3 in gitbash on Windows https://programmingwithjim.wordpress.com/2020/09/08/installing-python-3-in-git-bash-on-windows-10/
- Android Studio/Android 11 SDK https://developer.android.com/about/versions/11/setup-sdk#get-sdk
source v_env/Scripts/activate
deactivate
- if there are errors, try
npm install
- Need to install Android Studio or IOS simulator
- To support web, may have to run the command
npx expo install react-native-web@~0.18.10 [email protected] @expo/webpack-config@^18.0.1
or callnpm install
on each module
Navigate to frontend/expo-app and run one of the following npm commands
cd expo-app
npm start
you can open iOS, Android, or web from here, or run them directly with the commands below.npm run android
npm run ios
requires an iOS device or macOS for access to an iOS simulatornpm run web