Eine Art Quizduell programmieren mit Web- als auch Android-Applikation? Server?Programmiersprachen?Zeit?Komplexität?

2 Antworten

Ich soll eine Art Quizduell als Webapplikation und App (für Android) programmieren.

Du brauchst also:

  • Eine Clientanwendung für Android
  • Eine Clientanwendung für den Browser
  • Eine Schnittstelle zum LMS
  • Eine Serveranwendung, die ein Spiel zwischen zwei Clients verwaltet (Teilnehmersuche, Generierung der Fragen, Punkteverteilung).

Die größte Komplexität wird natürlich in der Serveranwendung liegen. Du solltest den Ablauf so eines Spiels einmal schrittweise beschreiben. Dabei kannst du auch schon schauen, wo du Anforderungen zurücknehmen kannst, um die Implementation zu vereinfachen.

Beginne auf jeden Fall mit einem Plan, denn ohne geht es eher schief und kostet dich Zeit. Die Umsetzung der Clients / grafischen Oberflächen würde ich nach hinten schieben. Die reine Anwendungs-/Spiellogik ist von größerer Relevanz.

Bezüglich der Clients könntest du es dir vielleicht etwas einfacher machen, indem du die Webseite, die du erstellst via WebView-Komponente (so eine gibt es in vielen GUI-Toolkits für Android) einfach nur in die App einbindest. Du könntest Java für dein Vorhaben verwenden (z.B. JSF für die Webanwendung, um es einfach zu halten und Android-Apps lassen sich ja grundlegend mit Java zusammenbauen).

Ansonsten wäre es natürlich praktisch, Tools zu verwenden, die sich möglichst für beide Clientimplementationen anwenden lassen (z.B. Flutter oder React Native/React Native for Web).

Die Serveranwendung könntest du auch gleich über den Webserver laufen lassen, der auch die Webseite bedient. Die App kann via HTTP/S mit diesem kommunizieren. Bei einer Wahl zu Flutter wäre Dart und bei React hingegen JavaScript (auf Node.js-Basis) geeignet. Zu letztgenannter Option wirst du sehr wahrscheinlich mehr Material finden.

Wie viel Zeit könnte ich ungefähr brauchen für das ganze Projekt?

Neben Analyse, Implementation und Test hast du natürlich nochmal grundsätzlichen Lernaufwand. Deinem Text entnehme ich zwar, dass du im Programmieren kein absoluter Neuling bist, doch lässt sich dein Kenntnissstand dennoch nicht gut einschätzen. Daher noch ein Rat: Orientiere dich an dem, was du schon kannst. Du kommst zwar nicht daran vorbei, dich mit neuen Themen beschäftigen zu müssen, doch es wäre von Vorteil, diesen Lernaufwand wo möglich zu reduzieren.

Den Aufwand für das Projekt würde ich grob auf zwei (maximal drei) Monate schätzen, da ich davon ausgehe, dass dir einiges noch völlig neu sein wird. Als schwierig würde ich es trotzdem nicht werten.

Da du das für deine Bachelorarbeit einplanst, wäre es wohl von Vorteil, schon im Voraus mit einigen Vorbereitungen zu beginnen (passende Tools suchen, relevante Wissenslücken schließen, ein paar Dinge austesten).

Des Weiteren darfst du nicht vergessen, dass du für deine Arbeit auch einen erheblichen schriftlichen Teil beisteuern musst, der ebenfalls einiges an Recherche/Zeit in Anspruch nehmen wird (Belegung von Aussagen mit Zitaten, etc.). Hinzu kommen vielleicht unerwartete Hürden (z.B. ein hinsichtlich Fragen wortkarger Prüfer, Probleme beim Druck, u.ä.). Neun Wochen können da schnell knapp werden.


AnoNymous436 
Fragesteller
 12.02.2021, 14:17

Wow, vielen Dank für die unglaublich ausführliche Antwort. Das hilft mir schon so viel weiter das ganze besser einschätzen zu können.

Genau das was ich aus deiner Antwort entnehme ist meine größte Angst, dass ich es zeitlich einfach nicht schaffe und am Ende kein fertiges Projekt abliefern kann.

Mir fällt es auch sehr schwer das richtige Thema für die Bachelorarbeit zu finden. Theorie wäre wahrscheinlich viel leichter und mit etwas Zeit kommt da schon irgendwie zu einem Ergebnis. Ich würde viel lieber etwas praktisches machen, weil das einfach viel spannender ist. Da ich aber wirklich keine großen praktischen Erfahrung habe (außer ein wenig mit Python), weiß ich nicht ob ich mir ein Programmier Projekt für die Bachelorarbeit aussuchen sollte.

Ich habe auch noch andere praktische Projekte vorgeschlagen bekommen wie VR oder AR Projekte, sowas wie Möbel in AR im Raum darstellen o.ä.

Für mich klingt das mit dem Quizduell am spannendsten, weil ich die App an sich total cool finde und sowas ähnliches nachzubauen einfach mega spannend wäre. Andererseits wäre es doof total überfordert zu sein und nichts abliefern zu können. Ich weiß nicht, was ich machen sollte 😅.

0
regex9  13.02.2021, 01:49
@AnoNymous436

Bei einem praktischen Projekt hast du immerhin den Vorteil, leicht einen roten Faden zu finden.

Schau dir doch einfach React Native an und teste ein wenig.

1
AnoNymous436 
Fragesteller
 13.02.2021, 18:52
@regex9

Ist es damit möglich gleichzeitig eine Web-Applikation als auch eine App zu programmieren? Oder mit welcher Programmiersprache wäre es am sinnvollsten?

0
regex9  13.02.2021, 20:05
@AnoNymous436

Es würde auch ausreichen, nur eine Webseite zu entwickeln. Auf mobilen Endgeräten lässt sich schließlich ebenfalls ein Webbrowser installieren (oder man bindet die Webseite wie schon geschrieben via WebView in eine App ein). Außerdem gibt es das Konzept der PWA-App (How-To). Der Nutzer kann sich die Webseite als eine Art Lesezeichen abspeichern. Solche Anwendungen stellen zwar keine vollständig native App dar (die auf sämtliche gerätgebundene Funktionalitäten Zugriff hat), doch für dein Vorhaben sollte es ausreichen.

0

Die Programmierer vom original QuizDuell waren zu viert und haben drei Jahre gebraucht.


AnoNymous436 
Fragesteller
 11.02.2021, 22:04

Oh ganz schön lange. Ich überlege das Thema für meine Bachelorarbeit zu nehmen, wo ich 9 Wochen Zeit habe für das ganze Projekt. Es soll ja nichts zu komplexes sein, also wirklich nur eine Oberfläche wo 2 Spieler online gegeneinander Fragen beantworten, welche das System aus bereits bestehenden Karteikarten nimmt.

Meinst du das ist in der Zeit machbar, kennst du dich ein wenig mit der Materie aus?

Vielen Dank schon mal für die Antwort.

0