
Dies ist das Repository mit dem Quellcode für die Signal -Website, unser eigenes Nest im Web. Wir finden es ein Kunstwerk, aber natürlich sind wir voreingenommen.
Wenn Sie es interessant, inspirierend finden oder etwas daraus lernen, hinterlassen Sie einen Stern euen
Wir haben diese Website mit Selte + Sveltekit und einer benutzerdefinierten UI-Bibliothek @significa/svelte-ui entwickelt, die unter Signal/Signal-SVVELTE-UI veröffentlicht wurde
Um alle Funktionen zu erreichen, nutzen wir einige externe Dienste:
Die Website wird auf Vercel gehostet und über GitHub -Aktionen -Workflows bereitgestellt. Alle Validierungen für kontinuierliche Integration (CI) werden auch über GIHUB -Aktionen durchgeführt.
Wir haben drei verschiedene Umgebungen für die Website:
local-development für Entwickler, um ihren Code auf ihrer Maschine zu entwickeln und zu testen;staging an die main und Vorschau -Bereitstellungen begrenzt sind (Pull -Anfragen);production wird beim Veröffentlichung einer Veröffentlichung eingesetzt.Dies bedeutet, dass die gesamte Infrastruktur für jede Umgebung eine Version hat. Enthält unterschiedliche Schlüssel und externe und Integrationen: AWS -Ressourcen, Begriffsanwendungen, Datenbanken usw.
So ist alles miteinander verbunden (Pfeile repräsentieren den Anforderungsinitiator):

Die Entwicklung dieses Projekts folgt einer internen Roadmap. Daher sind wir normalerweise nur für Verbesserungen und Bug-Fixes offen, die keinen großen Einfluss auf die Funktionen oder die Projekteinrichtung haben.
Installieren Sie die in der .nvmrc -Datei angegebene Knotenversion (mit Ihrem bevorzugten Knotenversion -Manager).
Holen Sie sich die lokale Entwicklung .env mit 1Password-Sektionen: 1password-secrets local pull . Oder erstellen Sie eine mit basierend auf dem Beispiel in .env.example .
Installieren Sie die Abhängigkeiten mit npm install (oder npm ci für eine gefrorene Lock -Datei).
npm run devnpm run formatnpm run validatenpm run test Die Staging -Umgebung ist an den main , jeweils neuer Zusatz in diesem Zweig, zu einem neuen Einsatz für die Inszenierung.
Um eine neue Version für die Produktion bereitzustellen, erstellen Sie eine Semver -konforme Version in GitHub (vorangestellt mit v , zum Beispiel: vX.XX ), sie wird automatisch für die Produktion bereitgestellt
So erstellen Sie Hotfixes:
git checkout vX.XX ;git checkout -b hotfix/XXXX ;main , die Genehmigung zu erhalten und zusammenzuführen;release/xxx -Verzweigungen, um die Korrekturen zusammenzuschließen. Dieses Material ist unter der AGPL -Lizenz lizenziert, sodass Sie frei remix, lernen und experimentieren können.
Bitte beachten Sie jedoch, dass dies kein traditionelles Open-Source-Projekt ist. Es wird genauer als verfügbar beschrieben. In Übereinstimmung mit der AGPL -Lizenz ist die Umverteilung des Quellcode unter derselben Lizenz mit Zuschreibung an den ursprünglichen Autor obligatorisch. Da die Software nur über ein Netzwerk angeboten werden kann, muss der Quellcode ordnungsgemäß bekannt gegeben werden.
Wir unterstützen dieses Projekt nicht und die Replikation oder das Rebranding wird stark entmutigt. Wir ermutigen Sie jedoch, Sie zu erkunden und inspirieren, wie wir unsere Website erstellt haben.