Back-Office Overview
The CMS Back-Office is a modern Vue 3 Single Page Application (SPA) that provides administrators and content editors with a comprehensive interface to manage content, users, and system settings.What is the Back-Office?
The Back-Office is the administrative dashboard where authorized users can:- Create and edit content (articles, pages)
- Manage media files (images, documents)
- Configure site settings (themes, menus, blocks)
- Manage users and permissions (admin-only)
- Organize content with categories and tags
Technology Stack
The Back-Office is built with modern web technologies:| Technology | Version | Purpose |
|---|---|---|
| Vue 3 | 3.5 | Progressive JavaScript framework |
| TypeScript | 5.9 | Type-safe development |
| Vite | 7 | Fast build tool and dev server |
| Pinia | 2.3 | State management |
| Vue Router | 4.6 | Client-side routing |
| Tailwind CSS | 4 | Utility-first CSS framework |
| vue-i18n | 9.14 | Internationalization |
Key Features
Multi-Language Support
- UI Languages: French, English, Dutch
- Content Languages: Articles and pages support multiple language versions
- Seamless Switching: Toggle UI language without page reload
Role-Based Access Control
- Admin Role: Full system access including user management
- Editor Role: Content creation and editing capabilities
- Granular Permissions: Fine-grained control over features
Modern UX
- Responsive Design: Works on desktop, tablet, and mobile
- Theme Support: Black and transparent theme options
- Loading States: Clear feedback during operations
- Error Handling: User-friendly error messages
Visual Page Builder
- Unlayer Integration: Drag-and-drop page builder
- Template System: Pre-designed templates for quick start
- Autosave: Never lose your work
- Media Integration: Direct access to media library
Authentication
The Back-Office uses industry-standard OAuth 2.0 / OpenID Connect (OIDC) for authentication:- Production: Keycloak with PKCE flow for maximum security
- Development: Mock authentication service for local development
- Session Management: Tokens stored securely in SessionStorage
- Auto-Logout: Automatic logout on token expiration
Architecture Principles
The Back-Office follows modern architectural patterns:Component-Based Architecture
- Reusable Components: Modular UI building blocks
- Composition API: Vue 3’s modern API for better code organization
- TypeScript: Full type safety across the codebase
Separation of Concerns
- Views: Route-level components (pages)
- Components: Reusable UI elements
- Stores: Centralized state management (Pinia)
- Services: API communication layer
API Integration
- RESTful API: Communicates with Symfony backend
- Automatic Auth: Bearer tokens automatically injected
- ETag Support: Optimistic concurrency control
- Error Handling: Consistent error management
Getting Started
Setup Guide
Install dependencies and run the Back-Office locally
Architecture
Understand the technical architecture and design patterns
Features
Explore available features and functionality
API Reference
API endpoints and integration guide
Developer Resources
Local Development
Project Structure
Next Steps
Support
Need help? Here’s where to find support:- Documentation: This site covers all technical aspects
- AI Agent Context:
.context/back-office/for detailed technical docs - Issue Tracker: Report bugs and request features
- Team Chat: Reach out to the development team