Skip to content

alfycore/users-Backend-AlfyChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlfyChat — Service Utilisateurs

Microservice d'authentification et de gestion des utilisateurs pour AlfyChat.

Node.js TypeScript License

Rôle

Ce service gère l'ensemble du cycle de vie des utilisateurs : inscription, connexion, vérification email, double authentification (2FA/TOTP), gestion des préférences, conformité RGPD, badges, statut personnalisé et clés de chiffrement E2EE.

Stack technique

Catégorie Technologies
Runtime Bun
Langage TypeScript
API Express
Auth JWT (access + refresh), bcryptjs
2FA otplib (TOTP)
Email Nodemailer
Cache Redis
Base de données MySQL 8

Architecture globale

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

Démarrage

Prérequis

  • Bun ≥ 1.2
  • MySQL 8
  • Redis 7

Variables d'environnement

PORT=3001
DB_HOST=localhost
DB_PORT=3306
DB_USER=alfychat
DB_PASSWORD=
DB_NAME=alfychat_users
REDIS_URL=redis://localhost:6379
JWT_SECRET=
JWT_REFRESH_SECRET=
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
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 users

Structure du projet

src/
├── index.ts             # Point d'entrée
├── controllers/         # Auth, profil, 2FA, badges, préférences, changelog
├── routes/              # Définition des routes Express
├── services/            # AuthService, EmailService, TwoFactorService
├── middleware/          # Auth JWT, rate limiting
├── types/               # Types TypeScript
└── utils/               # Utilitaires (RGPD, clés E2EE)

Contribution

Voir CONTRIBUTING.md.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors