Git Product home page Git Product logo

smartmoderation2's Introduction

SmartModeration2

Studienarbeit SmartModeration2 - Smartphone peer-to-peer basierte App zur Unterstützung der Moderation von Konsensentscheidungen

SmartModeration is an app for Android devices that supports consensus-based decision-making. It has various functionalities, e.g.

  • Add contacts via scanning a QR code
  • Create groups
  • Create meetings
  • Create consensus proposals
  • Evaluate a consensus proposal and show the results of the evaluation
  • Display these results in a browser with the help of a webserver

Getting started

This installation guide is for Windows 10 and for any Android device with an API level of 23 or higher.

Install Android Studio

Download Android Studio and install it.
Make sure to select the option "Android virtual device" if you want to test the software on an emulated device later. installationoptions

Get the source code

If you are reading this README than you probably have access to the source code. You can download the lastest version here.

Open the project in Android Studio

Open Android Studio and click on "Open an existing project" and make sure to select SmartModeration/Briar as your project.
When you open the project Android Studio should automatically start the process "Sync Project with Gradle Files". You can also start this process by yourself by clicking File -> Sync Project with Gradle Files in the top menu.

It's possible that an error occurs during this process. Typically, the error is associated with the Gradle task "Could not create task ':smart-moderation-app:minifyOfficialReleaseWithR8'. This is a type of misleading error. In this case you are likely missing Android SKD 29, because Android Studio only installs SKD 30 by default.

Installing Android SDK

You need to open the SKD Manager and install SDK 29. You can open the SDK Manager by clicking Tools -> SDK Manager or File -> Settings -> Appearance & Behaviour -> System Settings -> Android SDK. Here you can select the necessarry SDK and download it. You can also open the SDK Manager without an open project. In the start screen you can hover over configure and select sdk manager from the menu.

opensdkmanager

Run on emulated device

To create an emulated device you need to open the AVD Manager with (Tools -> AVD Manager). Here you can click Create Virtual Device. In the upcomming window you can select your Android machine, e.g. Phone - Pixel 2. After that, you have to specify the SDK version of the device. For SmartModeration the minimum SDK version is 23, but the recommended version is 29. It is recommended not to test SmartModeration on an emulated device because a functional camera is needed for exchanging contact information via mutual scanning of QR codes. To achieve this, additional configurations would be needed, e.g. see Use camera in Android emulator.

Run on a real device [recommended]

To install and debug the app on a real device, you need an Android phone in developer mode.

Enabling developer mode

This can depend on the Android device you are using, but generally you will need to go to Settings. Here you select About Phone and tap the Builder Number 7 times. Once you've done that your phone will have developer options enabled. You will have a new option in your settings called Developer Options. In these settings you need to enable USB Debugging. Then you should be able to connect your phone to your PC via USB and see your phone show up in Android Studio as an available device.

Once you've build the project and have an available device, you should select that device and be able to click the Run button in Android Studio. This will build the app, install it on the selected device and run it on that device.

Note

Please make sure that Bluetooth is always actived on your device while using SmartModeration to guarantee a reliable communication between devices.

smartmoderation2's People

Contributors

lawand-allo avatar bigkahuna7385 avatar orat avatar andirh avatar danil-terehov avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

smartmoderation2's Issues

Gruppeneinladungen

Gruppeneinladungen nur versenden, wenn Verbinung zum Netzwerk vorhanden.

  • Prüfen, wie lange der Delete-Timer ist und korrekt einstellen

UI design Desktop App

  • Sammeln der Funktionen die es gibt
  • Sammeln welche in der Desktop App umgesetzt werden sollen

GUI der Android App auf Desktop übertragen

API erweitern

  • Client aus Desktop-App entfernen
  • ModerationCads-Endpunkt in Android entfernen
  • ModerationCards auf Array umstellen
  • Author ergänzen in Desktop App
  • Delete von Moderation Card aus Desktop App

MainWindow: Server aus MainWindow in SmartModeration | ModerationCardContoller: alle ModerationCard Funktionalität aus MainWindow entfernen und hierher umziehen. | LoginController: Alle Loginfunktionalität hier sammeln isLineDrawn und hasLineDistance -> LineDrawer

  • MainWindow: Server aus MainWindow in SmartModeration
  • ModerationCardContoller: alle ModerationCard Funktionalität aus MainWindow entfernen und hierher umziehen.
  • LoginController: Alle Loginfunktionalität hier sammeln
  • isLineDrawn und hasLineDistance -> LineDrawer

moderationcardcontroller aufsplitten in createModerationcardController und ModerationCarddetailcontroller | createmoderationcard(view klasse) und editmoderationcard ins jeweilige package umziehen | package overview for moderationcardsfragment and moderationcardadapter | cardcolorimporter and qrscanner in package moderationCard | client = ((SmartModerationApplicationImpl) SmartModerationApplicationImpl.getApp()).getClient();for editmoderationcard and createmoderationcard

  • moderationcardcontroller aufsplitten in createModerationcardController und ModerationCarddetailcontroller
  • createmoderationcard(view klasse) und editmoderationcard ins jeweilige package umziehen
  • package overview for moderationcardsfragment and moderationcardadapter
  • cardcolorimporter and qrscanner in package moderationCard
  • client = ((SmartModerationApplicationImpl) SmartModerationApplicationImpl.getApp()).getClient();for editmoderationcard and createmoderationcard

Tests für Android App

  • Neue Klasse erstellen, die den SmartModerationController ersetzt und ohne Vererbung arbeiten
  • Moderationskarten erstellen
  • Moderationskarten ändern
  • Moderationskarten löschen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.