olli 4e82b8396f refactor: Remove billing module and restore API Platform as core dependency
Änderungen:
- Billing-Modul entfernt: composer remove mycrm/billing-module
- API Platform als Core-Dependency wiederhergestellt
- ApiPlatformBundle in config/bundles.php registriert
- BillingModuleBundle aus config/bundles.php entfernt

Problem behoben:
API Platform wurde versehentlich mit dem Billing-Modul entfernt,
obwohl es eine Core-Dependency für die Hauptanwendung ist.
Alle Entities (Contact, User, Project, etc.) benötigen API Platform.

Lösung:
- composer require api-platform/symfony api-platform/doctrine-orm
- Bundle-Registrierung in config/bundles.php korrigiert
- Cache erfolgreich geleert, Frontend erfolgreich gebaut

Hinweis:
Zukünftige Module sollten keine Core-Dependencies (Symfony, Doctrine,
API Platform) als eigene Abhängigkeiten deklarieren, da diese bereits
im Core vorhanden sind.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-14 18:15:41 +01:00

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:

🎯 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

🤝 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:

  1. Deal-Entity mit Pipeline-Stages erstellen
  2. Activity-Entity für Interaktionshistorie
  3. Dashboard mit KPIs und Charts
  4. Reporting-Modul
  5. E-Mail-Integration
  6. Kalender/Termine
Description
CRM 2025 - Build with Symfony + Vue
Readme 1.8 MiB
Languages
Vue 42.3%
PHP 41.3%
Twig 10.2%
JavaScript 3.4%
SCSS 2.6%
Other 0.2%