Skip to content

Develop#10

Merged
pierrick-fonquerne merged 37 commits intomainfrom
develop
Dec 9, 2025
Merged

Develop#10
pierrick-fonquerne merged 37 commits intomainfrom
develop

Conversation

@pierrick-fonquerne
Copy link
Copy Markdown
Owner

No description provided.

- ci.yml: Build and test backend (.NET) and frontend (React)
- pr-main.yml: Validate that only develop can merge into main
- Use find instead of quoted globs for backend project detection
- Remove || true to let failing tests block merges
feat(ci): add GitHub Actions workflows
- Create FantasyRealm.sln with 6 projects:
  - FantasyRealm.Api (ASP.NET Core Web API)
  - FantasyRealm.Application (business logic)
  - FantasyRealm.Domain (entities, interfaces)
  - FantasyRealm.Infrastructure (EF Core, repositories)
  - FantasyRealm.Tests.Unit (xUnit, Moq, FluentAssertions)
  - FantasyRealm.Tests.Integration (Testcontainers)
- Configure project references following Clean Architecture
- Add NuGet packages (EF Core, JWT, MongoDB, BCrypt, FluentValidation)
- Configure Swagger and CORS in Program.cs
…NET-Backend

Fro 15 setup du projet net backend
- Initialize Vite + React + TypeScript project
- Configure ESLint with Prettier integration
- Add React Router for navigation
- Add Vitest with Testing Library for tests
- Create folder structure (components, pages, hooks, services, context, types, utils)
- Add .env.example for environment variables
- Change all projects from net10.0 to net8.0
- Downgrade EF Core packages from 10.0.0 to 8.0.11
- Downgrade MongoDB.Driver from 3.5.2 to 3.1.0
- Downgrade Mvc.Testing from 10.0.0 to 8.0.11
Required for tsc -b to work with project references (TS6306)
fix(backend): align target framework with CI SDK (net8.0)
…React-Frontend

feat(frontend): setup React project with Vite and TypeScript
- Create tables: role, user, character, article, character_article, comment
- Add indexes for performance optimization
- Seed roles, test users, articles and sample characters
- Gender: Male, Female
- ArticleType: Clothing, Armor, Weapon, Accessory
- CommentStatus: Pending, Approved
- ActivityAction: 12 actions for MongoDB activity logs
- Role, User, Character, Article, CharacterArticle, Comment (PostgreSQL)
- ActivityLog (MongoDB)
- Add MongoDB.Bson package for ActivityLog serialization
…ntion

- SnakeCaseNamingConvention for automatic PascalCase to snake_case mapping
- DbContext with 6 DbSets and Fluent API configuration
- Enums stored as strings for SQL readability
- MongoDB context with ActivityLogs collection
- Uses primary constructor (C# 12)
- Add connection strings placeholders in appsettings.json
- Add DependencyInjection.cs with AddInfrastructure extension method
- Add InMemory EF Core package for unit tests
- Add 5 unit tests for FantasyRealmDbContext
…de-donnees

Fro 17 setup des bases de donnees
- Gender, ArticleType, CommentStatus now convert to lowercase
- Matches SQL constraints ('male', 'clothing', 'pending')
fix(infrastructure): align enum conversions with SQL CHECK constraints
- Add IEmailService interface in Application layer
- Create EmailSettings for SMTP configuration
- Implement SmtpEmailService using MailKit
- Add HTML email templates for:
  - Welcome email
  - Password reset
  - Character approved/rejected
  - Comment approved/rejected
  - Account suspended
- Configure DI registration with IOptions pattern
- Add MailKit and configuration extensions packages
- Extract ISmtpClientFactory for testability (DI pattern)
- Add 11 unit tests for EmailTemplates (content, XSS protection, HTML structure)
- Add 13 unit tests for SmtpEmailService (SMTP calls, settings, error handling)
- Add 7 integration tests sending real emails to contact@fantasy-realm.com
- Integration tests use SkippableFact to skip when not configured
- Configure shared user-secrets between Api and Tests.Integration
HTML encoding does not escape URL-significant characters (+, /, =).
Use Uri.EscapeDataString for query string parameters to ensure
valid reset links for all token formats.
…centralise

Fro 45 service d email centralise
@vercel
Copy link
Copy Markdown

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
fantasyrealm-character-manager Ready Ready Preview Comment Dec 9, 2025 10:56pm

@railway-app
Copy link
Copy Markdown

railway-app bot commented Dec 9, 2025

🚅 Environment fantasyrealm-character-man-pr-10 in FantasyRealm Online has no services deployed.

@railway-app railway-app bot temporarily deployed to FantasyRealm Online / fantasyrealm-character-man-pr-10 December 9, 2025 19:53 Destroyed
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Replace System.Web.HttpUtility with System.Net.WebUtility for HTML encoding
in email templates. WebUtility is natively available in .NET Core/8 without
requiring additional package references, unlike HttpUtility which requires
the legacy System.Web assembly.
- Microsoft.Extensions.Options.ConfigurationExtensions: 10.0.0 → 8.0.0
- Microsoft.Extensions.Configuration.UserSecrets: 10.0.0 → 8.0.1

Version 10.x packages are designed for .NET 10 and cause assembly
version conflicts when used with .NET 8 target framework.
…rsions

fix(deps): downgrade Microsoft.Extensions packages to .NET 8 versions
@railway-app railway-app bot temporarily deployed to FantasyRealm Online / fantasyrealm-character-man-pr-10 December 9, 2025 21:01 Destroyed
@railway-app railway-app bot temporarily deployed to FantasyRealm Online / fantasyrealm-character-man-pr-10 December 9, 2025 22:31 Destroyed
Prevents Railway from failing on auto-detection of the monorepo.
Backend deployment configuration will be done in dedicated US.
ci: add railway.toml to skip build until deployment US
@pierrick-fonquerne pierrick-fonquerne merged commit 717b451 into main Dec 9, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant