- Introduced CSS custom properties for spacing, typography, colors, and shadows. - Developed styles for form sections, grids, invoice items, and summary components. - Implemented responsive design adjustments for various screen sizes. - Added utility classes for text, spacing, and flex layouts. - Included dark mode and high contrast mode support. - Established loading states and validation/error styles. - Enhanced accessibility features with focus styles and screen reader utilities.
…
…
…
…
…
…
myCRM - Moderne CRM-Lösung
Eine moderne, modulare CRM-Anwendung basierend auf Symfony 7.1 LTS, Vue.js 3 und PrimeVue.
🚀 Features
- Symfony 7.1 LTS - Stabile PHP-Backend-Framework
- Vue.js 3 - Modernes, reaktives Frontend mit Composition API
- PrimeVue 4 - Professionelle UI-Komponenten (DataTable, Charts, Forms)
- Sakai Template - Professional Admin Layout mit Dark Mode
- Tailwind CSS v4 - Utility-First CSS Framework
- API Platform - RESTful API mit OpenAPI-Dokumentation
- MariaDB - Zuverlässige relationale Datenbank
- Webpack Encore - Asset-Management und Hot Module Replacement
- Modulares Berechtigungssystem - Flexible Rollen mit Modul-basierter Rechteverwaltung
- User CRUD - Vollständige Benutzerverwaltung via API Platform
- Login-System - Form-basierte Authentifizierung mit Remember Me
- Kontaktmodul - Firmenstammdaten mit Ansprechpersonen und Debitor/Kreditor-Klassifizierung
📋 Voraussetzungen
- PHP 8.2 oder höher
- Composer 2.x
- Node.js 18.x oder höher
- MariaDB/MySQL 10.x oder höher
- NPM oder Yarn
🛠️ Installation
# 1. Repository klonen
git clone <repository-url> mycrm
cd mycrm
# 2. PHP-Abhängigkeiten installieren
composer install
# 3. NPM-Abhängigkeiten installieren
npm install
# 4. Umgebungsvariablen konfigurieren
# Kopiere .env zu .env.local und passe DATABASE_URL an
cp .env .env.local
# 5. Datenbank erstellen
php bin/console doctrine:database:create
# 6. Datenbank-Schema erstellen
php bin/console doctrine:migrations:migrate
# 7. Test-Daten laden (optional)
php bin/console doctrine:fixtures:load
Testbenutzer
Nach dem Laden der Fixtures stehen folgende Testbenutzer zur Verfügung:
- Administrator: admin@mycrm.local / admin123
- Vertriebsmitarbeiter: sales@mycrm.local / sales123
🎯 Entwicklung
Backend-Server starten
# Mit PHP Built-in Server
php -S localhost:8000 -t public/
# ODER mit Symfony CLI (wenn installiert)
symfony serve -d
Frontend-Assets kompilieren
# Einmalig kompilieren
npm run dev
# Mit Auto-Reload (empfohlen für Entwicklung)
npm run watch
# Für Production
npm run build
Parallel Development (empfohlen)
Öffne zwei Terminal-Fenster:
Terminal 1:
php -S localhost:8000 -t public/
Terminal 2:
npm run watch
📂 Projektstruktur
/assets
/js
/components - Wiederverwendbare Vue-Komponenten
/views - Page-Level Vue-Komponenten (ContactManagement, UserManagement, etc.)
/layout - Sakai Layout-Komponenten (AppLayout, AppTopbar, AppSidebar, AppMenu)
/composables - Vue Composition API Functions
/stores - Pinia State Management
/api - API Client Wrapper
/styles
/layout - Sakai SCSS (Topbar, Sidebar, Menu, Footer, Responsive, Animations)
tailwind.css - Tailwind CSS v4 mit PrimeUI Plugin
sakai.scss - Sakai Layout Imports
/config - Symfony-Konfiguration
/src
/Controller - HTTP Controllers
/Entity - Doctrine Entities (User, Role, Contact, ContactPerson)
/Repository - Database Queries
/Service - Business Logic
/Security/Voter - Permission Logic
/DataFixtures - Test-Daten (200 Kontakte mit realistischen deutschen Daten)
/templates - Twig Templates
/public - Public Assets & Entry Point
/migrations - Doctrine Migrations
/tests - Tests (PHPUnit, Jest/Vitest)
🎨 Technologie-Stack
Backend
- Symfony 7.1 LTS - PHP Framework
- Doctrine ORM - Database Abstraction
- API Platform - REST API Generation
- Symfony Security - Authentication & Authorization
Frontend
- Vue.js 3 - Progressive JavaScript Framework
- Vue Router - SPA Navigation
- Pinia - State Management
- PrimeVue 4 - UI Component Library mit Aura Theme
- Sakai Template - Professional Admin Layout (von PrimeFaces)
- Tailwind CSS v4 - Utility-First CSS Framework mit PrimeUI Plugin
- Webpack Encore - Asset Bundler
Database
- MariaDB - Primary Database
📱 Module
- Dashboard - Übersicht und KPIs
- Kontakte - Firmenstammdatenverwaltung mit Ansprechpersonen (✅ implementiert)
- Vollständige CRUD-Operationen via API Platform
- Server-seitige Filterung (Debitoren/Kreditoren/Status)
- 200 Test-Fixtures mit realistischen deutschen Firmendaten
- Strukturiertes Formular in 6 Kategorien (Basisdaten, Adresse, Kontaktdaten, Steuerdaten, Ansprechpartner, Notizen)
- Bis zu 2 Ansprechpersonen pro Firma
- Debitor/Kreditor-Klassifizierung (beide möglich)
- Aktiv/Inaktiv-Status
- Deals - Sales-Pipeline Management (in Entwicklung)
- Aktivitäten - Interaktions-Historie (in Entwicklung)
- Benutzerverwaltung - CRUD für User (✅ implementiert)
- Rollenverwaltung - Modulare Berechtigungen (✅ implementiert)
🔐 Sicherheit
- Symfony Security Component mit Voter-Pattern
- CSRF-Schutz aktiviert
- Password Hashing mit Symfony PasswordHasher (bcrypt)
- Session-basierte Authentifizierung mit Remember Me (7 Tage)
- API-Sicherheit mit granularen Berechtigungen (ROLE_ADMIN, object == user)
- Modulares Berechtigungssystem mit 6 Aktionstypen (View, Create, Edit, Delete, Export, Manage)
🧪 Testing
# Backend Tests (PHPUnit)
php bin/phpunit
# Frontend Tests (wenn konfiguriert)
npm run test:unit
# Doctrine Schema validieren
php bin/console doctrine:schema:validate
📚 Weitere Dokumentationen
- LOGIN.md - Authentifizierungssystem
- PERMISSIONS.md - Modulares Berechtigungssystem
- USER-CRUD.md - Benutzerverwaltung mit API Platform
- AI Agent Instructions - Entwickler-Richtlinien
- Symfony Documentation
- API Platform Documentation
- Vue.js Guide
- PrimeVue Documentation
🤝 Entwicklungs-Konventionen
Siehe .github/copilot-instructions.md für detaillierte Informationen zu:
- Architektur-Patterns
- Code-Standards
- Testing-Strategien
- CRM Domain Logic
📝 Lizenz
Proprietary - Alle Rechte vorbehalten
👥 Autoren
Dein Team
Status: ✅ Grundsystem + Kontaktmodul implementiert - Ready for weitere CRM-Module!
Implementiert:
- ✅ Projekt-Setup (Symfony 7.1 + Vue.js 3 + PrimeVue 4)
- ✅ Sakai Template Integration (Professional Admin Layout)
- ✅ Tailwind CSS v4 mit PrimeUI Plugin
- ✅ Modulares Berechtigungssystem (User, Role, Module, RolePermission)
- ✅ Login-System mit Remember Me
- ✅ User-CRUD mit API Platform
- ✅ Kontaktmodul mit Firmenstammdaten
- Contact & ContactPerson Entities
- API Platform REST Endpoints mit Filtern
- Vue.js ContactManagement Component
- Strukturiertes Formular (6 Kategorien)
- 200 Test-Fixtures mit deutschen Daten
- Server-seitige Filterung & Pagination
- ✅ Vue.js Frontend mit PrimeVue DataTable, Dialogs, Forms
- ✅ Password-Hashing via State Processor
- ✅ Dark Mode Support
- ✅ Responsive Design mit Sakai Layout
Next Steps:
- Deal-Entity mit Pipeline-Stages erstellen
- Activity-Entity für Interaktionshistorie
- Dashboard mit KPIs und Charts
- Reporting-Modul
- E-Mail-Integration
- Kalender/Termine
Description
Languages
Vue
42.3%
PHP
41.3%
Twig
10.2%
JavaScript
3.4%
SCSS
2.6%
Other
0.2%