Skip to content

YoussefSelk/Projet-Vie-Associative

Repository files navigation

Vie Etudiante EILCO

Student clubs and events platform (PHP MVC)

This repository contains the active application used to manage clubs, events, subscriptions, validation workflows, exports, and administration.


Quick Start

  1. Install dependencies:
    composer install
  2. Create local environment file:
    
    

    Linux/macOS

    cp .env.example .env

    Windows PowerShell

    Copy-Item .env.example .env

  3. Edit .env with your local credentials and URLs (see sample below)
  4. Create database:
    CREATE DATABASE vieasso_local CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  5. Run local server:
    php -S localhost:8000
  6. Open:
    http://localhost:8000/index.php?page=home

Simple Technical Help (.env)

APP_ENV=development
APP_DEBUG=true
APP_URL=http://localhost:8000
APP_NAME="Vie Etudiante EILCO"

DB_HOST=localhost DB_PORT=3306 DB_NAME=vieasso_local DB_USER=root DB_PASS= DB_CHARSET=utf8mb4

MAIL_HOST=smtp.yourprovider.com MAIL_PORT=465 MAIL_ENCRYPTION=ssl MAIL_USERNAME=your_email@domain.com MAIL_PASSWORD=your_email_password MAIL_FROM=noreply@domain.com MAIL_FROM_NAME="Vie Etudiante EILCO" MAIL_TIMEOUT=15 MAIL_VERIFY_PEER=true MAIL_VERIFY_PEER_NAME=true MAIL_ALLOW_SELF_SIGNED=false

SESSION_LIFETIME=3600 CSRF_TOKEN_LIFETIME=7200 COOKIE_SECURE=false COOKIE_HTTPONLY=true COOKIE_SAMESITE=Strict SERVER_TYPE=auto


Main Features

  • Centralized route map in routes/web.php with auth and permission metadata
  • Secure session + CSRF + security-header protections
  • Club and event lifecycle with validation and rejection workflows
  • Event subscriptions including AJAX toggle endpoint
  • CSV exports with permission control and rate-limit safeguards
  • Admin pages for analytics, audit, settings, and user management
  • Layered CSS architecture (core/components/layout/pages/responsive)

Documentation Index

DocumentPurpose
Docs/ARCHITECTURE.mdRuntime architecture and startup flow
Docs/MVC_STRUCTURE.mdMVC implementation responsibilities
Docs/ROUTING.mdCurrent route inventory and dispatch rules
Docs/API_REFERENCE.mdControllers and models API map
Docs/DATABASE.mdData model and state-driven workflows
Docs/SECURITY.mdSecurity controls and operational checklist
Docs/INSTALLATION.mdLocal installation and troubleshooting
Docs/PRODUCTION_DEPLOYMENT.mdProduction deployment checklist
Docs/CSS_ARCHITECTURE.mdCSS layering and loading rules
Docs/SWEETALERT2_INTEGRATION.mdSweetAlert helper usage
Docs/IMPLEMENTATION_REJECTION_CYCLE.mdReject/correct/review process details
Docs/CONTRIBUTING.mdContribution standards and PR checks
Docs/screenshots/README.mdScreenshot placeholders and naming

Test Commands

composer test
composer test-unit
composer test-feature
composer security:audit

Scheduled Event Reminders

The platform supports automated reminder emails for event subscribers:

  • first reminder: 48 hours before event start
  • second reminder: 24 hours before event start

Run manually:

php scripts/send_event_reminders.php
php scripts/send_event_reminders.php --window=30

Recommended production schedule (every 15 minutes):

*/15 * * * * php /path/to/project/scripts/send_event_reminders.php >> /path/to/project/logs/reminders.log 2>&1

Screenshot Placeholders

Use screenshot slots defined in Docs/screenshots/README.md.

About

Vie Étudiante EILCO is a student association management platform for clubs, events, subscriptions, and role-based validation workflows.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Contributors