Skip to content

Feroz455/Online-Coding-Platform-Japan-APIE-Advance-Camp-Group-6

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

45 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Online Coding Platform | Japan APIE Advance Camp - Group 6

Japan APIE Advance Camp 2024 Final Project

An Industry-Academia Collaboration Platform for Programming Education with AI Integration

Japan APIE Advance Camp Node.js React Academic Project Node.js React

๐Ÿ‡ฏ๐Ÿ‡ต About Japan APIE Advance Camp

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.

๐ŸŽฏ Project Vision & Goals

  • 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

๐Ÿ“– Project Overview

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.

**๐Ÿ† Japan APIE Advance Camp Achievements

  • โœ… 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

**โœจ Key Innovations

  • ๐Ÿค– 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

๐ŸŽฏ Featured: AI Marketing Campaign System

Japan APIE Advance Camp Technical Showcase

๐Ÿš€ Quick AI Marketing Setup


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

๐ŸŽจ Generate Campaigns in Seconds

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

๐Ÿ—๏ธ System Architecture

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

๐Ÿ“Š Technology Stack

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

๐Ÿ‘ฅ User Roles & Capabilities

๐ŸŽ“ Student Experience

  • 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

๐Ÿ‘จโ€๐Ÿซ Instructor Tools

  • 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

๐Ÿ“ˆ Marketing & Administration

  • 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

๐Ÿš€ Quick Start Deployment

๐Ÿ“‹ Prerequisites

  • Node.js v16+ and npm
  • Docker & Docker Compose
  • Git and SSH access
  • OpenAI API key (for AI features)

โšก One-Command Local Development

# Complete setup in one command (simplified)
./setup.sh --local --with-ai

๐ŸŒ Production Deployment

# Deploy to both VPS servers
./deploy.sh --production --vps1 202.249.25.210 --vps2 202.249.25.211

๐Ÿ“ Project Structure

online-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

๐Ÿ”ง Core Features

1. Interactive Learning Environment

  • 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

2. AI-Enhanced Marketing

  • 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

3. Collaborative Features

  • 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

4. Administrative Controls

  • 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

๐Ÿ› ๏ธ Development & Contribution

๐Ÿงช Testing

# 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

๐Ÿ” Code Quality

  • ESLint with Airbnb configuration
  • Prettier for consistent formatting
  • Husky git hooks for pre-commit checks
  • SonarQube integration for code analysis

๐Ÿค Contribution Guidelines

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

๐Ÿ“ฆ Release Process

# 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)

๐Ÿ”’ Security & Compliance

Security Features

  • 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

Data Protection

  • 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

๐Ÿ“Š Monitoring & Maintenance

๐Ÿงฎ Performance Monitoring

# 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

๐Ÿ”„ Maintenance Commands

# 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

๐Ÿ“ˆ Analytics & Reporting

  • Real-time user activity tracking
  • Course completion and engagement metrics
  • Marketing campaign performance analysis
  • Infrastructure cost optimization reports
  • Automated weekly performance summaries

๐ŸŒ API Documentation

Authentication Endpoints

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

AI Marketing Endpoints

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

Live Session Endpoints

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


๐Ÿšจ Troubleshooting & Support

Common Issues & Solutions

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

๐Ÿ” Debug Commands

# 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

๐Ÿ“ž Support Channels


๐Ÿ“„ License & Attribution

License

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

Third-Party Attributions

  • OpenAI API: For AI-powered campaign generation
  • PostgreSQL: Database management system
  • React & Node.js: Core application framework
  • Docker: Containerization platform

Development Team

  • Huy-VNNIC - System Architecture & Backend
  • Feroz455 - Frontend Development & AI Integration
  • APIE-CAMP Group 6 - Quality Assurance & Documentation

๐ŸŽ‰ Getting Started Today

Option 1: Quick Demo

# Try the platform without installation
docker run -p 3000:3000 feroz455/online-coding-platform:demo
# Visit http://localhost:3000

Option 2: Full Deployment

Follow the complete installation guide in the Deployment Documentation

Option 3: Developer Setup

# 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 dev

๐Ÿ’ก "The best way to learn programming is by doing it with others."

Start 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

๐ŸŽฏ Key Improvements Made:

1. Better Visual Hierarchy

  • Added professional badges at the top
  • Clearer section organization with emojis
  • Better use of tables for technical information

2. Emphasized AI Features

  • Moved the AI marketing system to a featured section
  • Added more examples and use cases
  • Clearer benefits and capabilities

3. Enhanced Technical Details

  • Added technology stack table
  • More comprehensive API documentation
  • Better troubleshooting section

4. Professional Presentation

  • Polished language and formatting
  • Added support and community sections
  • Clearer licensing and attribution

5. Practical Improvements

  • Added one-command setup options
  • Better troubleshooting guide
  • More actionable examples

About

Japan APIE Advance Camp 2025 - Group 6 Project: Online Coding Platform with AI-Powered Marketing. A comprehensive programming education system built with distributed architecture.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 95.9%
  • Shell 2.3%
  • HTML 1.5%
  • Other 0.3%