Skip to content

Commit

Permalink
General: Add documentation for native Android application (ls1intum#6610
Browse files Browse the repository at this point in the history
)
  • Loading branch information
TimOrtel authored Jun 1, 2023
1 parent 2a76a81 commit b77b160
Show file tree
Hide file tree
Showing 7 changed files with 106 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ All these exercises are supposed to be run either live in the lecture with insta
user/courses/customizable
user/scaling
user/markdown-support
user/native-applications


.. toctree::
Expand Down
105 changes: 105 additions & 0 deletions docs/user/native-applications.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
.. _native_applications:

Native Applications
===================

.. contents:: Content of this document
:local:
:depth: 2

Overview
--------

Artemis supports native mobile applications available for both `Android <https://github.com/ls1intum/artemis-android>`_ and `iOS <https://github.com/ls1intum/artemis-ios>`_. We designed them to be applicable in lecture usage. Users can, for example, participate in quizzes and write questions. Furthermore, they can communicate with each other.

Both apps use native user interface components and are adapted to their associated operating system. Therefore, they can differ in their usage.

The mobile applications have been designed to be compatible with all Artemis instances. Therefore, users of all Artemis instances can use the mobile application provided by us. Nevertheless, it is possible to fork our repositories and release your own versions of the native applications.

Below, we only explain the functionalities of the native applications that differ or are not present in the web application. For all other features, which are supported by both the native applications and the web application, please refer to their associated documentation.


Android Application
-------------------

The Android application supports the following features:

#. Login and register:
#. Select predefined and custom Artemis servers
#. New user registration
#. Login with password + Saml2
#. View your courses:
#. Register in new courses
#. View courses you have already registered for
#. View the exercises of your courses:
#. View exercise details and problem statement
#. View submission feedback
#. Participate in text exercises (view, edit and submit submissions)
#. Participate in quizzes:
#. Participate in live quizzes
#. Practice quizzes
#. View quiz results
#. Communicate in Q&A forum:
#. Create new posts
#. Write replies
#. Add emoji reactions
#. Receive push notifications:
#. Optionally opt in and out of push notifications
#. Choose which notifications you want to receive as push notifications

Installation
^^^^^^^^^^^^

The Android application is currently only available in beta state and can be downloaded over `Firebase App Distribution <https://appdistribution.firebase.dev/i/f5dedbb0fc6dc0da>`_. Make sure to follow the steps described by Firebase App Distribution to install the application.

Server Selection
^^^^^^^^^^^^^^^^

After installation, users have to first decide which Artemis server they want to connect to. Per default, the user can choose between the following instances:

* TUM: https://artemis.cit.tum.de
* Codeablity: https://artemis.codeability.uibk.ac.at
* KIT: https://artemis.praktomat.cs.kit.edu

Furthermore, users have the option to select a custom instance. To do this, scroll down the list of servers to the bottom. Then, select "custom instance":

|server-selection-overview|

Then, enter the URL of the server as you would enter it into the browser:

|custom-server-entered|

The "Set custom instance" button will be enabled if the client could connect successfully to Artemis.

Push Notifications
^^^^^^^^^^^^^^^^^^
Users may receive push notifications on their Android clients. When first logging in to an Artemis instance, users will be asked if they want to receive push notifications on that device.

.. image:: native-applications/android/initial_login_notification_configuration.png
:width: 300

When logged in, users can navigate to the application settings to change their push notification settings:

.. image:: native-applications/android/settings_push.png
:width: 300

In this screen, users can enable/disable push notifications for this device and also choose which notification types they want to receive.

.. image:: native-applications/android/settings_push_detail.png
:width: 300

Problems
^^^^^^^^

Please report any issues on the `GitHub repository <https://github.com/ls1intum/artemis-android/issues>`_.

.. |server-selection-overview| image:: native-applications/android/server_selection_overview.png
:width: 300

.. |custom-server-entered| image:: native-applications/android/custom_server_entered.png
:width: 300

iOS Application
---------------

Coming soon.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b77b160

Please sign in to comment.