Developer Guide
Backend
Install Guide
Install the latest version of Python.
Install PSQL and run CREATE USER chatlus;CREATE DATABASE app; in the PSQL terminal. This might be trickier so I need to update the install guide for this.
Clone the Git repo and run cd backend in your preferred code editor.
Run pip install -r requirements.txt to get the required dependencies installed.
Usage Guide
The API can be accessed currently at http://127.0.0.1:5000/<api_route>.
Clone the Git repo and run cd backend in your preferred code editor.
Run flask run to start the backend server.
Components
Database: SQLite file that lives in the /backend/ folder
Database Connector: Python script that connects the PSQL database to the rest of the backend.
Location Manager: Python script that interfaces with the Location API to pull map data and push it to the frontend.
User Manager: Python script that manages distributing and storing updates to users.
Chatroom Manager: Python script that manages distributing and storing updates to chatrooms.
User Validator: Python script that ensures users have permissions to access any particular resources (chatrooms, profiles, etc.)
Frontend
Technologies are currently Dart and Flutter, as well as Android Studio Goes in /frontend/
Prerequisites
Flutter (2.1GB)
Android Studio (1.4GB) + SDK (2.4GB) (And more.)
Install Guide
Install Flutter as described here: https://docs.flutter.dev/install/quick
Install Android Studio as described here: https://developer.android.com/studio/install
Set it up for use with Flutter as described here: https://docs.flutter.dev/platform-integration/android/setup
Test Instructions
Pull this repository and open it with your preferred Code Editor
Run
cd frontendin the terminal.Setup your device:
Run
flutter emulators --launch [Emulator_Name]to launch your Android EmulatorRun
???to connect to your actual phone.
Run
flutter runin the terminal to open your Android Emulator/Device and run the app.
Build Instructions
Pull this repository and open it with your preferred Code Editor
Run
cd frontendin the terminal.Run
flutter buildin the terminal to compile app.
Developer Goals
Scope of the project is to produce an application (and accompanying backend) that covers all possible User and System requirements as listed in Coursework Item 1.