Order Management System
📋 Project Overview
Order Management System (OMS) is an enterprise-grade, production-ready trading platform designed for stock exchanges, brokerage houses, and financial institutions. Built to handle high-frequency trading with ultra-low latency, the system integrates directly with stock exchanges using industry-standard FIX and ITCH protocols.
The platform provides comprehensive order lifecycle management, real-time market data distribution, portfolio tracking, risk management, and multi-user support with role-based access control, delivering an exceptional experience for traders, investors, and administrators.
🎯 Key Objectives
- High-Performance Trading: Ultra-low latency order execution with FIX 5.0 SP1 protocol
- Real-time Market Data: Live market feed via ITCH 4.0 protocol with millisecond updates
- Multi-Exchange Support: Designed for DSE (Dhaka Stock Exchange) with extensibility for CSE and international exchanges
- Risk Management: Comprehensive limit controls, margin management, and position monitoring
- Multi-User Platform: Support for administrators, traders, and investors with distinct permissions
- Enterprise Architecture: Microservices-based design with Laravel backend and Java protocol handlers
- Real-time Broadcasting: WebSocket-based live updates for orders, trades, and market data
- Compliance Ready: Audit trails, session logging, and regulatory reporting capabilities
✨ Features
📈 Order Management (FIX Protocol Integration)
📊 Market Data (ITCH Protocol Integration)
👥 User & Account Management
💰 Portfolio & Position Management
🛡️ Risk Management & Limits
💼 Commission & Pricing
📱 Watchlist & Market Monitoring
-
Personal Watchlists:
- Create multiple custom watchlists
- Add/remove instruments dynamically
- Real-time price updates on watchlist
- Sorting and filtering options
- Quick order placement from watchlist
- Price alerts and notifications
-
Market Overview:
- Top gainers and losers
- Most active stocks by volume
- Index movements
- Market breadth indicators
- Sector performance
🔔 Support & Communication
- Support Ticket System:
- Create support tickets for issues
- Ticket status tracking (Open, In Progress, Resolved, Closed)
- Priority levels (Low, Medium, High, Critical)
- Admin response management
- Ticket history and audit trail
- Email notifications on status updates
🔌 Microservices Architecture
- Java-based Protocol Handlers:
-
FIX Microservice (oms-fix-1.0.1.jar):
- FIX 5.0 SP1 protocol implementation
- Session management with exchange
- Heartbeat and sequence number handling
- Automatic reconnection and failover
- Message queuing and retry logic
- Reset sequence number support
-
ITCH Microservice (oms-itch-1.0.0.jar):
- ITCH 4.0 protocol parser
- Real-time market data streaming
- Multi-channel support (TV, Index, News)
- Message filtering and routing
- High-throughput message processing
-
Broadcast Microservice (oms-broadcast-1.0.0.jar):
- WebSocket broadcasting server
- Real-time data distribution to clients
- Connection pooling and management
- Message compression and optimization
- Automatic reconnection handling
🔄 Background Processing
-
Laravel Queue System:
- ImportDSEClient: Import client data from exchange
- ImportDSEPosition: Sync portfolio positions
- ExportTrades: Export trade confirmations
- ExportEODTicker: End-of-day market data export
- BackupDB: Automated database backups
- RestoreDB: Database restoration capability
- FixJob: Asynchronous FIX message processing
- ImportKodeviteOMSUser: User data synchronization
-
Scheduled Tasks:
- Market open/close automation
- End-of-day settlement processing
- Limit reset at market close
- Portfolio reconciliation
- Automated reporting
- Data archival and cleanup
🔐 Security & Compliance
-
Security Features:
- Role-based access control (RBAC)
- API token authentication (Laravel Sanctum)
- CSRF protection on all forms
- SQL injection prevention (Eloquent ORM)
- XSS protection (Blade escaping)
- Rate limiting on authentication endpoints
- Session timeout and management
- Encrypted sensitive data storage
-
Audit & Compliance:
- Complete FIX message logging
- Event log for all system activities
- User action tracking
- IP address and user agent logging
- Session audit trail
- Trade confirmation archival
- Regulatory reporting capabilities
🌐 Integration & APIs
-
Redis Integration:
- Real-time data caching
- Session storage
- Queue management (DSE:FIX:Observer)
- Pub/Sub for broadcasting
- Rate limiting
-
Database Design:
- PostgreSQL with advanced features
- Partitioning for high-volume tables
- Indexed for optimal query performance
- JSONB for flexible data structures
- Foreign key constraints for data integrity
⚙️ Administrative Features
-
Settings Management:
- Market hours configuration
- Trading parameters (lot size, tick size)
- Commission rates and fees
- Risk limits and thresholds
- System maintenance mode
- Feature toggles
-
User Management:
- Create and manage users
- Assign roles and permissions
- Link users to BO accounts
- Suspend/activate accounts
- Password reset for users
- Bulk user operations
-
System Management:
- Database backup and restore
- Log viewing and analysis
- System health monitoring
- Performance metrics
- Error tracking and alerting
- Version control and updates
🛠️ Technology Stack
Backend
| Technology |
Version |
Purpose |
| Laravel |
12.x |
PHP framework for web application |
| PHP |
8.2+ |
Server-side programming language |
| PostgreSQL |
16+ |
Primary relational database |
| Redis |
7+ |
Caching, queues, and pub/sub |
| Java |
23+ |
Microservices for FIX/ITCH protocols |
| Eloquent ORM |
- |
Database abstraction and relationships |
| Laravel Sanctum |
4.0 |
API token authentication |
| Laravel Breeze |
2.3 |
Authentication scaffolding |
Financial Protocols
| Protocol |
Version |
Purpose |
| FIX Protocol |
5.0 SP1 |
Order execution and management |
| ITCH Protocol |
4.0 |
Market data feed |
Infrastructure
- Queue System: Redis-backed job queue for asynchronous processing
- Cache: Redis for high-performance caching
- Session: Database sessions for horizontal scaling
- WebSocket: Real-time bidirectional communication
- File Storage: Local/S3 compatible storage
- Docker: Laravel Sail containerization support
Development Tools
| Tool |
Version |
Purpose |
| Composer |
2.x |
PHP dependency management |
| Laravel Pint |
1.x |
Code style formatting |
| Laravel Sail |
1.41+ |
Docker development environment |
| Laravel Pail |
1.2+ |
Log viewing tool |
| PHPUnit |
11.5+ |
Testing framework |
📊 Project Statistics
| Metric |
Count |
| Models |
50+ |
| Database Tables |
70+ |
| Migrations |
75+ |
| Routes |
40+ |
| Controllers |
13 |
| Services |
8 |
| Jobs |
8 |
| Events |
4 |
| Listeners |
33+ |
| Console Commands |
12+ |
| Java Microservices |
3 |
🎯 Use Cases
For Brokerage Houses
- Complete order management system for retail and institutional clients
- Multi-user platform for traders and back-office staff
- Real-time risk management and compliance monitoring
- Portfolio tracking and performance reporting
- Commission management and billing
- Regulatory reporting and audit trails
For Stock Exchanges
- Order routing and execution platform
- Market data distribution infrastructure
- Member connectivity via FIX protocol
- Real-time surveillance and monitoring
- Circuit breaker and halt management
- End-of-day settlement processing
For Institutional Traders
- Direct market access (DMA) trading
- Algorithmic trading support
- Multi-account management
- Portfolio optimization tools
- Real-time P&L tracking
- Trade cost analysis
For Retail Investors
- User-friendly trading interface
- Real-time market data and charts
- Portfolio management
- Watchlists and alerts
- Trade history and reporting
- Customer support system
🌟 Key Differentiators
- Production-Ready FIX Integration - Certified FIX 5.0 SP1 implementation with failover
- Real-time ITCH Parser - High-performance market data processing
- Microservices Architecture - Scalable Java services for protocol handling
- Ultra-Low Latency - Optimized for high-frequency trading
- Comprehensive Risk Management - Multi-level limit controls and pre-trade checks
- Enterprise Security - Audit trails, session management, and compliance ready
- Multi-Exchange Support - Designed for DSE with extensibility
- WebSocket Broadcasting - Real-time updates without polling
- Advanced Portfolio Tracking - T+0, T+1, T+2 settlement handling
- Flexible Commission Engine - Group-based and instrument-specific pricing
🔒 Security & Compliance
Security Measures
- Authentication: Multi-factor authentication with OTP
- Authorization: Role-based access control (RBAC)
- API Security: Token-based authentication (Sanctum)
- Data Encryption: Sensitive data encrypted at rest
- Session Security: Timeout controls and IP tracking
- Audit Logging: Complete activity and message logs
- Rate Limiting: Protection against brute force attacks
- Input Validation: Comprehensive request validation
Compliance Features
- FIX Message Logging: All messages logged with timestamps
- Trade Confirmation: Automated trade confirmation generation
- Settlement Tracking: T+0, T+1, T+2 settlement monitoring
- Regulatory Reporting: End-of-day reports for BSEC
- Audit Trail: Complete user action history
- Data Retention: Configurable data archival policies
📞 Support & Contact
Developed by: Kodevite
Project: Order Management System
Framework: Laravel 12 with PostgreSQL, Redis, and Java Microservices
Website: https://kodevite.com
For support, feature requests, or custom development:
📄 License
License information to be added based on project requirements
🙏 Acknowledgments
Built with industry-standard technologies and protocols: