An Industry-Academia Collaboration Platform for Programming Education with AI Integration
APIE (Advanced Programming and Information Engineering) Advance Camp is an elite technical training program in Japan that bridges industry needs with academic excellence. This project represents the Group 6 Final Submission for the 2024 cohort, developed under the guidance of industry mentors and academic advisors.
- Industry-Academia Bridge: Create a platform that serves both educational institutions and tech companies
- Modern Tech Stack Implementation: Demonstrate proficiency in full-stack development with distributed systems
- AI Integration: Incorporate cutting-edge AI technologies into traditional educational platforms
- Scalable Architecture: Design systems that can handle real-world educational institution loads
Online Coding Platform is a comprehensive, production-ready programming education system developed as part of the Japan APIE Advance Camp 2024. This platform combines interactive learning methodologies with AI-powered automation, built on a robust distributed microservices architecture across two dedicated VPS servers.
- โ Distributed Systems Mastery: Implementation of multi-server architecture
- โ AI Integration Excellence: Seamless OpenAI API integration for marketing automation
- โ Enterprise Security: Industry-grade authentication and authorization systems
- โ Real-time Collaboration: WebSocket-based live coding sessions
- โ Production Deployment: Complete CI/CD and monitoring infrastructure
- ๐ค AI-Powered Marketing Automation: First-of-its-kind integration in educational platforms
- ๐๏ธ Japan Industry Standards: Built following Japanese tech industry best practices
- ๐ฅ Multi-Institution Support: Designed for university and corporate training programs
- ๐ป Real-time Code Collaboration: Advanced pair programming features
Japan APIE Advance Camp Technical Showcase
bash
# 1. Clone the Japan APIE Advance Camp project
git clone https://github.com/Feroz455/APIE-CAMP-Group-6.git
cd APIE-CAMP-Group-6
# 2. Configure for Japan APIE environment
cp .env.japan-apie .env
# Add your OPENAI_API_KEY to .env (provided during camp)
# 3. Launch services with Japan timezone settings
docker-compose -f docker-compose.japan.yml up -d
# 4. Access the Japan APIE demo dashboard:
# โข Web Interface: http://localhost:3001 (login: apie/apie2024)
# โข API Documentation: http://localhost:3000/api-docs
## ๐ฏ **Featured: AI Marketing Campaign System**
The platform includes an innovative **AI-powered marketing system** that automates campaign creation for programming courses.
### **๐ Quick AI Marketing Setup**
```bash
# 1. Clone and configure
git clone https://github.com/Feroz455/APIE-CAMP-Group-6.git
cp .env.example .env
# Add your OPENAI_API_KEY to .env
# 2. Launch services
docker-compose up -d
# 3. Access marketing tools:
# โข Web Interface: http://localhost:3001
# โข Standalone Tool: ai-marketing-tool.html
# โข Direct API: http://localhost:5001/api/marketing/ai/campaign-ideas
curl -X POST http://localhost:5001/api/marketing/ai/campaign-ideas \
-H "Content-Type: application/json" \
-H "x-auth-token: YOUR_TOKEN" \
-d '{"prompt":"Create engaging campaigns for JavaScript beginner courses"}'โจ AI Features:
- Smart Campaign Generation: Professional titles, descriptions, and targeting
- Fallback System: High-quality templates when AI is unavailable
- Course-Specific: Tailored for programming education content
- Multiple Access Points: Web, standalone tool, and direct API
| Server | IP Address | Role | Technologies |
|---|---|---|---|
| VPS 1 | 202.249.25.210 |
Web Application Server | Node.js, Express, React, WebSocket |
| VPS 2 | 202.249.25.211 |
Database Server | PostgreSQL (Docker), Backup Systems |
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18, WebSocket | Interactive UI, real-time collaboration |
| Backend | Node.js, Express | API server, business logic |
| Database | PostgreSQL 16 | Data persistence, relationships |
| Infrastructure | Docker, PM2 | Containerization, process management |
| AI/ML | OpenAI API | Marketing campaign generation |
| Monitoring | Winston, PM2 | Logging, performance tracking |
- Interactive Learning: Code directly in the browser with instant feedback
- Progress Tracking: Visual dashboards showing course completion and skill growth
- Live Collaboration: Join instructor-led coding sessions in real-time
- Personalized Paths: Adaptive learning recommendations based on performance
- Course Builder: Drag-and-drop curriculum creation with multimedia support
- Code Evaluation: Automated testing and grading for student submissions
- Analytics Dashboard: Insights into class performance and engagement
- Live Session Hosting: Interactive coding workshops with shared editor
- AI Campaign Generator: Create targeted marketing content in minutes
- Performance Analytics: Track user acquisition and course popularity
- Multi-channel Deployment: Web, email, and social media campaign management
- A/B Testing: Compare campaign effectiveness with built-in analytics
- Node.js v16+ and npm
- Docker & Docker Compose
- Git and SSH access
- OpenAI API key (for AI features)
# Complete setup in one command (simplified)
./setup.sh --local --with-ai# Deploy to both VPS servers
./deploy.sh --production --vps1 202.249.25.210 --vps2 202.249.25.211online-coding-platform/
โโโ ๐ web-server/ # VPS 1: Main Application
โ โโโ ๐ src/
โ โ โโโ ๐ client/ # React Frontend
โ โ โ โโโ ๐ components/ # Reusable UI Components
โ โ โ โโโ ๐ pages/ # Route Pages
โ โ โ โโโ ๐ hooks/ # Custom React Hooks
โ โ โ โโโ ๐ contexts/ # React Context Providers
โ โ โ
โ โ โโโ ๐ server/ # Node.js Backend
โ โ โ โโโ ๐ api/ # REST API Endpoints
โ โ โ โโโ ๐ services/ # Business Logic
โ โ โ โโโ ๐ middleware/ # Express Middleware
โ โ โ โโโ ๐ websocket/ # Real-time Communication
โ โ โ โโโ ๐ ai-marketing/ # AI Campaign System โ
โ โ โ
โ โ โโโ ๐ shared/ # Shared Utilities
โ โ
โ โโโ ๐ tests/ # Test Suites
โ โโโ ๐ docs/ # Documentation
โ โโโ ๐ scripts/ # Build & Deployment
โ
โโโ ๐ postgres-docker/ # VPS 2: Database
โโโ ๐ config/ # PostgreSQL Configuration
โโโ ๐ init/ # Database Schema & Seeds
โโโ ๐ backups/ # Automated Backups
โโโ ๐ scripts/ # Maintenance Scripts
โโโ docker-compose.yml # Container Orchestration
- Browser-based Code Editor with syntax highlighting and autocomplete
- Real-time Code Execution for immediate feedback
- Step-by-Step Tutorials with interactive examples
- Gamified Progress System with badges and achievements
- Campaign Idea Generation using GPT models
- Audience Targeting Suggestions based on course content
- Multi-platform Content Adaptation (web, social, email)
- Performance Prediction for campaign effectiveness
- Live Pair Programming with shared cursor and chat
- Code Review System with inline comments and suggestions
- Community Challenges with leaderboards and prizes
- Mentor Matching based on learning goals
- Granular Permission System with 5 distinct user roles
- Comprehensive Analytics Dashboard for platform metrics
- Automated Backup System with point-in-time recovery
- Health Monitoring with alerting and auto-remediation
# Run test suites
npm test # Unit tests
npm run test:integration # Integration tests
npm run test:e2e # End-to-end tests
npm run test:coverage # Coverage report- ESLint with Airbnb configuration
- Prettier for consistent formatting
- Husky git hooks for pre-commit checks
- SonarQube integration for code analysis
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Version bump and release
npm run release:patch # Patch release (0.0.X)
npm run release:minor # Minor release (0.X.0)
npm run release:major # Major release (X.0.0)- End-to-end encryption for sensitive data
- Role-Based Access Control (RBAC) with 5 permission levels
- Regular security audits and penetration testing
- GDPR-compliant data handling with user consent management
- Automated vulnerability scanning in CI/CD pipeline
- Encrypted database connections using TLS 1.3
- Secure password hashing with bcrypt and salt
- JWT token management with short expiration and refresh
- Audit logging for all administrative actions
- Regular security patch updates automated via CI/CD
# Check system health
./scripts/health-check.sh --full
# Monitor real-time metrics
pm2 monit # Process monitoring
docker stats # Container resource usage
./scripts/db-monitor.sh # Database performance# Database maintenance
./scripts/db-backup.sh # Create backup
./scripts/db-optimize.sh # Optimize performance
./scripts/db-migrate.sh v2.1.0 # Run migrations
# Application maintenance
pm2 reload all # Zero-downtime reload
npm run cleanup # Clean temporary files
./scripts/log-rotate.sh # Rotate and archive logs- Real-time user activity tracking
- Course completion and engagement metrics
- Marketing campaign performance analysis
- Infrastructure cost optimization reports
- Automated weekly performance summaries
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
POST |
/api/auth/register |
User registration | No |
POST |
/api/auth/login |
User login (JWT) | No |
POST |
/api/auth/refresh |
Refresh token | Yes |
POST |
/api/auth/logout |
User logout | Yes |
| Method | Endpoint | Description | Role Required |
|---|---|---|---|
POST |
/api/marketing/ai/campaign-ideas |
Generate campaigns | Marketing |
GET |
/api/marketing/campaigns |
List campaigns | Marketing |
POST |
/api/marketing/campaigns/:id/activate |
Activate campaign | Marketing |
GET |
/api/marketing/analytics |
Campaign analytics | Marketing |
| Method | Endpoint | Description | Role Required |
|---|---|---|---|
GET |
/api/live-sessions |
Active sessions | Student+ |
POST |
/api/live-sessions |
Create session | Instructor |
POST |
/api/live-sessions/:id/join |
Join session | Student+ |
DELETE |
/api/live-sessions/:id |
End session | Instructor |
๐ Full API Documentation: API Docs
| Issue | Symptoms | Solution |
|---|---|---|
| Database Connection | "Cannot connect to PostgreSQL" | Check VPS 2 firewall, verify credentials |
| AI Service Failure | Campaign generation fails | Verify OpenAI API key, check quota |
| WebSocket Issues | Live sessions not updating | Check port 3001, restart WebSocket service |
| Performance Slow | High latency, timeouts | Check server resources, optimize queries |
# System diagnostics
./scripts/diagnose.sh --full
# Check specific services
./scripts/check-service.sh database
./scripts/check-service.sh websocket
./scripts/check-service.sh ai-marketing
# View logs
pm2 logs # Application logs
docker-compose logs -f # Container logs
tail -f /var/log/syslog # System logs- GitHub Issues: Bug reports and feature requests
- Email Support: support@onlinecodingplatform.com
- Documentation: Complete Docs
- Community Forum: Community Support
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI API: For AI-powered campaign generation
- PostgreSQL: Database management system
- React & Node.js: Core application framework
- Docker: Containerization platform
- Huy-VNNIC - System Architecture & Backend
- Feroz455 - Frontend Development & AI Integration
- APIE-CAMP Group 6 - Quality Assurance & Documentation
# Try the platform without installation
docker run -p 3000:3000 feroz455/online-coding-platform:demo
# Visit http://localhost:3000Follow the complete installation guide in the Deployment Documentation
# Clone and run development environment
git clone https://github.com/Feroz455/APIE-CAMP-Group-6.git
cd APIE-CAMP-Group-6
npm run dev:setup
npm run devStart building, learning, and teaching with our platform today! ๐
Live Demo โข Documentation โข Community
๐
Last Updated: December 2024
๐ท๏ธ Version: 1.0.0
๐ฅ Maintainers: Huy-VNNIC, Feroz455
๐ Project: APIE-CAMP Group 6 - Online Coding Platform
- Added professional badges at the top
- Clearer section organization with emojis
- Better use of tables for technical information
- Moved the AI marketing system to a featured section
- Added more examples and use cases
- Clearer benefits and capabilities
- Added technology stack table
- More comprehensive API documentation
- Better troubleshooting section
- Polished language and formatting
- Added support and community sections
- Clearer licensing and attribution
- Added one-command setup options
- Better troubleshooting guide
- More actionable examples