Die Anwendung soll eine Plattform für kollaboratives Zeichnen mit mehreren Benutzern bieten. Der Fokus liegt dabei auf dem Zusammenschluss in Gruppen (Channels), die eine Zeichenfläche zur Verfügung gestellt bekommen, mit der sie gemeinsam an einem Sketch arbeiten können. Die so erstellten Zeichnungen können abgeschlossen und wenn gewünscht veröffentlicht werden. Im "Public Feed" werden diese dann, zusammen mit Bildern anderer Kanäle, allen angemeldeten und anonymen Besuchern angezeigt und können von ersteren mit "Gefällt mir" oder "Gefällt mir nicht" ausgezeichnet werden.
- Komponenten:
- Websocket
- Zeichenkomponente+Toolbox
- Dashboard Frontend
- Sketch-History
- Sketch-Export und Vorlagen Import
- Komponenten:
- Sketchfunktionalität Backend (Datenbankmodel, Upload)
- Publicfeed
- Web- und Datenbankhosting
- Logo-Design
- Impressum
- Komponenten:
- Backendrouting und Express-Konfiguration
- Datenbank, Modelle User und Channel
- Authentifizierung
- Channelsystem
- Frontend Landing- und PublicFeed
- View Engine
- Dateiupload
- Domainregistrierung
- Webserverhosting
- Komponenten:
- Design Adminsettings Dialog
- Design Userprofile Dialog
- Landingpage Anordnung und Texte
Die App wird vom Projektteam unter der Domain https://www.sketchimp.me angeboten.
Zusätzlich besteht die Möglichkeit, das Projekt direkt auf einem eigenen Webserver auszuführen.
Allerdings ist zu beachten, dass, ohne Anpassung der Datenbank-Verbindung, die Bild-Referenzen nicht geladen werden können, da die Quelldateien nur auf dem gehosteten Webserver vorliegen. Die reguläre Datenbank-URL liegt unter /lib/config/Constants.js
als Konstante vor. Diese muss von Ihrer eigenen MONGO-DB Adresse ersetzt werden.
Um die Anwendung lokal zu installieren und zu starten sind keine besonderen Schritte notwendig. Es reichen folgende Kommandos:
npm install
npm start
Die App wurde primär mit Chrome/Chromium basierten Browser getestet und sollte nur mit diesen verwendet werden. Auch eine mobile Version wird nicht unterstützt. Damit die Anwendung vollständig genutzt werden kann, müssen Cookies clientseitig erlaubt sein. Die Performance der Anwendung ist durch Verwendung verschiedener Libraries nicht optimal und könnte noch verbessert werden. Weiterhin besteht bezüglich des gehosteten Webservers eine finanzielle Problematik, da uns keine Geldmittel zur Verfügung stehen um das Projekt umzusetzen. Es gelten Beschränkungen durch den Provider "Heroku" bezüglich verfügbarer Bandbreite, Arbeitsspeicher und Festplattenspeicher des Systems. Um Fehler seitens des Webservers auszuschließen, sollte die Anwendung daher im Zweifel auf einer lokalen Maschine mit eigener MongoDB Instanz betrieben werden.