myCRM/README.md
2025-11-08 10:26:44 +01:00

4.3 KiB

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 - Professionelle UI-Komponenten (DataTable, Charts, Forms)
  • API Platform - RESTful API mit OpenAPI-Dokumentation
  • MariaDB - Zuverlässige relationale Datenbank
  • Webpack Encore - Asset-Management und Hot Module Replacement

📋 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 (wenn Migrations vorhanden)
php bin/console doctrine:migrations:migrate

🎯 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
    /composables   - Vue Composition API Functions
    /stores        - Pinia State Management
    /api           - API Client Wrapper
  /styles          - SCSS/CSS Styles
/config            - Symfony-Konfiguration
/src
  /Controller      - HTTP Controllers
  /Entity          - Doctrine Entities
  /Repository      - Database Queries
  /Service         - Business Logic
  /Security/Voter  - Permission Logic
/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 - UI Component Library
  • Webpack Encore - Asset Bundler

Database

  • MariaDB - Primary Database

📱 Module

  • Dashboard - Übersicht und KPIs
  • Kontakte - Kontaktverwaltung mit Status-Tracking
  • Unternehmen - Firmendatenbank
  • Deals - Sales-Pipeline Management
  • Aktivitäten - Interaktions-Historie

🔐 Sicherheit

  • Symfony Security Component mit Voter-Pattern
  • CSRF-Schutz
  • Password Hashing mit Symfony Password Hasher
  • API-Authentifizierung (JWT/API Keys)

🧪 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: Projekt initialisiert und bereit für die Entwicklung!

Next Steps:

  1. Erste Entity erstellen: php bin/console make:entity Contact
  2. Migration generieren: php bin/console make:migration
  3. Migration ausführen: php bin/console doctrine:migrations:migrate
  4. API Resource erstellen: php bin/console make:entity --api-resource