Nœud de serveur communautaire auto-hébergé pour AlfyChat.
server-node est le composant qui s'exécute sur chaque nœud de serveur communautaire AlfyChat. Il gère les serveurs, canaux, rôles, membres, messages de serveur, invitations et bots dans un contexte auto-hébergé ou distribué.
| Catégorie | Technologies |
|---|---|
| Runtime | Bun |
| Langage | TypeScript |
| ORM | Prisma |
| Base de données | MySQL 8 |
| Auth | JWT |
| API | Express |
Gateway (:3000) → Server Node ← ce composant
│
└── Base MySQL (Prisma)
- Bun ≥ 1.2
- MySQL 8
PORT=3008
DATABASE_URL=mysql://alfychat:password@localhost:3306/alfychat_node
JWT_SECRET=
GATEWAY_URL=https://gateway.alfychat.combun install
bunx prisma migrate deploybun run devbun run build
bun run startdocker compose up server-nodesrc/
├── app.ts # Configuration Express
├── index.ts # Point d'entrée
├── config/ # Configuration globale
├── enums/ # Énumérations TypeScript
├── gateway/ # Communication avec la gateway principale
├── middleware/ # Auth JWT, permissions
├── routes/ # Routes (servers, channels, roles, members, messages)
├── services/ # Logique métier
└── utils/ # Utilitaires
prisma/
└── schema.prisma # Schéma de base de données
Voir CONTRIBUTING.md.