Als einfache Alternative Open Source in Github (ironisches Recht?) Zielen ist, mit einigen der Kernmerkmale des Github -funktionierenden Github -Funktionen voll funktionsfähig zu sein.
Weitere Informationen zu den unterstützten Funktionen finden Sie in #84.
Erwarten Sie, dass Sachen brechen.
git push und git remote -Befehle Zuerst müssen Sie das Repository klonen
git clone https://github.com/Fredkiss3/gh-next.gitStarten Sie die Docker -Kompose -Instanz, um die DB + Redis -Instanz zu starten:
docker-compose up -d --remove-orphansInstallieren Sie die Abhängigkeiten:
pnpm install Nennen Sie .env.example in .env.local und ändern Sie die Datei in Ihre Anforderungen.
Und starten Sie das Projekt:
pnpm run devDie App wird unter http: // localhost: 3000 angezeigt.
Öffnen Sie den Quellcode und schaukeln! ?
Ein kurzer Blick auf die obersten Dateien und Verzeichnisse, die Sie in diesem Projekt sehen.
.
├── src/
│ ├── app
│ ├── actions
│ ├── components
│ ├── models
│ └── lib/
│ ├── client
│ ├── server
│ └── shared
├── biome.json
├── pnpm-lock.yaml
└── tsconfig.json
src/app/ : Dieser Ordner enthält alle Routen und Seiten unserer App.
src/actions : Dieser Ordner enthält die gesamte Logik unserer App.
src/components : Dieser Ordner enthält alle Komponenten unserer App.
src/models : Dieser Ordner enthält alle DB -Modelle unserer App.
src/lib/ : Dieser Ordner enthält Utils & Helpers, die in unserer App verwendet werden:
client : Dieser Ordner enthält alle Dienstprogramme, die nur von Clients sind und normalerweise von Client-Komponenten verwendet werden. Es enthält hauptsächlich Haken
server : Dieser Ordner enthält alle Dienstprogramme, die nur server sind, für die Verwendung in Serverkomponenten und Serveraktionen. Es enthält auch die DB -Schemata im db/schema
shared : Dieser Ordner enthält alle Dienstprogramme, die zwischen Server und Client gemeinsam genutzt werden. Diese können überall in der App verwendet werden.
biome.json : Diese Datei enthält die Konfiguration für Biome, um die automatische Formatierung zu ermöglichen.
pnpm-lock.yaml : Diese Datei enthält die Abhängigkeiten für das Repo.
tsconfig.json : Diese Datei enthält die Konfiguration für Typscript, die von allen zugrunde liegenden Paketen verwendet wird
| Nom | Rolle |
|---|---|
SESSION_SECRET | Zufällige 32 Zeichen Länge String, die zur Codierung der Sitzungs -ID verwendet wird |
REDIS_HTTP_URL | Die URL zur Verbindung zu Redis HTTP für einen Schlüssel-/Wertspeicher |
DATABASE_URL | Die URL zur Verbindung zur Postsbank für die Nachstrahlung |
REDIS_HTTP_USERNAME | Lokale Dateiserver -URL zum Speichern von Schlüsselwerten |
REDIS_HTTP_PASSWORD | Lokale Dateiserver -URL zum Speichern von Schlüsselwerten |
GITHUB_CLIENT_ID | GitHub Client -ID, die für unsere App gespeichert ist, verwendet zur Authentifizierung von Benutzern mit GitHub |
GITHUB_PERSONAL_ACCESS_TOKEN | GitHub Client -Token, das für unsere App gespeichert ist |
GITHUB_REDIRECT_URI | URL zur Umleitung, wenn ein Benutzer authentifiziert wurde |
GITHUB_SECRET | Github Secret, das für unsere App gespeichert ist |