Eigene Forensoftware entwickeln

lord_haffi

Mitglied
Tach Leude (oder wohl eher Nacht, hehe),

Wie man schon am Titel erkennen kann, habe ich vor, in näherer Zukunft eine eigene Forensoftware zu programmieren (jetzt nicht speziell für diese Community, sie soll möglichst anpassungsfähig sein). Da hier schon im Raum stand, eine eigene Software zu entwickeln, und ich jetzt von anderer Seite auch schon "eine Anfrage" erhalten habe, dachte ich mir, packe ich das direkt unter einen Hut. (Das ganze wäre dann später Open Source auf GitHub, ich hatte vor das ganze mit Django zu basteln. Wenn jmd geeignetere Technologien kennt, immer raus damit ^^)
Wie auch immer, ich habe mir nun die Frage gestellt, was so eine Software alles können muss / soll. Wenn ihr Ergänzungen / Verbesserungsvorschläge zu meinen folgenden Überlegungen habt, würde ich mich sehr darüber freuen :)
  • Profildaten: Username (UNIQUE), Password(-hash), E-Mail-Adresse (UNIQUE), Registrierungsdatum, Profilbeschreibung, Profilbild, Geburtstag, Wohnort, Verknüpfte Konten, Website, Signatur, versch. Privatsphäreeinstellungen
  • Die Forensoftware soll in erster Linie tagbasiert sein. D.h. es soll keine Unterforen im klassischen Sinne geben, sondern die Threads werden anhand der Tags klassifiziert.
  • Von jedem User können Threads erstellt werden. Threads können bei Erstellung (und danach) mit vordefinierten Tags versehen werden, die dazu dienen, den Thread im Forum "sichtbar" zu machen. Der Thread besteht immer aus einem ersten Post und möglichen Antworten, die gepostet werden können. Hierbei soll es aber unterschiedliche Threadtypen geben, im folgenden als Flag betitelt.
  • Beispiele für Thread-Flags: Frage, Diskussion, Werbung (wenn jmd beispielsweise für ein eigenes Projekt werben oder einfach Code vorstellen möchte. Ggf. sollte man diesen Flag umbenennen, mir ist auf Anhieb jetzt nichts sinnigeres eingefallen), Jobangebot / -nachfrage (Festanstellungen o. Aufträge möglich), etc. (natürlich frei erweiterbar / wählbar, für dieses Forum könnte man beispielsweise einen Flag / eine Kategorie einführen, die einer Ressource nahekommt, Werbung passt das schließlich nicht so ganz)
  • Hierbei sollen dementsprechend die Threads je nach Flag strukturell anpassbar sein. Z.B. stelle ich mir einen Frage-Thread so ähnlich wie auf StackOverflow vor (mit Möglichkeit für Kurz-Antworten und Sortierung der "Haupt"-Antworten nach Upvotes), während ein Diskussions-Thread "ganz normal" aussehen soll.
  • Beispiele für Thread-Tags: Java, C, Webentwicklung, Bug, Boardangelegenheit, Sonstiges, etc.
  • Zusätzlich soll die Sichtbarkeit eines Threads durch den Ersteller eingeschränkt werden können, je nach Rangberechtigung. So sollen Mods z.B. Threads erstellen können, die nur für Mods sichtbar sind. Es soll aber auch dem Ersteller möglich sein, bestimmte User für einen Thread auf eine Blacklist oder eine Whitelist setzen zu können. Letzteres würde den Unterhaltungen bzw. DM's in XenForo entsprechen. (Userrechte hierfür sollen natürlich auch anpassbar sein.) Z.B. soll es insbesondere möglich sein, auch über das Profil einstellen zu können, dass man Benachrichtungen bekommt, wenn ein Thread erstellt wurde, bei dem man sich auf einer Whitelist befindet.
  • Für die User soll es ein Rangsystem geben, nach dem sie unterschiedliche Berechtigungen (z.B. Thread-Sichtbarkeiten) erhalten können. Je nach Rang kann ein User vlt auch Boni erhalten. Z.B. ein schickes Badge.
  • Die Suchfunktion: Grundsätzlich habe ich mir überlegt, dass die Suchfunktion in Tags, Flags, Poster und Text suchen kann, dies soll separat definierbar sein. Quasi ein Filter.
  • Nun habe ich mir auch noch folgende Gedanken gemacht: Ich hatte mir vorgestellt, dass man im Frontend sowas ähnliches wie Subforen definieren können soll, die prinzipiell nichts anderes als eine Tag- und / oder Flag-suche sind. So soll es z.B. möglich sein, ein "Subforum" definieren zu können, in dem z.B. nur Fragen aufgelistet werden.
  • Zu Formatierungsmöglichkeiten der Beiträge habe ich mir jetzt erstmal keine Gedanken gemacht, das ist aber natürlich auch nochmal ein großes Fass.

Das sind jetzt erstmal meine ersten Gedanken, die sich aus meinem kleinen Brainstorming ergeben haben. Was haltet ihr davon?
 

JR Cologne

Administrator
Teammitglied
Da hier schon im Raum stand, eine eigene Software zu entwickeln, und ich jetzt von anderer Seite auch schon "eine Anfrage" erhalten habe, dachte ich mir, packe ich das direkt unter einen Hut.

Damit ich das richtig verstehe:
Willst du das jetzt alleine für dich machen oder hier mit der Community zusammen? :D

Und nur aus Interesse: eine kommerzielle Anfrage oder eine, von einem Freund oder so?

Ist jedenfalls sicher ein sehr spannendes, aber auch sehr aufwendiges Projekt. :)


(Das ganze wäre dann später Open Source auf GitHub, ich hatte vor das ganze mit Django zu basteln. Wenn jmd geeignetere Technologien kennt, immer raus damit ^^)

Geeignetere Technologien?
Schwierig einzuschätzen.
Letztendlich solltest du wahrscheinlich das nutzen, womit du am besten klarkommst.

Aus meiner Sicht ist auch Laravel ein wirklich gutes Framework.
Ist dann halt nur PHP statt Python.

Natürlich könnte man auch flexiblere, mehr Component-basierte Frameworks in Betracht ziehen.
Was es diesbezüglich in der Python-Welt gibt, weißt du aber sicher besser als ich.


Ansonsten hören sich deine Vorüberlegungen zu den Anforderungen des Forums schon sehr gut an.
Da fällt mir jetzt spontan gar nichts mehr zu ein. (y)
Ich mach mir nachher aber vielleicht nochmal in Ruhe ein paar Gedanken dazu...
 

lord_haffi

Mitglied
Willst du das jetzt alleine für dich machen oder hier mit der Community zusammen? :D
Stimmt, dazu hatte ich gar nichts gesagt, sry ^^
Also, grundsätzlich würde ich es gerne auch mit euch zusammen entwickeln, wenn ihr da Bock drauf habt :) Würde das ganze Projekt dann auf GitHub stellen (ok, das mach ich sowieso).

Und nur aus Interesse: eine kommerzielle Anfrage oder eine, von einem Freund oder so?
Kommerziell nicht, nein. Arbeite mit 'n paar Jungs hobbieweise an 'nem Game und wir wollten dazu 'ne Homepage bauen. Bzw. gibt es schon eine. Die ist aber so stümperhaft und unsicher programmiert, das konnte ich mir nicht geben ^^ Selbst ich als absoluter Laie könnte mich da wohl problemlos reinhacken.. Stichwort SQL-Injection..
Wie auch immer, für die Homepage wollen wir halt auch ein Forum haben, daher wollte ich das ganze jetzt mal in Angriff nehmen, bevor da einer noch den Server zur Selbstzerstörung anleitet..

Was es diesbezüglich in der Python-Welt gibt, weißt du aber sicher besser als ich.
Nope, bin relativ new into it :) Habe auch vor kurzem erst angefangen, mich mit Django zu beschäftigen und meine erste kleine Homepage damit gebastelt (ist noch nicht online, weil nicht fertig). Davon abgesehen kann ich nur das Standardzeugs: HTML, CSS, SASS (bzw. SCSS, den Unterschied hab ich immer noch nicht ganz kapiert), JavaScript, jQuery, PHP, Python, SQL.
Ist aber ein bisschen mühselig alles von Hand zu machen, deswegen wollte ich irgendeine Art Framework benutzen (kein CMS). Da ist mir Django halt als erstes in die Hände gefallen ^^
Wenn ihr mitmachen, aber ein anderes Framework verwenden wollt, könnt ihr gerne eure Vorschläge einbringen :)

Edit: Bevor ich's vergesse, das ganze ist natürlich nur ein Hobbyprojekt. Es gibt keinen Zeitdruck und auch keinen Zwang, es fertigzustellen. Kann gut sein, dass das ganze von meiner Seite aus auch streckenweise schleppend vorangeht. Hauptsache, das Ergebnis am Ende hat Qualität (y)
 
Zuletzt bearbeitet:

JR Cologne

Administrator
Teammitglied
Also, grundsätzlich würde ich es gerne auch mit euch zusammen entwickeln, wenn ihr da Bock drauf habt :) Würde das ganze Projekt dann auf GitHub stellen (ok, das mach ich sowieso).

Klar doch. Das wäre ja eine klassische Win-Win-Situation. :)
Ich persönlich würde mich auf jeden Fall beteiligen.

Kommerziell nicht, nein. Arbeite mit 'n paar Jungs hobbieweise an 'nem Game und wir wollten dazu 'ne Homepage bauen. Bzw. gibt es schon eine. Die ist aber so stümperhaft und unsicher programmiert, das konnte ich mir nicht geben ^^ Selbst ich als absoluter Laie könnte mich da wohl problemlos reinhacken.. Stichwort SQL-Injection..
Wie auch immer, für die Homepage wollen wir halt auch ein Forum haben, daher wollte ich das ganze jetzt mal in Angriff nehmen, bevor da einer noch den Server zur Selbstzerstörung anleitet..

SQL-Injection? Ui, da hat aber jemand Sorgfalt walten lassen. :p :D

Nee, hört sich gut an. :)

Nope, bin relativ new into it :) Habe auch vor kurzem erst angefangen, mich mit Django zu beschäftigen und meine erste kleine Homepage damit gebastelt (ist noch nicht online, weil nicht fertig). Davon abgesehen kann ich nur das Standardzeugs: HTML, CSS, SASS (bzw. SCSS, den Unterschied hab ich immer noch nicht ganz kapiert), JavaScript, jQuery, PHP, Python, SQL.

Verstehe. Der primäre Unterschied zwischen SASS und SCSS ist übrigens die Syntax.
SCSS ist näher an CSS angelehnt, SASS ist so ein Stück weit das Python unter den Stylesheet-Sprachen, wenn du verstehst, was ich meine. :D

Ist aber ein bisschen mühselig alles von Hand zu machen, deswegen wollte ich irgendeine Art Framework benutzen (kein CMS). Da ist mir Django halt als erstes in die Hände gefallen ^^
Wenn ihr mitmachen, aber ein anderes Framework verwenden wollt, könnt ihr gerne eure Vorschläge einbringen :)

Absolut, ohne Framework und/oder Dependencies jedweder Art kommt man bei einem so großen Projekt nicht lange klar.

Für den Fall, dass es vielleicht doch in die PHP-Richtung gehen sollte, würde ich einfach mal Laravel oder Symfony in den Ring werfen.
Bin da aber auch relativ offen, was Python oder Node.js angeht, auch wenn ich da (noch) keine Ahnung von habe.

Edit: Bevor ich's vergesse, das ganze ist natürlich nur ein Hobbyprojekt. Es gibt keinen Zeitdruck und auch keinen Zwang, es fertigzustellen. Kann gut sein, dass das ganze von meiner Seite aus auch streckenweise schleppend vorangeht. Hauptsache, das Ergebnis am Ende hat Qualität (y)

Hehe, das kenn' ich nur zu gut. Also kein Problem. :)


Soll ich diesen Thread vielleicht mal umbenennen und ins Projekt-Forum verschieben?
 

lord_haffi

Mitglied
Soll ich diesen Thread vielleicht mal umbenennen und ins Projekt-Forum verschieben?
Klingt sinnvoll :) Vlt sowas wie "Eigene Forensoftware entwickeln".

Ich persönlich würde mich auf jeden Fall beteiligen.
Freut mich zu hören :) Bzw. zu lesen.

Bin da aber auch relativ offen
Dito. Vielleicht bekommt ja die Tage noch jemand Lust, seine Meinung einzuwerfen, warten wir mal ab.
Grundsätzlich mag ich Python lieber als PHP, weil PHP... uh, wo fang ich nur an ^^ Egal, lassen wir das :p
 

lord_haffi

Mitglied
Also, da jetzt keiner noch 'nen Vorschlag (zum Framework) eingebracht hat, werde ich die nächsten Tage mal ein Repository und die grundsätzlichen Projektdateien dafür fertig machen. Würde das ganze dann in Django machen, einverstanden?

Achja, wir bräuchten auch noch einen catchigen Namen für das Projekt. Meine Kreativität scheitert an diesem Punkt :p Wie gesagt, die Software soll ja nicht nur auf diese Community anwendbar sein, daher wäre dev-community u.ä. jetzt nicht die Wahl. Fällt euch da was tolles ein? Sonst würde ich es jetzt total langweilig "Forumsoftware" nennen 🙃
 

JR Cologne

Administrator
Teammitglied
Also, da jetzt keiner noch 'nen Vorschlag (zum Framework) eingebracht hat, werde ich die nächsten Tage mal ein Repository und die grundsätzlichen Projektdateien dafür fertig machen. Würde das ganze dann in Django machen, einverstanden?

D'accord!

Achja, wir bräuchten auch noch einen catchigen Namen für das Projekt. Meine Kreativität scheitert an diesem Punkt :p Wie gesagt, die Software soll ja nicht nur auf diese Community anwendbar sein, daher wäre dev-community u.ä. jetzt nicht die Wahl. Fällt euch da was tolles ein? Sonst würde ich es jetzt total langweilig "Forumsoftware" nennen 🙃

Tja, ich fürchte, da scheitere ich auch dran. :(
 

lord_haffi

Mitglied
So, hab mal meine Kreativitäts-KI angeschmissen und folgenden Projektnamen hat sie ausgespuckt: Devorum
Hab jetzt mal ein Repository gezaubert (erstmal bei mir, wenn ihr das bei dev-community auf Github haben möchtet, sagt Bescheid), ihr könnt es euch hier anschauen:
https://github.com/lord-haffi/Devorum

Werde jetzt die nächste Zeit leider wenig Zeit haben, da ich nächste Woche mit meiner Bachelorarbeit beginne. Auf jeden Fall, wenn ihr daran basteln möchtet, könnt ihr für's erste ja schonmal Ideen einbringen (am besten als Issue im Repo), wie wir die API aufbauen wollen. Hab da auch schon ein paar Ideen, würde aber auch gerne eure hören / lesen :giggle:
 

JR Cologne

Administrator
Teammitglied
So, hab mal meine Kreativitäts-KI angeschmissen und folgenden Projektnamen hat sie ausgespuckt: Devorum

Eine Kreativitäts-KI will ich auch haben. :D

Kleine Frage zur Namensgebung: Inwiefern ist das Forum bzw. das Projekt auf Entwickler zugeschnitten, sodass die Kombination aus Developer und Forum gerechtfertigt ist?

Hab jetzt mal ein Repository gezaubert (erstmal bei mir, wenn ihr das bei dev-community auf Github haben möchtet, sagt Bescheid), ihr könnt es euch hier anschauen:
https://github.com/lord-haffi/Devorum

Solange nicht noch viele andere hier aus der Community mitarbeiten wollen, können wir die Lokation gerne so belassen.

Werde jetzt die nächste Zeit leider wenig Zeit haben, da ich nächste Woche mit meiner Bachelorarbeit beginne.

Kein Ding, habe aktuell ebenfalls relativ wenig Zeit.

Viel Erfolg bei deiner Bachelorarbeit! Darf man fragen, um was sich diese dreht? :)
 

lord_haffi

Mitglied
Inwiefern ist das Forum bzw. das Projekt auf Entwickler zugeschnitten, sodass die Kombination aus Developer und Forum gerechtfertigt ist?
Dachte eher in die Richtung, weil es zumindest theoretisch von einer Developer-Community entwickelt wird; Mir ist leider nichts gescheiteres eingefallen, wenn du was besseres hast, immer raus damit, noch kann man es ja problemlos ändern ^^ Mein Plan war, erstmal eine API zu entwickeln, die keine spezielle Richtung einschlägt (und auch erstmal kein Frontend besitzt), sodass man darauf aufbauend verschieden spezialisierte Foren entwickeln kann.

Viel Erfolg bei deiner Bachelorarbeit! Darf man fragen, um was sich diese dreht? :)
Danke :) Es geht grob gesagt um die Untersuchung eines von der Arbeitsgruppe entwickelten Cluster-Detection-Algorithmus, der integrierte DNA-Abschnitte beim horizontalen Gentransfer zwischen zwei Bakterienspezien erkennen soll. Dazu wird eine bestimmte Bakterienart (Bazillus Subtilis) zyklisch immer wieder für den horizontalen Gentransfer potenziert (d.h. die Wahrscheinlichkeit dafür wird mittels Chemie erhöht, sonst sieht man kaum was) und einer Lösung mit u.a. DNA-Stückchen eines Donor-Bakteriums hinzugegeben und anschließend auf einer Agar-Platte kultiviert. Das ganze macht man mehrere Zyklen lang. Für die Untersuchung des Algorithmus verwende ich die sequenzierten DNA-Stränge mit einer zeitlichen Auflösung von 2 Zyklen als Datensatz.
Detailliert genug? :p
 
Zuletzt bearbeitet:

JR Cologne

Administrator
Teammitglied
Dachte eher in die Richtung, weil es zumindest theoretisch von einer Developer-Community entwickelt wird; Mir ist leider nichts gescheiteres eingefallen, wenn du was besseres hast, immer raus damit, noch kann man es ja problemlos ändern ^^ Mein Plan war, erstmal eine API zu entwickeln, die keine spezielle Richtung einschlägt (und auch erstmal kein Frontend besitzt), sodass man darauf aufbauend verschieden spezialisierte Foren entwickeln kann.

Verstehe. :)
Sollte mir noch etwas zur Namensgebung in den Sinn kommen, werde ich es dir auf jeden Fall mitteilen.

Es geht grob gesagt um die Untersuchung eines von der Arbeitsgruppe entwickelten Cluster-Detection-Algorithmus, der integrierte DNA-Abschnitte beim horizontalen Gentransfer zwischen zwei Bakterienspezien erkennen soll. Dazu wird eine bestimmte Bakterienart (Bazillus Subtilis) zyklisch immer wieder für den horizontalen Gentransfer potenziert (d.h. die Wahrscheinlichkeit dafür wird mittels Chemie erhöht, sonst sieht man kaum was) und einer Lösung mit u.a. DNA-Stückchen eines Donor-Bakteriums hinzugegeben und anschließend auf einer Agar-Platte kultiviert. Das ganze macht man mehrere Zyklen lang. Für die Untersuchung des Algorithmus verwende ich die sequenzierten DNA-Stränge mit einer zeitlichen Auflösung von 2 Zyklen als Datensatz.
Detailliert genug? :p

Oha, ich bin froh, dass ich Sachen wie den horizontalen Gentransfer sorglos aus meinem Gehirn verdrängen kann. :D

Aber gut, insbesondere Bio kann schon ganz interessant sein. :)
Wird ja auch zunehmend gerne mit Informatik verknüpft.
 

alinnert

Mitglied
So, ich bin jetzt auch dazu gekommen, mir das mal durchzulesen, denn ich bin auch sehr daran interessiert. Ich hab mir bei der Wahl der Forensoftware auch Gedanken gemacht, wie die "optimale" Forensoftware aussehen würde. Das geht interessanterweise sehr stark in die Richtung, die du da im Brainstorming aufzeigst. Das gefällt mir also sehr gut.

Ich hab mir auch etwas Gedanken über die Bedienung gemacht (nur im Kopf bisher). Und schön wäre halt etwas zwischen einem klassischen Forum und einer tag-basierten Auflistung. Irgendwas zwischen Discourse und Reddit mit der Optik des neuen Benachrichtigungs-Centers von GitHub. Die Administration könnte einige Filter vordefinieren (ähnlich den Unterforen hier, als eine Art Starthilfe für neue Benutzer) und Benutzer können dann eigene hinzufügen, um es sich seinen Bedürfnissen anpassen zu können.

Bzgl. des Frameworks hab ich eine Frage: Wo soll das Forum lauffähig sein? Man muss aktuell halt leider auswiegen zwischen "gutem Technologie-Stack" und "läuft auf bei jedem Web-Hoster". In welche Richtung soll das eher gehen?
Bei Python mach ich mir primär Sorgen um die Performance und Projektstruktur/-Stabilität. Ich bin in letzter Zeit großer Fan von statisch typisierten Sprachen (TypeScript, Go, C#...) geworden. Deswegen seh ich Python etwas skeptisch. Ich hab mal gelesen, dass es einen Typ-Layer über Python gibt (ähnlich wie TS für JS), den hab ich mir aber nicht näher angeschaut. Ich hab mir Python aber auch schlechte Erfahrungen mit Versionskompatibilitäten gemacht. Es gibt ja grundsätzlich das Problem Python 2 vs. Python 3. Aber ich bin über einige Libraries gestoßen, die sagen "Ich laufe nur unter Python 3.3 - 3.5" und die nächste "Ich laufe bis max. Python 3.6", während 3.7 schon verfügbar war. Das hat bei mir einen sehr salzigen Geschmack hinterlassen. Dazu dann die Sache mit den Environments (.venv). Das find ich richtig schlimm.
Und ja, mit PHP hab ich auch mehr und mehr negative Erfahrungen gemacht. Vor allem mit dem Aufsetzen einer Entwicklungsumgebung (Craft CMS läuft unter XAMPP z. B. nicht, XDebug zerschießt das Craft-Admin-Interface und läuft unter Slim einfach mal überhaupt nicht). Laravel als Framework mochte ich tatsächlich schon. Allerdings ist es sehr langsam. Ich hab einen kurzen Test gemacht. Ein Hello World-Request mit dem Slim-Framework dauert ca. 10 - 20 ms. Bei Laravel waren es weit über 100 ms, inkl. empfohlener Anpassungen für Produktivumgebungen. Das ist eine ordentliche Hausnummer.

Ich überlege auch gerade, eine kleine Anwendung zur Verwaltung von Lesezeichen zu schreiben. Da schwanke ich aktuell zwischen Go, .NET Core (und Java mit Spring-Framework, am liebsten ja Kotlin statt Java, ist ohne IntelliJ aber wohl schwierig...; das ganze in Klammern, weil ich mir damit schon selbst Angst mache :D ich mag aber tatsächlich, in welche Richtung Java sich derzeit entwickelt.)

Ein wichtiges Thema wird wohl auch die Erweiterungs-API sein, wenn man neue (oder wir unsere ersten) Beitrags-Arten entwickeln will. Vor allem schreibst du grad, dass das Frontend vom Backend getrennt sein soll oder könnte. Find ich eine super Idee, da es sehr anpassungsfähig wird. Das ändert aber auch, wie wir die API aufbauen müssen.

Beim Namen würd ich lieber was allgemeineres nehmen. Im Prinzip wird ja vieles von einer Art Entwickler-Community entwickelt. :D
Hm... Bitalk kommt mir grad in den Sinn. Ich werd' darüber aber auch mal weiter sinnieren.
 

lord_haffi

Mitglied
Aber gut, insbesondere Bio kann schon ganz interessant sein. :)
Wird ja auch zunehmend gerne mit Informatik verknüpft.
Hehe, Plot-Twist, ich studiere Physik :p Eigentlich hätte mein Thema in der Biophysik auch etwas anders aussehen sollen, aber aufgrund der Pandemie können die mir keinen Betreuer für das Labor zur Seite stellen. Daher ist mein Thema so angepasst, dass ich alles von Zuhause aus machen kann. Naja, da ich ja ganz gerne programmiere, ist es ja nicht allzu schlimm für mich ^^
 

JR Cologne

Administrator
Teammitglied
Hehe, Plot-Twist, ich studiere Physik :p Eigentlich hätte mein Thema in der Biophysik auch etwas anders aussehen sollen, aber aufgrund der Pandemie können die mir keinen Betreuer für das Labor zur Seite stellen. Daher ist mein Thema so angepasst, dass ich alles von Zuhause aus machen kann. Naja, da ich ja ganz gerne programmiere, ist es ja nicht allzu schlimm für mich ^^

Ja, habe gestern im Nachhinein nochmal in den Vorstellungsthread geschaut und mich dann gewundert, was das mit Physik am Hut hat. :D

Na ja, zurück zum Thema.

Bzgl. des Frameworks hab ich eine Frage: Wo soll das Forum lauffähig sein? Man muss aktuell halt leider auswiegen zwischen "gutem Technologie-Stack" und "läuft auf bei jedem Web-Hoster". In welche Richtung soll das eher gehen?
Bei Python mach ich mir primär Sorgen um die Performance und Projektstruktur/-Stabilität. Ich bin in letzter Zeit großer Fan von statisch typisierten Sprachen (TypeScript, Go, C#...) geworden. Deswegen seh ich Python etwas skeptisch. Ich hab mal gelesen, dass es einen Typ-Layer über Python gibt (ähnlich wie TS für JS), den hab ich mir aber nicht näher angeschaut. Ich hab mir Python aber auch schlechte Erfahrungen mit Versionskompatibilitäten gemacht. Es gibt ja grundsätzlich das Problem Python 2 vs. Python 3. Aber ich bin über einige Libraries gestoßen, die sagen "Ich laufe nur unter Python 3.3 - 3.5" und die nächste "Ich laufe bis max. Python 3.6", während 3.7 schon verfügbar war. Das hat bei mir einen sehr salzigen Geschmack hinterlassen. Dazu dann die Sache mit den Environments (.venv). Das find ich richtig schlimm.
Und ja, mit PHP hab ich auch mehr und mehr negative Erfahrungen gemacht. Vor allem mit dem Aufsetzen einer Entwicklungsumgebung (Craft CMS läuft unter XAMPP z. B. nicht, XDebug zerschießt das Craft-Admin-Interface und läuft unter Slim einfach mal überhaupt nicht). Laravel als Framework mochte ich tatsächlich schon. Allerdings ist es sehr langsam. Ich hab einen kurzen Test gemacht. Ein Hello World-Request mit dem Slim-Framework dauert ca. 10 - 20 ms. Bei Laravel waren es weit über 100 ms, inkl. empfohlener Anpassungen für Produktivumgebungen. Das ist eine ordentliche Hausnummer.

Ich überlege auch gerade, eine kleine Anwendung zur Verwaltung von Lesezeichen zu schreiben. Da schwanke ich aktuell zwischen Go, .NET Core (und Java mit Spring-Framework, am liebsten ja Kotlin statt Java, ist ohne IntelliJ aber wohl schwierig...; das ganze in Klammern, weil ich mir damit schon selbst Angst mache :D ich mag aber tatsächlich, in welche Richtung Java sich derzeit entwickelt.)

Beim Namen würd ich lieber was allgemeineres nehmen. Im Prinzip wird ja vieles von einer Art Entwickler-Community entwickelt. :D
Hm... Bitalk kommt mir grad in den Sinn. Ich werd' darüber aber auch mal weiter sinnieren.

Bitalk kommt mir irgendwie bekannt vor, als würde es in die Richtung schon eine Software geben. :unsure:

Ansonsten sprichst du wahrscheinlich einen guten/wunden Punkt an, wenn es um die Lauffähigkeit des Projekts geht.
Das Ding ist, wenn man die Forensoftware bei jedem Hosting-Anbieter installieren können möchte, dann bleibt letztlich nur PHP.
Das würde unseren Stack also sehr stark einschränken - auf eine Sprache, die ihr beide nicht mögt.

Inwiefern die verschiedenen Sprachen von der Projektorganisation/-struktur sowie Performance einen wesentlichen Unterschied machen, kann ich nicht beurteilen.

Dadurch, dass es ein Hobby-Projekt ist, wäre wahrscheinlich die Passung des Tech-Stacks entscheidender als Hosting-Optionen.
Oder ist es schon das Ziel, daraus eine beliebte, universell einsetzbare Forensoftware zu machen?
 

lord_haffi

Mitglied
Bitalk kommt mir irgendwie bekannt vor, als würde es in die Richtung schon eine Software geben. :unsure:
Laut Google: Microsoft BizTalk, meinst du das vielleicht? Von einer Forensoftware ist das allerdings weit entfernt :p

Beim Namen würd ich lieber was allgemeineres nehmen. Im Prinzip wird ja vieles von einer Art Entwickler-Community entwickelt. :D
Hm... Bitalk kommt mir grad in den Sinn. Ich werd' darüber aber auch mal weiter sinnieren.
Wie gesagt, mich hat der Name ja auch nicht richtig überzeugt ^^ Bitalk überzeugt mich aber irgendwie auch nicht so richtig. Ist aber mehr so'n Bauchgefühl ^^

Von der Performance der einzelnen Sprachen hab ich leider keine Ahnung, damit hab ich mich noch nicht auseinandergesetzt. Python war jetzt auch nur meine erste Idee, weil ich PHP nicht gerne mag und Python halt auch öfters für Webprojekte genutzt wird. Aber eigentlich ist mir die Sprache relativ egal, mir würde es eher darum gehen, ein möglichst passendes Framework zu verwenden, das möglichst so grundsätzliche Dinge wie URL-Routing, User-Authentication und Sicherheit (z.B. gegen CSRF) vereinfacht. Wenn es z.B. ein gutes und effizientes Framework für PHP oder Python gibt, würde ich das wohl bevorzugen. Wenn Performance oder Usability allerdings bei anderen Technologien besser ist, würde ich wohl darauf setzen. Wenn ich jetzt eine Prioritätenliste für die Auswahl des Tech-Stacks aufstellen müsste, sähe die bei mir wohl ungefähr so aus:
  1. Performance
  2. Usability (beinhaltet auch den Funktionsumfang des Frameworks)
  3. Support für Webhosting-Pakete
Wobei das natürlich keine scharfen Grenzen sind, es sollten möglichst alle Punkte so gut es eben geht abgedeckt werden.

Find ich eine super Idee, da es sehr anpassungsfähig wird. Das ändert aber auch, wie wir die API aufbauen müssen.
Bin ein großer Freund davon, anpassungsfähige Programme zu entwickeln :) Das ist natürlich mit mehr Aufwand verbunden, aber man ist dann nicht so beschränkt mit dem Programm. Wie wir die API letztendlich dann genau aufbauen, ist natürlich ein wichtiges Thema, darum würde ich mich aber erst kümmern, wenn wir uns auf einen Tech-Stack geeinigt haben.

Ich hab mir auch etwas Gedanken über die Bedienung gemacht (nur im Kopf bisher). Und schön wäre halt etwas zwischen einem klassischen Forum und einer tag-basierten Auflistung. Irgendwas zwischen Discourse und Reddit mit der Optik des neuen Benachrichtigungs-Centers von GitHub. Die Administration könnte einige Filter vordefinieren (ähnlich den Unterforen hier, als eine Art Starthilfe für neue Benutzer) und Benutzer können dann eigene hinzufügen, um es sich seinen Bedürfnissen anpassen zu können.
Das würde ich wie gesagt gerne vom Backend getrennt halten, damit eine individuelle Gestaltung des Frontends möglich ist. Außerdem ist das auch zu großen Teilen Geschmackssache. Würde das Thema Frontend erstmal nach hinten schieben und mich zunächst um das Backend kümmern (was dich jetzt natürlich nicht davon abhalten soll, ich spreche da nur für mich selbst ^^).
 

JR Cologne

Administrator
Teammitglied
Laut Google: Microsoft BizTalk, meinst du das vielleicht? Von einer Forensoftware ist das allerdings weit entfernt :p

Es gibt ein Cryptocurrency-Forum, das so heißt. :D
Nee, keine Ahnung, warum ich dachte, das gibt's schon.

Das würde ich wie gesagt gerne vom Backend getrennt halten, damit eine individuelle Gestaltung des Frontends möglich ist. Außerdem ist das auch zu großen Teilen Geschmackssache. Würde das Thema Frontend erstmal nach hinten schieben und mich zunächst um das Backend kümmern (was dich jetzt natürlich nicht davon abhalten soll, ich spreche da nur für mich selbst ^^).

Wir konzentrieren uns jedenfalls erstmal aufs Backend. Ohne Backend geht im Frontend ja sowieso wenig.
Später, wenn man das Forum dann allerdings auch mal "in action" ausprobieren möchte, wäre es sicher sinnvoll, ein beispielhaftes Frontend zu entwickeln. Nur an der API zu arbeiten, ist auf Dauer nämlich ein bisschen öde.
 
Oben Unten