- JavaScript 51.4%
- TypeScript 23.6%
- HTML 22.8%
- Shell 1.3%
- CSS 0.9%
| apps | ||
| docker/nginx | ||
| packages | ||
| scripts | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierrc.json | ||
| deploy | ||
| docker-compose.nginx.ssl.yml | ||
| docker-compose.nginx.yml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| turbo.json | ||
Retroway Monorepo
Monorepo pnpm + Turborepo pour les projets Retroway.
Structure
apps/retroway-bbs: application BBS avec backend Node et frontend Vite existantsapps/retroway-cards: application NestJSapps/retroway-tv: application Vite + Reactpackages/typescript-config: bases TypeScript partageespackages/eslint-config: bases ESLint partageespackages/ui: surface UI React reutilisable
Commandes racine
pnpm installpnpm devpnpm proxy:uppnpm proxy:downpnpm proxy:logspnpm buildpnpm lintpnpm testpnpm typecheck
Deploiement
Le monorepo expose maintenant un point d'entree unique:
sh ./deploy --all
Flux disponibles:
sh ./deploy --postgres: deploie uniquement PostgreSQL pourretroway-bbssh ./deploy --bbs: deploie les JSON runtime, l'admin et le backendretroway-bbssh ./deploy --tv: deploieretroway-tvsh ./deploy --cards: deploieretroway-cardssh ./deploy --all: orchestrepostgres + bbs + tv + cards
Variables d'environnement principales:
REMOTE_HOSTBBS_BACKEND_ENV_FILEBBS_REMOTE_BACKEND_DIRBBS_REMOTE_ADMIN_DIRBBS_REMOTE_SERVICETV_REMOTE_DIRCARDS_ENV_FILECARDS_REMOTE_DIRCARDS_REMOTE_SERVICE
Commandes ciblees
pnpm dev:bbspnpm dev:cardspnpm dev:tvpnpm build:bbspnpm build:cardspnpm build:tv
Conventions
- Les workspaces sont nommes avec le prefixe
@retroway/. - Les imports inter-packages doivent passer par les noms de workspace, pas par des chemins relatifs transverses.
- Le premier objectif est une migration executable. Les convergences de config plus profondes se font ensuite, par etape.
Etat actuel
Le socle monorepo est initialise. Les trois repos applicatifs sont importes sous apps/ avec historique Git preserve.
Si node ou pnpm ne sont pas disponibles sur la machine, installer l'outillage avant d'executer les commandes racine.
Nginx local
Le repo inclut une stack nginx Docker de dev pour reproduire le routage type rag3 sur un seul port public local.
Demarrage:
pnpm dev
Endpoints locaux:
http://localhost:6400/versretroway-tvhttp://localhost:6400/admin/vers l'adminretroway-bbshttp://localhost:6400/api/vers l'APIretroway-bbsws://localhost:6400/wsvers le viewer bridgeretroway-bbs
La config est dans docker-compose.nginx.yml et docker/nginx/dev.conf.
pnpm dev demarre maintenant automatiquement le proxy nginx Docker avant les serveurs Turbo. Pour l'arreter apres usage: pnpm proxy:down.
SSL local
Un mode HTTPS local dedie est disponible sans modifier le mode HTTP existant.
Preparation du certificat:
pnpm proxy:certs
Demarrage en HTTPS:
pnpm dev:ssl
Endpoints HTTPS locaux:
https://localhost:6443/versretroway-tvhttps://localhost:6443/admin/vers l'adminretroway-bbshttps://localhost:6443/api/vers l'APIretroway-bbswss://localhost:6443/wsvers le viewer bridgeretroway-bbs
Le certificat est auto-signe et stocke dans docker/nginx/certs/. Le navigateur affichera un avertissement de confiance tant que le certificat n'est pas ajoute au trousseau local.