Back to .md Directory

πŸŽ‰ CMS Platform - Multi-Sector Customer Management System

[![Status](https://img.shields.io/badge/status-operational-success)](http://localhost:8080)

May 2, 2026
0 downloads
0 views
ai rag
View source

πŸŽ‰ CMS Platform - Multi-Sector Customer Management System

Status Backend Frontend Database Kafka

A modern, enterprise-grade Customer Management System with sector-based architecture supporting Banking & Finance, Healthcare, Logistics & Supply Chain, and Content Creation industries.


πŸš€ Quick Start

Access the Application

Frontend URL: http://localhost:3000
Backend API: http://localhost:8081

Test Credentials (Sector-Specific)

Banking Sector:

  • Username: banking_admin
  • Password: admin123

Healthcare Sector:

  • Username: healthcare_admin
  • Password: admin123

Logistics Sector:

  • Username: logistics_admin
  • Password: admin123

Content Creation Sector:

  • Username: content_admin
  • Password: admin123

Run with Docker (Recommended)

docker-compose up -d

Run Locally

# Backend
cd backend && mvn spring-boot:run

# Frontend (separate terminal)
cd frontend && npm run dev

✨ Key Features

οΏ½ Sector-Ba sed Architecture

  • Global Navigation (Command Palette): Quick jump anywhere via Ctrl+K.
  • Automatic Sector Detection: Users are automatically redirected to their sector dashboard upon login
  • Sector-Specific Theming: Each sector has its own color scheme and branding
  • Multi-Tenant Support: Organization-level data isolation with Row-Level Security (RLS)
  • Sector Authorization: API-level access control based on user's assigned sector
  • Security & Compliance: Standardized configurations via SECURITY.md and CODE_OF_CONDUCT.md

🏦 Banking & Finance

  • Account Management: Checking, Savings, Business, Credit accounts
  • Transaction Tracking: Deposits, Withdrawals, Transfers with real-time updates
  • Risk Assessment: Automated risk scoring and monitoring
  • Compliance Tools: Regulatory compliance tracking and reporting

πŸ₯ Healthcare

  • Patient Records: Comprehensive patient data management with HIPAA compliance
  • Appointment Scheduling: Calendar-based scheduling with reminders
  • Medical History: Complete medical history tracking
  • Insurance Management: Insurance claims and coverage tracking

πŸš› Logistics & Supply Chain

  • Shipment Tracking: Real-time shipment status and location tracking
  • Inventory Management: Stock levels, reorder points, and warehouse management
  • Route Optimization: AI-powered route planning for efficient delivery
  • Fleet Management: Vehicle tracking, maintenance scheduling
  • Warehouse Management: Multi-warehouse inventory control
  • Vendor Relations: Supplier management and procurement

🎨 Content Creation

  • Project Management: Task tracking, milestones, and deadlines
  • Client Portal: Client collaboration and feedback system
  • Content Calendar: Editorial calendar with publishing schedule
  • Asset Management: Digital asset library with version control
  • Time Tracking: Project time tracking and billing
  • Collaboration Tools: Team communication and file sharing

πŸ—οΈ Architecture

System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React Frontend (Vite + React Router)                  β”‚
β”‚   - Sector-Specific Dashboards                          β”‚
β”‚   - Dynamic Theming (Banking/Healthcare/Logistics/...)  β”‚
β”‚   - Protected Routes with Sector Authorization          β”‚
β”‚   - Professional Landing Page                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ REST API (JWT)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Spring Boot Backend (Port 8080)                       β”‚
β”‚   - Sector Detection Service                            β”‚
β”‚   - Sector Authorization Filter                         β”‚
β”‚   - JWT + Role-Based Access Control                     β”‚
β”‚   - Multi-Tenant Security (RLS)                         β”‚
β”‚   - Audit Logging                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚                    β”‚
           β”‚ JDBC               β”‚ Kafka Events
           β–Ό                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  PostgreSQL (5432)   β”‚  β”‚  Apache Kafka (9092)    β”‚
β”‚  - Row-Level Securityβ”‚  β”‚  - Sector Events        β”‚
β”‚  - Encrypted Fields  β”‚  β”‚  - Audit Events         β”‚
β”‚  - 10+ Tables        β”‚  β”‚  - Event Sourcing       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Monitoring Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Prometheus (9090)  β”‚  β”‚  Grafana (3000)     β”‚
β”‚  - Metrics          β”‚β†’ β”‚  - Dashboards       β”‚
β”‚  - Alerts           β”‚  β”‚  - Visualization    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Tech Stack

Backend

  • Framework: Spring Boot 3.3.0
  • Language: Java 17
  • Database: PostgreSQL 15 with Row-Level Security (RLS)
  • Security: JWT + BCrypt + Field-Level Encryption (AES-256)
  • ORM: JPA/Hibernate with Liquibase migrations
  • Messaging: Apache Kafka 7.4.0 for event-driven architecture
  • Caching: Caffeine for sector detection caching
  • Monitoring: Micrometer + Prometheus

Frontend

  • Framework: React 19
  • Build Tool: Vite 7
  • UI: DaisyUI + Tailwind CSS + React Icons
  • State: React Context API
  • Routing: React Router v7 with sector-based routing
  • HTTP Client: Axios with interceptors
  • Notifications: React Toastify

Infrastructure

  • Containerization: Docker + Docker Compose
  • Orchestration: Kubernetes ready (manifests in k8s/)
  • CI/CD: GitLab CI with automated testing and deployment
  • Monitoring: Prometheus + Grafana
  • Database Admin: pgAdmin 4
  • Message Monitoring: Kafka UI

πŸ“ Project Structure

cms/
β”œβ”€β”€ backend/              # Spring Boot backend
β”‚   β”œβ”€β”€ src/main/java/   # Java source code
β”‚   β”‚   β”œβ”€β”€ config/      # Configuration classes
β”‚   β”‚   β”œβ”€β”€ controller/  # REST controllers
β”‚   β”‚   β”œβ”€β”€ entity/      # JPA entities
β”‚   β”‚   β”œβ”€β”€ repository/  # Data repositories
β”‚   β”‚   β”œβ”€β”€ security/    # JWT security
β”‚   β”‚   └── service/     # Business logic
β”‚   └── pom.xml          # Maven configuration
β”œβ”€β”€ frontend/            # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # React components
β”‚   β”‚   β”œβ”€β”€ pages/       # Page components
β”‚   β”‚   β”œβ”€β”€ services/    # API services
β”‚   β”‚   └── context/     # React context
β”‚   └── package.json     # npm configuration
β”œβ”€β”€ .docs/              # πŸ“š Documentation (19 files)
β”œβ”€β”€ k8s/                # Kubernetes manifests
β”œβ”€β”€ docker-compose.yml  # Docker orchestration
β”œβ”€β”€ Dockerfile          # Multi-stage build
└── README.md           # This file

πŸ”‘ Test Credentials

Banking Sector

UsernamePasswordRoleAccess
banking_adminadmin123ADMINFull banking access
banking_manageradmin123MANAGERBanking management
banking_useradmin123USERBanking user access

Healthcare Sector

UsernamePasswordRoleAccess
healthcare_adminadmin123ADMINFull healthcare access
healthcare_manageradmin123MANAGERHealthcare management
healthcare_useradmin123USERHealthcare user access

Logistics Sector

UsernamePasswordRoleAccess
logistics_adminadmin123ADMINFull logistics access
logistics_manageradmin123MANAGERLogistics management
logistics_useradmin123USERLogistics user access

Content Creation Sector

UsernamePasswordRoleAccess
content_adminadmin123ADMINFull content access
content_manageradmin123MANAGERContent management
content_useradmin123USERContent user access

πŸ§ͺ Testing

Automated Test

.\test-system.ps1

Manual API Test

# Login
$body = @{username='admin';password='admin123'} | ConvertTo-Json
$response = Invoke-RestMethod -Uri 'http://localhost:8080/api/auth/login' -Method Post -Body $body -ContentType 'application/json'

# Get bank accounts
$token = $response.token
Invoke-RestMethod -Uri 'http://localhost:8080/api/banking/accounts' -Method Get -Headers @{Authorization="Bearer $token"}

πŸ“– Documentation

Comprehensive documentation is available in the .docs/ folder:

Getting Started

Technical Documentation

Testing & Troubleshooting

Features


🌐 Service URLs

ServiceURLDescriptionCredentials
Frontendhttp://localhost:5173Main applicationSee test credentials
Backend APIhttp://localhost:8081/apiREST APIJWT token required
Health Checkhttp://localhost:8081/api/healthSystem health statusPublic
Kafka UIhttp://localhost:8081Kafka monitoringNo auth
pgAdminhttp://localhost:5050Database adminadmin@cms.com / admin
Prometheushttp://localhost:9090Metrics collectionNo auth

🐳 Docker Commands

# Start all services
docker-compose up -d

# Rebuild and start
docker-compose up --build -d

# Stop all services
docker-compose down

# View logs
docker-compose logs -f backend

# Restart backend
docker-compose restart backend

πŸ”§ Development

Prerequisites

  • Java 17+
  • Node.js 18+
  • Docker & Docker Compose
  • PostgreSQL 15 (if running locally)

Backend Setup

cd backend
mvn clean install
mvn spring-boot:run

Frontend Setup

cd frontend
npm install
npm run dev

Database Setup

# Create database
createdb -U postgres cms_db

# Or use Docker
docker-compose up postgres -d

πŸ“Š Database Schema

Core Tables

  • users - User authentication, roles, and sector assignment
  • sectors - Sector definitions with routing and configuration
  • organizations - Multi-tenant organization management
  • customers - Universal customer records across sectors
  • audit_log - Comprehensive audit trail for compliance

Banking Tables

  • bank_accounts - Account management with types and balances
  • transactions - Transaction tracking with audit trail

Healthcare Tables

  • patients - Patient records with medical information
  • appointments - Appointment scheduling and management

Security Features

  • Row-Level Security (RLS): Database-level multi-tenancy
  • Field-Level Encryption: AES-256 encryption for sensitive data
  • Audit Logging: All actions logged with user context

πŸš€ Deployment

Docker Compose (Development)

docker-compose up --build -d

Kubernetes (Production)

kubectl apply -f k8s/

Environment Variables

SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/cms_db
SPRING_DATASOURCE_USERNAME=postgres
SPRING_DATASOURCE_PASSWORD=Hello@123!
JWT_SECRET=your-secret-key
KAFKA_BOOTSTRAP_SERVERS=kafka:9092

🎯 API Endpoints

Authentication

  • POST /api/auth/login - User login with sector detection
  • POST /api/auth/register - User registration
  • GET /api/auth/sector - Get current user's sector information
  • POST /api/auth/select-sector - Assign sector to user

Public Endpoints

  • GET /api/public/sectors - List all available sectors
  • GET /api/health - System health check

Banking Sector

  • GET /api/banking/accounts - List bank accounts
  • POST /api/banking/accounts - Create account
  • GET /api/banking/transactions - List transactions
  • GET /api/banking/risk-assessment - Risk assessment data
  • GET /api/banking/compliance - Compliance reports

Healthcare Sector

  • GET /api/healthcare/patients - List patients
  • POST /api/healthcare/patients - Create patient record
  • GET /api/healthcare/appointments - List appointments
  • POST /api/healthcare/appointments - Schedule appointment
  • GET /api/healthcare/medical-history/{id} - Patient medical history

Logistics Sector

  • GET /api/logistics/shipments - List shipments
  • POST /api/logistics/shipments - Create shipment
  • GET /api/logistics/inventory - Inventory levels
  • GET /api/logistics/fleet - Fleet management
  • GET /api/logistics/routes - Route optimization

Content Creation Sector

  • GET /api/content/projects - List projects
  • POST /api/content/projects - Create project
  • GET /api/content/clients - List clients
  • GET /api/content/calendar - Content calendar
  • GET /api/content/assets - Digital assets

Organization Management

  • GET /api/organizations - List organizations
  • POST /api/organizations - Create organization
  • PUT /api/organizations/{id} - Update organization
  • PATCH /api/organizations/{id}/settings - Update settings

Monitoring

  • GET /api/metrics/health - Detailed health check
  • GET /api/metrics/performance - Performance metrics
  • GET /actuator/prometheus - Prometheus metrics

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ†˜ Support

If You Need Help:

  1. Check TROUBLESHOOTING.md
  2. Run .\test-system.ps1 for diagnostics
  3. Check logs: docker logs cms-backend
  4. Review documentation in .docs/ folder

✨ System Status

Services

  • βœ… Backend API: Operational (Port 8080)
  • βœ… Frontend: Accessible and responsive
  • βœ… Database: Connected (PostgreSQL with 10+ tables)
  • βœ… Kafka: Running (Event streaming)
  • βœ… Prometheus: Collecting metrics
  • βœ… pgAdmin: Database management UI

Features

  • βœ… Authentication: JWT-based with sector detection
  • βœ… Sector Routing: Automatic redirect to sector dashboards
  • βœ… Multi-Tenancy: Row-level security enabled
  • βœ… Audit Logging: All actions tracked
  • βœ… Monitoring: Prometheus + Grafana ready
  • βœ… Sample Data: 4 sectors with test users loaded

Security

  • βœ… Encryption: AES-256 field-level encryption
  • βœ… Row-Level Security: Database-level isolation
  • βœ… JWT Tokens: Secure authentication
  • βœ… CORS: Configured for production
  • βœ… Audit Trail: Comprehensive logging

System is production-ready! πŸš€


🎨 Screenshots

Landing Page

Professional enterprise landing page with sector showcase

Sector Dashboards

  • Banking Dashboard: Account overview, transactions, risk metrics
  • Healthcare Dashboard: Patient stats, appointments, medical records
  • Logistics Dashboard: Shipment tracking, inventory, fleet status
  • Content Dashboard: Project overview, client portal, content calendar

πŸ“š Additional Documentation

For detailed documentation, see:


Last Updated: March 29, 2026
Version: 2.5.0 (Production-Ready Edition)
Status: βœ… Operational with Unified Global Command Palette & Full Sector Architecture

Related Documents