Système de gestion de personnages pour le MMORPG "FantasyRealm Online" par PixelVerse Studios.
Application web permettant aux joueurs de :
- Créer et personnaliser des personnages (traits du visage, couleurs)
- Équiper des accessoires (vêtements, armures, armes)
- Partager leurs créations avec la communauté
- Commenter les créations des autres joueurs
| Couche | Technologie |
|---|---|
| Frontend | React 19 + TypeScript + Vite |
| Backend | .NET 8 (ASP.NET Core Web API) |
| BDD Relationnelle | PostgreSQL 18 |
| BDD NoSQL | MongoDB 8.0 (logs d'activité) |
| Conteneurisation | Docker Compose |
fantasyrealm-character-manager/
├── src/
│ ├── frontend/ # Application React + TypeScript
│ └── backend/ # API .NET 8
├── infra/ # Docker, scripts de déploiement
├── docs/ # Documentation (manuel, charte graphique)
├── database/
│ ├── sql/ # Scripts PostgreSQL
│ └── mongodb/ # Scripts MongoDB
└── README.md
- Docker Desktop (pour l'environnement local)
- Node.js 20 LTS (pour le développement frontend)
- .NET SDK 8.0 (optionnel, pour le développement backend hors Docker)
# Cloner le repository
git clone https://github.com/pierrick-fonquerne/fantasyrealm-character-manager.git
cd fantasyrealm-character-manager
# Lancer l'installation automatique
./scripts/install.shLe script va :
- Vérifier que Docker est installé et démarré
- Générer automatiquement des mots de passe sécurisés dans
.env - Démarrer PostgreSQL 18, MongoDB 8.0 et l'API .NET
- Exécuter les migrations SQL
Services disponibles après installation :
| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| API | http://localhost:5000 |
| Swagger | http://localhost:5000/swagger |
| pgAdmin | http://localhost:5050 |
| PostgreSQL | localhost:5432 |
| MongoDB | localhost:27017 |
./scripts/start.sh # Démarrer l'environnement
./scripts/stop.sh # Arrêter l'environnement
./scripts/logs.sh # Voir les logs (tous les services)
./scripts/logs.sh api # Voir les logs de l'API
./scripts/migrate.sh # Exécuter les nouvelles migrations SQL
./scripts/reset-db.sh # Réinitialiser les bases de donnéescd src/frontend
npm install
npm run devL'application sera disponible sur http://localhost:5173
Cliquer pour voir les instructions manuelles
- PostgreSQL 18
- MongoDB 8.0
cd src/backend
dotnet restore
# Configurer les connexions BDD dans appsettings.Development.json
dotnet run --project src/FantasyRealm.Api# PostgreSQL - Créer la base de données
createdb -U postgres fantasyrealm
# Exécuter les scripts SQL
psql -U postgres -d fantasyrealm -f database/sql/001_initial_schema.sqlnpm run dev # Serveur de développement
npm run build # Build de production
npm run lint # Vérification ESLint
npm run type-check # Vérification TypeScript
npm run test # Lancer les testsdotnet run # Lancer l'API
dotnet build # Compiler
dotnet test # Lancer les tests
dotnet ef database update # Appliquer les migrations| Service | Plateforme |
|---|---|
| Frontend | Vercel |
| Backend + PostgreSQL | Railway |
| MongoDB | MongoDB Atlas |
| Rôle | Permissions |
|---|---|
| User | Création/gestion de personnages, avis |
| Employee | Modération, gestion des articles |
| Admin | Gestion des employés, logs d'activité |
- RGPD : Protection des données personnelles
- RGAA : Accessibilité web
- CNIL : Sécurité des mots de passe
MIT License - voir LICENSE
Projet ECF - TP Développeur Web et Web Mobile