π CMS Platform - Multi-Sector Customer Management System
Describes a multi-sector customer management system with four industry-specific dashboards, JWT auth, and Docker deployment.
What this file does
Describes a multi-sector customer management system with four industry-specific dashboards, JWT auth, and Docker deployment.
When to use it
- You need a reference architecture for a sector-based multi-tenant app
- You want to see how to structure a Spring Boot + React monorepo with Kafka
- You are evaluating test credentials and API endpoints for a demo system
- You need a template for a README that covers setup, architecture, and deployment
Assumes this stack
π CMS Platform - Multi-Sector Customer Management System
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.mdandCODE_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
| Username | Password | Role | Access |
|---|---|---|---|
| banking_admin | admin123 | ADMIN | Full banking access |
| banking_manager | admin123 | MANAGER | Banking management |
| banking_user | admin123 | USER | Banking user access |
Healthcare Sector
| Username | Password | Role | Access |
|---|---|---|---|
| healthcare_admin | admin123 | ADMIN | Full healthcare access |
| healthcare_manager | admin123 | MANAGER | Healthcare management |
| healthcare_user | admin123 | USER | Healthcare user access |
Logistics Sector
| Username | Password | Role | Access |
|---|---|---|---|
| logistics_admin | admin123 | ADMIN | Full logistics access |
| logistics_manager | admin123 | MANAGER | Logistics management |
| logistics_user | admin123 | USER | Logistics user access |
Content Creation Sector
| Username | Password | Role | Access |
|---|---|---|---|
| content_admin | admin123 | ADMIN | Full content access |
| content_manager | admin123 | MANAGER | Content management |
| content_user | admin123 | USER | Content 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
- FINAL_SUMMARY.md - Complete overview (start here!)
- QUICK_START_GUIDE.md - Quick start guide
- LOGIN_CREDENTIALS.md - All test credentials
Technical Documentation
- SYSTEM_ARCHITECTURE.md - Architecture details
- BACKEND_IMPLEMENTATION_STATUS.md - Backend status
- FRONTEND_BACKEND_INTEGRATION.md - Integration guide
Testing & Troubleshooting
- API_TESTING_GUIDE.md - API testing examples
- TESTING_GUIDE.md - Comprehensive testing
- TROUBLESHOOTING.md - Common issues & solutions
Features
- FEATURES_OVERVIEW.md - Complete feature list
- SECTOR_PAGES_SUMMARY.md - Sector pages overview
π Service URLs
| Service | URL | Description | Credentials |
|---|---|---|---|
| Frontend | http://localhost:5173 | Main application | See test credentials |
| Backend API | http://localhost:8081/api | REST API | JWT token required |
| Health Check | http://localhost:8081/api/health | System health status | Public |
| Kafka UI | http://localhost:8081 | Kafka monitoring | No auth |
| pgAdmin | http://localhost:5050 | Database admin | admin@cms.com / admin |
| Prometheus | http://localhost:9090 | Metrics collection | No 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 detectionPOST /api/auth/register- User registrationGET /api/auth/sector- Get current user's sector informationPOST /api/auth/select-sector- Assign sector to user
Public Endpoints
GET /api/public/sectors- List all available sectorsGET /api/health- System health check
Banking Sector
GET /api/banking/accounts- List bank accountsPOST /api/banking/accounts- Create accountGET /api/banking/transactions- List transactionsGET /api/banking/risk-assessment- Risk assessment dataGET /api/banking/compliance- Compliance reports
Healthcare Sector
GET /api/healthcare/patients- List patientsPOST /api/healthcare/patients- Create patient recordGET /api/healthcare/appointments- List appointmentsPOST /api/healthcare/appointments- Schedule appointmentGET /api/healthcare/medical-history/{id}- Patient medical history
Logistics Sector
GET /api/logistics/shipments- List shipmentsPOST /api/logistics/shipments- Create shipmentGET /api/logistics/inventory- Inventory levelsGET /api/logistics/fleet- Fleet managementGET /api/logistics/routes- Route optimization
Content Creation Sector
GET /api/content/projects- List projectsPOST /api/content/projects- Create projectGET /api/content/clients- List clientsGET /api/content/calendar- Content calendarGET /api/content/assets- Digital assets
Organization Management
GET /api/organizations- List organizationsPOST /api/organizations- Create organizationPUT /api/organizations/{id}- Update organizationPATCH /api/organizations/{id}/settings- Update settings
Monitoring
GET /api/metrics/health- Detailed health checkGET /api/metrics/performance- Performance metricsGET /actuator/prometheus- Prometheus metrics
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Support
If You Need Help:
- Check TROUBLESHOOTING.md
- Run
.\test-system.ps1for diagnostics - Check logs:
docker logs cms-backend - 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:
- FIXES_APPLIED.md - Recent fixes and improvements
- FINAL_STATUS.md - Complete system status
- FEATURE_STATUS.md - Feature implementation status
Last Updated: March 29, 2026
Version: 2.5.0 (Production-Ready Edition)
Status: β
Operational with Unified Global Command Palette & Full Sector Architecture
What's inside
15 sections including quick start, features, architecture, tech stack, project structure, test credentials, API endpoints, and Docker commands.
Change this for your project
- Replace
AnkithRajGodugu/CMSwith your own repository name - Replace
admin123with your own test passwords - Replace
Hello@123!with your own database password - Replace
http://localhost:8080with your own backend URL
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Sector-based routing and theming for multi-tenant UIs
- Row-Level Security (RLS) for database-level tenant isolation
- Separate API endpoint groups per sector for clear separation of concerns
Related Documents
Content Calendar - Notion Template
Provides a complete Notion-based content calendar system with databases, workflows, and templates for planning, publishing, and repurposing content across multiple platforms.
Content Standards
Defines content strategy, writing guidelines, tone, and editorial workflows for multi-format content including documentation, marketing copy, and UI text.
CTO Personal Website - Comprehensive Content Strategy
This content strategy document outlines a comprehensive approach to positioning a Chief Technology Officer (CTO) as a thought leader in the technology industry through strategic content creation, professional messaging, and industry expertise showcase.
Draft Mode Product Roadmap
Lays out a four-phase product roadmap for a version control tool for writers, covering features, marketing, metrics, and team growth.