Une simple open source alternative GitHub sur GitHub (Ironic ORD?), Il vise à être entièrement fonctionnal avec certaines des caractéristiques principales du travail GitHub.
Voir # 84 pour plus d'informations sur les fonctionnalités prises en charge.
Attendez-vous à ce que les choses se cassent.
git push et git remote Vous devez d'abord cloner le référentiel
git clone https://github.com/Fredkiss3/gh-next.gitDémarrez l'instance Docker Compose pour démarrer l'instance DB + Redis:
docker-compose up -d --remove-orphansInstallez les dépendances:
pnpm install Renommer .env.example à .env.local et modifier le fichier en vos besoins,
Et lancer le projet:
pnpm run devL'application s'affiche sur http: // localhost: 3000.
Ouvrez le code source et commencez à basculer! ?
Un aperçu rapide des fichiers et répertoires de niveau supérieur que vous verrez dans ce projet.
.
├── src/
│ ├── app
│ ├── actions
│ ├── components
│ ├── models
│ └── lib/
│ ├── client
│ ├── server
│ └── shared
├── biome.json
├── pnpm-lock.yaml
└── tsconfig.json
src/app/ : Ce dossier contient tous les itinéraires et pages de notre application.
src/actions : Ce dossier contient toute la logique de notre application.
src/components : Ce dossier contient tous les composants de notre application.
src/models : Ce dossier contient tous les modèles DB de notre application.
src/lib/ : Ce dossier contient des utils et des aides utilisés dans notre application:
client : Ce dossier contient tous les utilitaires uniquement, généralement utilisés par les composants clients. Il contient principalement des crochets
server : Ce dossier contient tous les utilitaires uniquement du serveur, pour une utilisation dans les composants du serveur et les actions du serveur. Il contient également les schémas DB à l'intérieur db/schema
shared : Ce dossier contient tous les utilitaires partagés entre le serveur et le client, ceux-ci peuvent être utilisés n'importe où dans l'application.
biome.json : Ce fichier contient la configuration du biome pour activer l'autoformat.
pnpm-lock.yaml : Ce fichier contient le verrouillage des dépendances pour le dépôt.
tsconfig.json : Ce fichier contient la configuration de TypeScript, qui sont utilisées par tous les packages sous-jacents
| Nom | rôle |
|---|---|
SESSION_SECRET | Chaîne de longueur de caractères aléatoire 32 utilisée pour coder l'ID de session |
REDIS_HTTP_URL | L'URL à la connexion à redis http pour un magasin de clé / valeur |
DATABASE_URL | L'URL à la connexion à la base de données Postres |
REDIS_HTTP_USERNAME | URL du serveur de fichiers local pour stocker les valeurs de clés |
REDIS_HTTP_PASSWORD | URL du serveur de fichiers local pour stocker les valeurs de clés |
GITHUB_CLIENT_ID | ID client GitHub stocké pour notre application utilisée pour authentifier les utilisateurs avec GitHub |
GITHUB_PERSONAL_ACCESS_TOKEN | Le jeton client GitHub stocké pour notre application utilisée pour authentifier les utilisateurs avec GitHub |
GITHUB_REDIRECT_URI | URL vers la redirection lorsqu'un utilisateur a été authentifié |
GITHUB_SECRET | Github Secret stocké pour notre application |