EGXpilot is a professional, enterprise-grade Egyptian Stock Market analysis platform delivering real-time technical analysis with advanced indicators, secure data processing, and modern web interface.
π Live Demo: egxpilot.com | π GitHub: ya3qoup/EGXpilot | π³ Docker: ya3qoup/egxpilot
# Pull and run latest version
docker pull ya3qoup/egxpilot:latest
docker run -d --name egxpilot -p 4040:4040 --env-file .env ya3qoup/egxpilot:latest
# Access at http://localhost:4040
# Clone and deploy
git clone https://github.com/ya3qoup/EGXpilot.git && cd EGXpilot
./deploy.sh setup # Environment setup
./deploy.sh start # Start application
# Access at http://localhost:4040
git clone https://github.com/ya3qoup/EGXpilot.git && cd EGXpilot
cp .env.example .env # Edit with your credentials
docker-compose up -d
- Real-time EGX Data: Live Egyptian stock market data via Yahoo Finance
- Technical Indicators: EMA(20/50), RSI, MACD, Bollinger Bands, Volume analysis
- Pattern Recognition: Candlestick patterns and trend analysis
- Historical Analysis: Comprehensive price history with data visualization
- Smart Watchlist: Add/remove stocks with automatic analysis
- SQL Injection Protection: Parameterized queries throughout
- Rate Limiting: API abuse prevention (100 requests/min per IP)
- Security Headers: OWASP-compliant security implementation
- Input Validation: Comprehensive data sanitization
- Container Security: Non-root Docker containers with hardened configuration
- Multi-stage Docker: Optimized production images (< 100MB)
- Health Monitoring: Built-in health checks and API monitoring
- Auto-scaling Ready: Kubernetes and Docker Swarm compatible
- Zero-downtime Updates: Rolling deployment support
- Professional Logging: Structured JSON logging with error tracking
- Modern API: RESTful endpoints with clear documentation
- Responsive UI: Mobile-friendly web interface
- Hot Reload: Frontend updates without container restart
- One-Script Deploy: Complete deployment automation
- Development Tools: Linting, formatting, security scanning
# Health and status
GET /health # Application health check
GET /api/stocks # Available stocks list
# Stock analysis
GET /api/analyze/{SYMBOL}.CA # Real-time technical analysis
POST /api/watchlist/add # Add stock to watchlist
POST /api/watchlist/check # Check if stock exists
# Example usage
curl http://localhost:4040/health
curl http://localhost:4040/api/analyze/EGTS.CA
curl http://localhost:4040/api/stocks
{
"symbol": "EGTS.CA",
"analysis": {
"trend": "bullish",
"rsi": 65.4,
"ema20": 12.45,
"ema50": 11.80,
"recommendation": "buy"
},
"timestamp": "2025-06-28T12:00:00Z"
}
EGXpilot includes a comprehensive management script for all operations:
# π DEPLOYMENT
./deploy.sh start # Start application (production-ready)
./deploy.sh stop # Stop application and cleanup
./deploy.sh update # Update frontend (hot reload)
./deploy.sh restart # Restart with latest changes
# π§ MANAGEMENT
./deploy.sh setup # Initial environment setup
./deploy.sh health # Check application health
./deploy.sh status # Show detailed status
./deploy.sh logs # View application logs
./deploy.sh clean # Clean Docker resources
# π¦ DEVELOPMENT
./deploy.sh dev # Start development mode
./deploy.sh test # Run tests and validation
./deploy.sh security # Security audit
# π³ DOCKER HUB
./deploy.sh build # Build Docker image
./deploy.sh publish # Publish to Docker Hub
./deploy.sh release # Complete release process
- β Environment Validation: Automatic setup and security checks
- β Hot Updates: Frontend changes without downtime
- β Health Monitoring: Built-in application health validation
- β Security Scanning: Credential detection and vulnerability checks
- β Docker Integration: Seamless Docker Hub publishing
- β Error Handling: Comprehensive error management and recovery
# 1. Copy environment template
cp .env.example .env
# 2. Configure your database (REQUIRED)
DB_SERVER=your_database_server
DB_NAME=trade
DB_USER=your_username
DB_PASSWORD=your_secure_password
DB_PORT=1433
# 3. Application settings
NODE_ENV=production
PORT=4040
- Microsoft SQL Server 2019+
- Tables:
Watchlist
,PriceHistory
- Permissions: SELECT, INSERT, UPDATE (no admin required)
- Connection: TLS/SSL recommended for production
- Memory: 512MB minimum, 2GB recommended
- Storage: 10GB for historical data
- Network: HTTPS/SSL for production deployment
- Docker: 20.10+ with Docker Compose
- β Parameterized Queries: Complete SQL injection protection
- β Rate Limiting: API abuse prevention and DDoS protection
- β Security Headers: OWASP Top 10 compliance
- β Input Validation: All user inputs sanitized and validated
- β Container Security: Non-root user, minimal attack surface
- β Secrets Management: Environment-based configuration only
# 1. Use strong database credentials
DB_PASSWORD=generate_strong_password_32_chars_minimum
# 2. Enable SSL/TLS in production
NODE_ENV=production
# 3. Run security audit
./deploy.sh security
# 4. Regular updates
./deploy.sh update
- Strong database passwords (32+ characters)
- SSL/TLS certificates configured
- Firewall rules (only ports 443, 4040)
- Regular security updates
- Backup strategy implemented
- Monitoring and alerting configured
- Backend: Node.js 18+, Express.js, Microsoft SQL Server
- Frontend: Vanilla JavaScript, Modern CSS, Responsive Design
- APIs: Yahoo Finance 2.0, Technical Indicators Library
- Container: Docker Multi-stage, Alpine Linux base
- Security: OWASP standards, Rate limiting, Input validation
- API Response: < 200ms average
- Database Queries: < 50ms average
- Memory Usage: < 512MB typical
- Container Size: < 100MB production image
- Uptime: 99.9% target with health monitoring
- Horizontal: Load balancer ready
- Vertical: Auto-scaling support
- Database: Connection pooling optimized
- Cache: Strategic caching for performance
- CDN: Static asset optimization
# Clone and setup
git clone https://github.com/ya3qoup/EGXpilot.git
cd EGXpilot
# Environment setup
./deploy.sh setup
# Start development
./deploy.sh dev # Hot reload development
# OR
npm run dev # Direct Node.js development
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Test changes:
./deploy.sh test
- Push to branch:
git push origin feature/amazing-feature
- Open Pull Request
- ESLint: Enforced code quality
- Prettier: Consistent formatting
- Security: OWASP guidelines compliance
- Testing: Automated validation
- Documentation: JSDoc for all functions
# Latest stable release
docker pull ya3qoup/egxpilot:latest
# Specific versions
docker pull ya3qoup/egxpilot:2.0.0
docker pull ya3qoup/egxpilot:v2
# Development builds
docker pull ya3qoup/egxpilot:dev
- Multi-platform: AMD64, ARM64 support
- Security: Non-root user, minimal base image
- Health Checks: Built-in container monitoring
- Efficiency: < 100MB production images
- Standards: OCI compliant, best practices
# Production deployment
docker run -d \
--name egxpilot \
--restart always \
-p 4040:4040 \
--env-file .env \
ya3qoup/egxpilot:latest
# Docker Compose (recommended)
curl -o docker-compose.yml https://raw.githubusercontent.com/ya3qoup/EGXpilot/main/docker-compose.yml
docker-compose up -d
# Application health
curl http://localhost:4040/health
# Detailed status
./deploy.sh status
# Real-time logs
./deploy.sh logs
- Database Indexing: Optimized query performance
- Connection Pooling: Efficient database connections
- Caching Strategy: Redis integration ready
- Asset Compression: Gzip compression enabled
- Resource Monitoring: Built-in metrics collection
- Health Endpoints:
/health
for load balancers - Metrics Collection: Prometheus compatible
- Log Aggregation: JSON structured logging
- Error Tracking: Comprehensive error reporting
- Uptime Monitoring: External health checks supported
- Real-time WebSocket data feeds
- Advanced charting with TradingView
- Portfolio management features
- Mobile application (React Native)
- Machine learning price predictions
- Advanced analytics dashboard
- Multi-exchange support (Saudi, Dubai)
- Enterprise SSO integration
- Kubernetes deployment charts
- GraphQL API
- Multi-language support (Arabic, English)
- Advanced AI trading signals
- Email: contact@egxpilot.com
- Security Issues: security@egxpilot.com
- Business Inquiries: business@egxpilot.com
- GitHub Issues: Report bugs and request features
- Discussions: Community discussions and Q&A
- Wiki: Community documentation
- π Documentation: GitHub Repository
- π³ Docker Images: Docker Hub
- π Live Demo: egxpilot.com
- π API Demo: egxpilot.com/api/analyze/EGTS.CA
MIT License - This project is commercial-friendly and open source.
- β Commercial use
- β Modification and distribution
- β Private use
- β Patent use
Muhammad Yacoub
- GitHub: @ya3qoup
- LinkedIn: Muhammad Yacoub
- Email: muhammad@egxpilot.com
π Deploy Now | π GitHub | π Issues | π¬ Discussions
Built with β€οΈ for the Egyptian Stock Market Community
Professional β’ Secure β’ Open Source