BeckmannArmin / Masterarbeit-v2

Neugestaltung eines Tools zum operativen Projektmanagement à la Jira oder Wekan. Alles in einem Docker Image für leichtes Deployment in der Cloud oder lokal.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Repository for my master thesis in the field of human computer interaction.

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.

Below is the setup guide to run the application locally.


Development Setup

This sets up all needed software for developing backend server and Webapp.

Start Server for development of web app

Make sure you have the required software setup (see below).

This sets up a docker container with the DB and backend server:

  1. Open terminal and navigate to src folder inside project root
  2. 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
  1. To start and stop the server subsequently run (inside src):
    • Starting:
    docker-compose start
    
    • Stopping:
    docker-compose stop
    
  2. A PostgreSQL DB should now be available at localhost:5432
    • user: postgres
    • passwort: 123
    • db: postgres
  3. Also Adminer, a DB managemant tool, is available at localhost:8080
  4. REST API is available at localhost:3011
Optional:
  1. Install Postman and import beebusy.postman_collection.json from beebusy_server folder

Software Requirements and Setup

  • 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 and Dart plugins to enable syntax highlighting, automatic download of packages and extended support for debugging.

Docker

  1. Download and install Docker Desktop
  2. Make sure it works by running:
docker --version

Flutter & Android Studio

  1. Install Flutter & Anrdoid Studio

  2. Make sure path env variable is set correctly to flutter bin directory. Verify by running:

flutter --version
  1. Enable Flutter Web

or

flutter channel beta
flutter upgrade
flutter config --enable-web

IntelliJ

IntelliJ is needed to develop the server. You can also use another editor, but IntelliJ is recommended.

  1. Install IntelliJ

Aqueduct (Dart package)

For more information on aqueduct visit: https://aqueduct.io/docs/tour/

  1. If Flutter is installed correctly, the dart command tool should be available. To verify run:
dart --version
  1. Set the following env variables:
  • PUB_CACHE to pub cache bin directory, for example: C:\Users\your-user\AppData\Local\Pub\Cache
  • PUB_HOSTED_URL to https://pub.dev
  • Add to path env variable:
    • %PUB_CACHE%\bin
    • path-to-flutter\bin\cache\dart-sdk\bin
  1. Following command should be available:
pub --version
  1. Open terminal in project root folder and navigate to folder: src/beebusy_server

  2. Following command should be available:

pub run aqueduct --version
Optional:
  1. Install IntelliJ Templates for aqueduct

Beebusy-App (Web-App)

Navigate to the app directory

cd /path/to/beebusy/src/frontend
Get required flutter packages
flutter pub get
Generate autogenerated files

Generate files once:

flutter packages pub run build_runner build

Keep generating on save:

flutter packages pub run build_runner watch

Release Setup

Note

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

  1. Open terminal and navigate to src folder inside project root
cd /path/to/beebusy/src
  1. To start DB, Server and WebApp for the first time run:
docker-compose -f docker-compose-prod.yml up --build -d
  1. 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
    
  2. WebApp is available at localhost on port 80

About

Neugestaltung eines Tools zum operativen Projektmanagement à la Jira oder Wekan. Alles in einem Docker Image für leichtes Deployment in der Cloud oder lokal.


Languages

Language:Dart 99.1%Language:HTML 0.4%Language:Dockerfile 0.3%Language:Swift 0.1%Language:Shell 0.1%Language:Kotlin 0.0%Language:JavaScript 0.0%Language:Objective-C 0.0%