• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wie gemeinsames Arbeiten/Vorgehen an einem Webprojekt

bigbootykilla

Neues Mitglied
Hallo,

ich habe eine Webidee, die ich gerne mit mehreren Leuten umsetzen würde. Eine Freundin, die Grafiker und Webdesignerin ist, wohnt in Kanada und ein paar andere, die mitmachen wollen, wohnen in Deutschland verteilt. Ich selbst bin Informatiker an einer FH und habe Programmier-Kenntnisse in html, css, javascript, php, sql, xml, xslt und c bzw. c++. Leider lernt man nur das Coden und wenig darüber, wie man so etwas in größeren Projekten, mit neuesten Webtechniken, umsetzen kann.

Ich habe also ein paar Fragen wie ich am besten vorgehe. J

Als erstes würde ich gerne wissen, ob ihr bei größeren Projekten auf ein bestehendes CMS zurückgreift wie z.bsp. Joomla, Typo etc. oder baut ihr euch selbst euer eigenes CMS? Ich denke mal, dass viele Komponenten/Plugins von z.bsp. Joomla für mich zwar existieren, aber direkt out-of-the-box ich sie sowieso nicht nehmen kann. Das nächste Thema ist die Verwaltung um alle Dateien jedem jederzeit zur Verfügung zu stellen. Ich dachte da erstmal an Trac als Ticketsystem und svn für die Dateien. Mit svn kann sich jeder die Dateien selbst holen und bearbeiten und im Ticketsystem stehen Aufgaben, die bearbeitet werden müssen. Gibt es was besseres zum gemeinsamen Coden als svn für html,css oder Websites im allgemeinen? Mit svn habe ich ja auch nich wirklich einen Webserver am laufen um Änderungen oder neue Dinge gleich testen zu können.

Was soll meine Website können?
Wir planen ein Profil für angemeldete Personen, auf der man verschiedene Dinge eintragen kann und ein Teamprofil , das von einem erstellt werden kann und andere beitreten können. Des Weiteren soll es eine eigene Währung geben. Ich zahle als Beispiel 10 Euro ein und bekomme dann durch eine Umrechnung z.bsp. 100 Gold. Das ist dann die Website eigene Währung. Es soll ein Kalender entwickelt werden, auf der jemand Zeiten eintragen kann und andere über den Kalender ihn buchen/mieten können. Es soll ein Chat geben, der sich bei Übereinkommen automatisch öffnet. Es soll ein automatisches Abrechnungssystem geben, bei der die eigene Währung automatisch zu dem anderen überwiesen wird. Ausserdem geht ein Teil davon ca. 10% an uns. Ein Ratingsystem soll es geben und ein Kommentarfeld soll es ebenfalls geben.

Wie ihr seht, hab ich einiges vor, jedoch werde ich das sicherlich nicht alleine machen.

Ich hoffe ihr könnt mir fürs erste ein paar der oben genannten Fragen beantworten. Damit helft ihr mir doch enorm.

Beste Grüße

Booty
 
Werbung:
Hallo,

als es gibt ja CMS und CMS.
CMS als Framework wie T3 und andere kleine die ein großen teil der verarbeitung abnehmen, da zu muss man die natürlich kennen wie bei alles Framework.
CMS als reines CMS wie Joom*hust* die halt hauptsächlich als klick system aufgebaut sind aber natürlich auch mehr können.

Eigenes CMS ist eher selten kommt aber vor gerade bei großen projekten wenn mit mehr bearbeiter als MVC zb Zend.

Cheffchen
 
ok , das heißt, die etwas größeren Projekte sollten wir einfach komplett selbst erstellen und auf jegliches CMS verzichten?! Ist das eine gängige Art? Also ein Fan von Frameworks bin ich nicht wirklich, da ich weder Ruby noch Zend wirklich gut kenne. Die Einarbeitung würde mich wohl genauso lange kosten, wie das Ding dann letztendlich selbst mit zum Beispiel php, html etc. zu schreiben.
 
Werbung:
Hallo,

was heist Fan, wenn mehr Leute dran arbeiten, was ja bei großen Projekten normal ist, sonst wäre es ja kein großes Projekt :O).
Da kommst halt schnell in die quere weil 2 an der gleichen datei rum machen, was bei MVC eher kaum vor kommt, denn müssten beide genau an der selben sache was machen, was ja auch wieder kein sin macht :O).

Aber mal abwarten was die anderen schreiben.

Cheffchen
 
Hallo,
also ich würde dir generelle IMMER - egal um was geht zu einem Entwicklungsmodell raten. Für Webprojekte ist immer noch der Platzhirsch und wohl auch das Beste das MVC-Pattern.
Als Framework würde ich dir Zend Framework 2 oder CakePHP empfehlen. Jommla! und Co. bieten zwar auch ein Framework, aber keines von denen beherrscht z. B. Währungen, Barcodes, REST, SOAP, etc.
Für die Versionsverwaltung kann ich dir Git empfehlen. Und dann für jede Unteraufgabe einen eigenen feature Branch anlegen, wie hier: http://nvie.com/posts/a-successful-git-branching-model/
Es gibt einen devlop Branch, der enthält die letztes lauffähige Version des Projektes und daneben gibt es feature Branche, für all die Aufgaben, an denen gearbeitet wird und die noch getestet werden müssen. Sollte ein feature fertig sein, wird es in den develop Branch gemergt. Ich empfehle hierfür git flow. Das ist einfach shorthand und einfach in der Bedienung. Die Standardwerte bei der erstmaligen Einrichtung dafür sind ganz gut.

Nun zum Ticketsystem: Es gibt viele openSource Ticketsysteme, die bestimmt auch nicht schlecht sind. Ich hatte bis jetzt nur Erfahrungen mit Jira gesammelt. Das kostet zwar im Monat etwas, ist aber auch richtig gut.

Außerdem empfehle ich für die feature Branches eine komplett abgeschottete Testumgebung einzurichten. Also eben eine gemeinsame Datenbank für alle Features. Das kann man im Zend Framework ganz einfach durch Umgebungsvariablen definieren. Je nachdem, ob man im Live Betrieb oder in der Testumgebung ist, wird dann eine andere Datenbank-Connection aufgemacht. Bei größeren Projekten empfiehlt es sich zudem ein ORM (= Objektrelationales Mapping = Model Klassen wie Datenbanktabellen mit Methoden zum Einfügen, Ändern und Löschen) Framework zu verwenden. Es empfiehlt sich entweder doctrine oder Propel zu verwenden, weil es nichts besseres gibt. Beide lassen sich problemlos als Modul ins Zend Framework 2 integrieren.

Zusätzlich wäre der Einsatz eines Build-Systems von Nutzen. Damit kann man vereint, also mit einem Aufruf alle Projekt relevanten Daten herunterladen, installieren und/ oder generieren. Mit ant von Apache kann man soetwas gut abbilden.

Ich hoffe, ich konnte helfen.

Gruß, derwunner
 
Ich würde als Alternative Ruby on Rails empfehlen. Die REST Api von Rails macht es sehr einfach, datenbankbasierte Applikationen aufzusetzen, ohne auch nur eine einzige Zeile SQL zu schreiben. Im Gegensatz zu ZF, das fundiertes PHP-Wissen voraussetzt, lassen sich die notwendigen Ruby-Kenntnisse während des Einstiegs in Rails aneignen. Für den Frontend-Part bietet Rails auch Gems für Less, Bootstrap und jQuery an. Als Versionsverwaltungssystem eignet sich Github, und und die Builds lassen sich auf Heroku hosten.

Zusammengefasst gesagt, bekommst du hier ein komplettes Entwicklungspaket, das ohne serverseitige Installation auskommt.
 
Werbung:
ok, und würdet ihr empfehlen ein git oder svn Server selbst aufzusetzen oder das ganze zu mieten? Wir werden vielleicht so max. 6-8 Leute sein, die an dem Projekt arbeiten und die kosten sollten bei der Entwicklung überschaubar sein. Einen v-Server steht uns aber schon zur Verfügung, der ja auch schon nen 10er im Monat kostet.
 
Public repositories bei Github sind kostenlos, private nicht. Auf jeden Fall erspart man sich aber die bei SVN notwendige serverseitige Installation.
 
Werbung:
Wenn schon ein vserver zur Verfügung steht, kann man git auch darauf für dieses Projekt separat installieren. Das kostet nichts. Man braucht nur entsprechendes Server- und git-Wissen ;)
 
okay, danke! Das git wird gerade auf den v-server eingerichtet. :) Dann haben wir uns als Ticketsystem Trac eingerichtet. Jetzt hab ich aber noch eine Frage zum arbeiten mit den Files auf dem git Server. Wenn die Files mit dem lokalen Rechner zusammengeführt werden, kann man die Dateien zwar bearbeiten, aber nicht wirklich benutzen, da ja kein Webserver auf jedem lokalen Rechner zur Verfügung steht. Nicht jeder hat gerade mal xampp zur Verfügung oder eben auch installiert. Wie könnte ich das regeln, das ich einen funktionierenden Webserver/SQL incl. runterlade und als Beispiel auf einem Stick bearbeite und darin auch ausführe. Ich bräuchte quasi eine Entwicklungsumgebung für html,php,js auf dem git, die einfach runtergeladen wird und dann eben der Webserver gestartet werden kann. Würdet ihr so ein Projekt in einer xampp Umgebung machen oder wie kann ich das am besten regeln?
 
Werbung:
Du kannst Xampp auf einen USB-Stick packen, dafür gibt es extra "XAMPP Portable Lite"
 
Geht es nun darum, die Dateien auf jedem Rechner auszuführen, oder darum, dass jeder der an dem Projekt Beteiligten diese auf seinem Rechner ausführen kann?

XAMPP benötigt man übrigens nur für Windows. OSX und Linux haben den Apache bereits an Bord. Darauf noch einen AMP-Stack zu installieren wäre Unfug.
 
Gehe mal davon aus, dass jeder Mitarbeiter einen eigenen Git-Zugang erhält. Wir haben das so gemacht, dass auch jeder ein Unix-Konto auf dem Server erhält und damit seinen eigenen Home-Ordner verwalten kann. Mit dem Apache-Modul UserDir kann sich jeder in seinem Home-Verzeichnis einen eigenen Web-Workspace aufbauen, den er zu passender Zeit aus dem Git updatet/comittet. Zugang zum Home-Dir wäre als FTP, Samba, AFP, ... denkbar, sodass direkt auf dem Server gearbeitet werden kann.

Lass AMPP weg, das ist unnötiges drumherum.
 
Werbung:
Zurück
Oben