Skip to content

Repository files navigation

AlfyChat — Service Serveurs

Microservice de gestion des serveurs communautaires pour AlfyChat.

Node.js TypeScript License

Rôle

Ce service gère la création, la configuration et l'administration des serveurs communautaires AlfyChat : canaux, membres, rôles, invitations et permissions. Inspiré d'une architecture P2P à la manière de TeamSpeak.

Stack technique

Catégorie Technologies
Runtime Bun
Langage TypeScript
API Express
Auth JWT
Cache Redis
Base de données MySQL 8

Architecture globale

Frontend (:4000)  →  Gateway (:3000)  →  Microservices
                                          ├── users    (:3001)
                                          ├── messages  (:3002)
                                          ├── friends   (:3003)
                                          ├── calls     (:3004)
                                          ├── servers   (:3005)  ← ce service
                                          ├── bots      (:3006)
                                          └── media     (:3007)

Démarrage

Prérequis

  • Bun ≥ 1.2
  • MySQL 8
  • Redis 7

Variables d'environnement

PORT=3005
DB_HOST=localhost
DB_PORT=3306
DB_USER=alfychat
DB_PASSWORD=
DB_NAME=alfychat_servers
REDIS_URL=redis://localhost:6379
JWT_SECRET=
SERVICE_REGISTRY_URL=http://gateway:3000

Installation

bun install

Développement

bun run dev

Build production

bun run build
bun run start

Docker

docker compose up servers

Structure du projet

src/
├── database.ts          # Connexion MySQL
├── redis.ts             # Connexion Redis
├── index.ts             # Point d'entrée
├── controllers/         # Logique métier (serveurs, canaux, membres, rôles)
├── routes/              # Définition des routes Express
├── services/            # Services métier
├── middleware/          # Auth JWT, rate limiting
├── types/               # Types TypeScript
└── utils/               # Utilitaires
uploads/                 # Icônes et bannières serveur

Contribution

Voir CONTRIBUTING.md.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages