This is a prototype and must not be used in practice under any circumstances! The developers of this application do not take any responsibility, legal or otherwise, of using this application!
This project is a client application for PoliisiautoServer. It is an application where users can report bullying to a trusted adult.
Whenever new commits are pushed to master branch, an automated pipeline will build an installable .apk file to build artifacts. Downloading this .apk file to your (Android) smartphone allows you to install the app for demoing purposes. Steps: 1. Find the .apk file by clicking the green check mark above the repository files (screenshot below) .apk file is found in Artifacts -section. Download it. 2. Go to downloads file location on your phone and click the downloaded file. 3. You may need to allow installing from unknown sources from your phone's settings. Usually phones prompt you to do this when installing such app. 4. App is installed
This project is made using Flutter and is targeted mainly to Android, but should also work on iOS. Flutter offers a good documentation on how to set up a development environment for it. We recommend using Visual Studio Code with Flutter extension(s) since it has proven to be a very well functioning setup. Straight up Android Studio set up with flutter and dart extensions has also been tested and it works.
You'll also need a device to test on. Most likely you want to use an Android emulator running on the same machine as the editor. Flutter documentation has a tutorial for setting up Android Studio for that purpose.
To use the system in a testing environment, you must first set up the server. Easiest is to set up a local development server using any solution proposed in the Laravel documentation. For example, you can use Docker, Homestead, Valet or your own custom setup. When the server is running, the API is then available in /api/v1 as defined in the API routing file. You also need to create a database and run the migrations. The setup is thestandard setup for Laravel applications and there are a lot of guides for such setup. One simplified version is available in the README of the server repository. It is recommended to test the API without the mobile application first using a HTTP client such as Postman. In the header of the API description is a button “Run in Postman”, which opens a new Postman session with pre-defined requests that match the API endpoints. The application can be tested against the server using an Android virtual device or your own smartphone. Flutter documentation has a step-by-step guide for such a setup. Before running the mobile application, you need to update the API endpoint to match your own server. This is done on top of the API wrapper, located in lib/src/api.dart:
/// initialize the global API accessor
PoliisiautoApi api = PoliisiautoApi(host: 'http://poliisiauto.local, version: 'v1');
As the above snippet shows, you need to provide the API’s hostname and version. The version should match to the API version defined in the server’s API routing file – it can probably be left to v1. The host name should be your PoliisiautoServer’s hostname, such as http://localhost:8080 or http://poliisiauto.local. After these steps, you can run and start testing the application.
Feedback | Possible steps | Steps implemented |
---|---|---|
Report making overly complex | Report streamlining, one question at a time. Possibly audio input | Report making streamlined to present one question at a time. Speech to text button implemented. |
Sign out -button hard to find | Make it visible in frontpage | Made it visible in frontpage |
Visual outlook could be better |
- New UI design for frontpage
- New UI design for reporting pipeline
- Documentation improvements
- Improvements for help section
- Improvements for emergency section
- GitHub pipeline for automated .apk build
- Generating realistic test data using Python fakerlib (needs to be improved after more post methods have been added)
- Add missing post methods
- Improve realistic test data generation
- Make it so latest report appears at the front page, currently it has a placeholder text
- Acquire a server
PoliisiautoApp is licensed under a 2-clause BSD license. See LICENSE for more details.