Skip to content

Commit

Permalink
Documentation: Restructure and add contributor and administrator guid…
Browse files Browse the repository at this point in the history
…e sections (#246)
  • Loading branch information
terlan98 authored Nov 6, 2023
1 parent 82bba75 commit b4bdcf7
Show file tree
Hide file tree
Showing 44 changed files with 284 additions and 431 deletions.
17 changes: 0 additions & 17 deletions Themis.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@
E536EAD1297458240078E077 /* SwiftUIReorderableForEach in Frameworks */ = {isa = PBXBuildFile; productRef = E536EAD0297458240078E077 /* SwiftUIReorderableForEach */; };
E536EAD3298C00380078E077 /* DateTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E536EAD2298C00380078E077 /* DateTimelineView.swift */; };
E58C68062935037C008E6FEE /* EditFeedbackViewBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58C68052935037C008E6FEE /* EditFeedbackViewBase.swift */; };
F9032CA5294A159700B2DED5 /* CachedAsyncImage in Frameworks */ = {isa = PBXBuildFile; productRef = F9032CA4294A159700B2DED5 /* CachedAsyncImage */; };
F922443A297BFD1A008E4374 /* CircularProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9224439297BFD1A008E4374 /* CircularProgressView.swift */; };
F958C4DE29887DE800E70669 /* ShakeEffect.swift in Sources */ = {isa = PBXBuildFile; fileRef = F958C4DD29887DE800E70669 /* ShakeEffect.swift */; };
/* End PBXBuildFile section */
Expand Down Expand Up @@ -426,7 +425,6 @@
E536EAD1297458240078E077 /* SwiftUIReorderableForEach in Frameworks */,
657534B22A0F7A52004B0C3F /* DesignLibrary in Frameworks */,
657534AC2A0F7A52004B0C3F /* Account in Frameworks */,
F9032CA5294A159700B2DED5 /* CachedAsyncImage in Frameworks */,
6564DC0E2A00EFFC00CF2F89 /* SharedModels in Frameworks */,
06A99D3F2A94D99000E48066 /* Starscream in Frameworks */,
);
Expand Down Expand Up @@ -1181,7 +1179,6 @@
name = Themis;
packageProductDependencies = (
E2192EE0291E6F780092CE58 /* KeychainAccess */,
F9032CA4294A159700B2DED5 /* CachedAsyncImage */,
E2E3852929437F9100F5854D /* CodeEditor */,
E536EAD0297458240078E077 /* SwiftUIReorderableForEach */,
657534A92A0F7A52004B0C3F /* APIClient */,
Expand Down Expand Up @@ -1271,7 +1268,6 @@
mainGroup = 83396D2129155934003EF727;
packageReferences = (
E2192EDF291E6F780092CE58 /* XCRemoteSwiftPackageReference "KeychainAccess" */,
F9032CA3294A159700B2DED5 /* XCRemoteSwiftPackageReference "swiftui-cached-async-image" */,
E2E3852829437F9100F5854D /* XCRemoteSwiftPackageReference "CodeEditor" */,
E536EACF297458240078E077 /* XCRemoteSwiftPackageReference "swiftui-reorderable-foreach" */,
657534A82A0F7A52004B0C3F /* XCRemoteSwiftPackageReference "artemis-ios-core-modules" */,
Expand Down Expand Up @@ -1903,14 +1899,6 @@
kind = branch;
};
};
F9032CA3294A159700B2DED5 /* XCRemoteSwiftPackageReference "swiftui-cached-async-image" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/lorenzofiamingo/swiftui-cached-async-image";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.0.0;
};
};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
Expand Down Expand Up @@ -1999,11 +1987,6 @@
package = E536EACF297458240078E077 /* XCRemoteSwiftPackageReference "swiftui-reorderable-foreach" */;
productName = SwiftUIReorderableForEach;
};
F9032CA4294A159700B2DED5 /* CachedAsyncImage */ = {
isa = XCSwiftPackageProductDependency;
package = F9032CA3294A159700B2DED5 /* XCRemoteSwiftPackageReference "swiftui-cached-async-image" */;
productName = CachedAsyncImage;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 83396D2229155934003EF727 /* Project object */;
Expand Down
13 changes: 11 additions & 2 deletions docs/admin/app/infrastructure.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
Infrastructure Setup
===========================================

.. Describe the setup of the infrastructure in terms of hardware, software and protocols so it can be configured by a system administrator at the client site. This include virtual machines, software packages etc. You can reuse the deployment diagram from the section Hardware/Software Mapping. Describe the installation and startup order for each component. You can reuse the use cases from the section Boundary Conditions. For example: If you have used docker reuse the Docker installation instructions from the cross project space.
.. Describe the setup of the infrastructure in terms of hardware, software and protocols so it can be configured by a
.. system administrator at the client site. This include virtual machines, software packages etc. You can reuse the
.. deployment diagram from the section Hardware/Software Mapping. Describe the installation and startup order for each
.. component. You can reuse the use cases from the section Boundary Conditions. For example: If you have used docker
.. reuse the Docker installation instructions from the cross project space.
Themis needs to connect to an Artemis server instance to operate. The deployment diagram below can be useful to
understand the infrastructure:

.. image:: /contributor/system-design/images/deployment_diagram.png

The app can be installed on iPads via `TestFlight`_. Therefore, it requires TestFlight to be installed on the iPad and the user
to be part of at least one group, either via Apple-ID or via public TestFlight link. The only formal requirement is iPadOS 16.
to be part of at least one group, either via Apple-ID or via public TestFlight link. The only formal requirement is iPadOS 17.

Apart from that, the iPad app can also be tested via XCode and its integrated Simulator. To prevent entering the Artemis
credentials every time rebuilding the app while testing, just add them to your XCode environment variables. For that, click on
Expand Down
31 changes: 14 additions & 17 deletions docs/admin/app/third-party.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ Introduction
The Themis iPad App utilizes a number of open-source libraries to enhance its functionality and provide a seamless user experience.
This provides an overview of the libraries used in the Themis iPad App.

ArtemisCore
-----------
The ArtemisCore library contains components that are common to all Artemis-related iOS clients.
Themis depends on this library for authentication, service layer calls, models, and some shared UI elements.

Library repository: https://github.com/ls1intum/artemis-ios-core-modules

KeychainAccess
--------------

Expand All @@ -16,21 +23,13 @@ KeychainAccess provides a simple and secure way to store data in the iOS Keychai

Library repository: https://github.com/kishikawakatsumi/KeychainAccess (master branch)


SwiftUI-Cached-AsyncImage
-------------------------

The SwiftUI-Cached-AsyncImage library provides an easy way to load and cache images asynchronously in SwiftUI.
This library is used in the Themis iPad App to display UML-Diagrams in a fast and efficient manner.

Library repository: https://github.com/lorenzofiamingo/swiftui-cached-async-image (2.1.1 - Next Major)

CodeEditor
----------

The CodeEditor library is a customizable and extensible code editor component for SwiftUI. The
library is used in the Themis iPad App to provide a code editor for the user to read Code.
It was modified locally in order to select and give feedback in the Code Editor
It was modified locally in order to support inline feedback. It is also reused for performing
text exercise assessments.

Library repository: https://github.com/ZeeZide/CodeEditor.git (locally modified)

Expand All @@ -42,11 +41,9 @@ This library is used in the Themis iPad App to provide the user with the ability

Library repository: https://github.com/globulus/swiftui-reorderable-foreach (main branch)

SwiftUI-Shimmer
-------------------------
SwiftUI-Shimmer is used for the implementation of skeleton loading. Views that are shown as
placeholders while loading content are animated using this library.

Swift-Markdown-ui
-----------------

The Swift-Markdown-ui library is used to parse and display markdown content in a SwiftUI app.
This library is used in the Themis iPad App to display markdown content from Artemis in a clean and formatted manner.

Library repository: https://github.com/gonzalezreal/swift-markdown-ui (2.0.0 - next major)
Library repository: https://github.com/markiv/SwiftUI-Shimmer
3 changes: 3 additions & 0 deletions docs/admin/issues.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Known Issues and Workarounds
===========================================
.. TODO: Remove once Athena is fully integrated
*The information below will be removed once feedback suggestions are completely integrated into
Artemis.*

The feedback suggestion server ThemisML currently only works with Java projects.
This should be easy to fix by creating an ANTLR grammar for every additional language to support and configuring the codeBERT similarity comparison accordingly.
Expand Down
3 changes: 3 additions & 0 deletions docs/admin/themisml/index.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
ThemisML
===========================================

.. TODO: Remove once Athena is fully integrated
.. note:: *This section will be removed once feedback suggestions are completely integrated into Artemis.*

.. toctree::
:includehidden:

Expand Down
22 changes: 0 additions & 22 deletions docs/analysis/analysis-object-model.rst

This file was deleted.

60 changes: 0 additions & 60 deletions docs/analysis/dynamic-model.rst

This file was deleted.

Loading

0 comments on commit b4bdcf7

Please sign in to comment.