feat(Notification process: text, app name, membership validation + project update)
All checks were successful
Deploy Roxane to Preprod / deploy (push) Successful in 1m21s

This commit is contained in:
2026-07-18 15:19:48 +02:00
parent b4845511a6
commit 81dbe4275d
18 changed files with 142 additions and 52 deletions

View File

@@ -12,17 +12,24 @@ The project is developed in the context of **Le Retzien Libre**, a non-profit as
**Back office (administrators)**
- Member management (status, nature, groups)
- Subscription and package management
- Subscription and package management with validation workflow (pending → active)
- Manual and automated synchronization with third-party services
- Role and permission management (Spatie Permissions + Filament Shield)
- Two-factor authentication for admin accounts
**Front office (members)**
- Registration and membership form
- Registration and membership form with real-time field validation
- Personal dashboard with access to associated services
- Profile and password management
- Two-factor authentication
**Email notifications**
- Admin notified on new contact request and new membership request (with direct link to the membership record)
- Member receives a confirmation email on registration and a validation email when approved
- Member notified on account deactivation and subscription expiry
- Queued notifications (`ShouldQueue`) — requires a running queue worker
- Separate application name for member emails (`FRONT_NAME`) vs admin emails (`APP_NAME`)
**Integrations**
- Dolibarr ERP (member and subscription import via REST API)
- ISPConfig (mail and web hosting account management via SOAP)
@@ -65,7 +72,7 @@ The project is developed in the context of **Le Retzien Libre**, a non-profit as
### 1. Clone the repository
```bash
git clone https://github.com/your-org/roxane.git
git clone https://github.com/SabrinaNebulae/roxane.git
cd roxane
```
@@ -87,6 +94,8 @@ Edit `.env` and configure:
- Database connection (`DB_*`)
- Redis connection (`REDIS_*`)
- Mail configuration (`MAIL_*`)
- Application names: `APP_NAME` (admin panel), `FRONT_NAME` (member-facing emails)
- Admin email: `ADMIN_EMAIL` (recipient for all admin notifications)
- Third-party service credentials (Dolibarr, ISPConfig, Nextcloud)
### 4. Database setup
@@ -186,19 +195,20 @@ php artisan test --compact
## Known TODOs
| Area | Description |
|---------------------------|---------------------------------------------------------------------|
| ContactService | Send email notification to administrator on new contact request |
| MemberService | Send emails to member and admin on deactivation |
| SubscriptionExpiredPhase1 | Generic template + backend UI for notification content management |
| User.php | Restrict admin access in production to @retzien.fr emails |
| SyncDolibarrMembers | Extract `toDate()` method into a shared service or helper |
| SyncISPConfigMailMembers | Handle multiple email addresses per member |
| SyncISPConfigMailMembers | Track `ispconfig_client_id` |
| Global | Make Roxane fully generic for any association ERP use case |
| Translations | Audit project for missing translation keys |
| Global | Raise PHPStan to level 8 |
| V2 | Keycloak SSO integration (OIDC) for front office authentication |
| Area | Description |
|-----------------------------|----------------------------------------------------------------------------------|
| Notifications | Propagate `appName` view variable to all remaining notifications |
| SubscriptionExpiredPhase1 | Backend UI for editing notification template content |
| MembershipValidatedNotif. | Add HelloAsso payment link once integration is available |
| User.php | Restrict admin access in production to @retzien.fr emails |
| SyncDolibarrMembers | Extract `toDate()` method into a shared service or helper |
| SyncISPConfigMailMembers | Handle multiple email addresses per member |
| SyncISPConfigMailMembers | Track `ispconfig_client_id` |
| Global | Make Roxane fully generic for any association ERP use case |
| Translations | Audit project for missing translation keys |
| Global | Raise PHPStan to level 8 |
| dev-routes.php | Remove `/test/mail` debug route before production deployment |
| V2 | Keycloak SSO integration (OIDC) for front office authentication |
---