The goal of this master thesis is the technical conception and implementation of an optimized mobile user interface of the existing application prototype "beebusy" for mobile, operative task management in projects.
This sets up all needed software for developing backend server and Webapp.
Make sure you have the required software setup (see below).
This sets up a docker container with the DB and backend server:
- Open terminal and navigate to src folder inside project root
- To start DB, Adminer and Server for the first time run (inside src):
cd backend/.docker
docker-compose up
and (inside src)
cd frontend/.docker
docker-compose up
- To start and stop the server subsequently run (inside src):
- Starting:
docker-compose start
- Stopping:
docker-compose stop
- A PostgreSQL DB should now be available at
localhost:5432
- user: postgres
- passwort: 123
- db: postgres
- Also Adminer, a DB managemant tool, is available at
localhost:8080
- REST API is available at
localhost:3011
- Install Postman and import
beebusy.postman_collection.json
from beebusy_server folder
- Docker - needed for Development of Webapp and Backend server
- Flutter & Android Studio - needed for Development of Webapp
- IntelliJ - needed for Development of Backend server
- Aqueduct (Dart package) - needed for Development of Backend server
NOTE:
Android-Studio or IntelliJ will work. Install the
Flutter
andDart
plugins to enable syntax highlighting, automatic download of packages and extended support for debugging.
- Download and install Docker Desktop
- Make sure it works by running:
docker --version
-
Install Flutter & Anrdoid Studio
-
Make sure path env variable is set correctly to flutter bin directory. Verify by running:
flutter --version
- Enable Flutter Web
- Follow the instructions on: https://flutter.dev/docs/get-started/web
or
flutter channel beta
flutter upgrade
flutter config --enable-web
IntelliJ is needed to develop the server. You can also use another editor, but IntelliJ is recommended.
- Install IntelliJ
For more information on aqueduct visit: https://aqueduct.io/docs/tour/
- If Flutter is installed correctly, the dart command tool should be available. To verify run:
dart --version
- Set the following env variables:
PUB_CACHE
to pub cache bin directory, for example: C:\Users\your-user\AppData\Local\Pub\CachePUB_HOSTED_URL
to https://pub.dev- Add to path env variable:
- %PUB_CACHE%\bin
- path-to-flutter\bin\cache\dart-sdk\bin
- Following command should be available:
pub --version
-
Open terminal in project root folder and navigate to folder: src/beebusy_server
-
Following command should be available:
pub run aqueduct --version
- Install IntelliJ Templates for aqueduct
Navigate to the app directory
cd /path/to/beebusy/src/frontend
flutter pub get
Generate files once:
flutter packages pub run build_runner build
Keep generating on save:
flutter packages pub run build_runner watch
Can't start development and release at the same time. Only docker needs to be installed to start a release version of the app. See: https://www.docker.com/get-started
- Open terminal and navigate to src folder inside project root
cd /path/to/beebusy/src
- To start DB, Server and WebApp for the first time run:
docker-compose -f docker-compose-prod.yml up --build -d
- To start and stop the server subsequently run (inside src):
- Starting:
docker-compose -f docker-compose-prod.yml start
- Stopping:
docker-compose -f docker-compose-prod.yml stop
- WebApp is available at
localhost
on port 80