A production-ready, enterprise-grade online code editor and compiler platform with advanced features, security, and multi-language support. Built with modern technologies and optimized for performance.
- Monaco Editor (VS Code engine) with syntax highlighting
- Intelligent IntelliSense for all supported languages
- Custom code snippets and autocomplete
- Resizable panels with drag-and-drop functionality
- Dark/Light theme with persistent preferences
- Python 3.9+ with full library support
- JavaScript (Node.js 16) with ES6+ features
- C/C++ with GCC compiler
- Java with OpenJDK 11
- C# with .NET runtime
- PHP with latest interpreter
- SQL with query execution
- HTML/CSS/JS with live preview
- Docker containerization for isolated execution
- Resource limits: 128MB RAM, CPU quotas
- Network isolation and timeout protection (10s)
- JWT authentication with secure token management
- Input sanitization and XSS protection
- Supabase authentication integration
- User profiles with project history
- Admin dashboard for platform management
- Project sharing with unique URLs
- Real-time collaboration ready
- React Component:
npm install https://github.com/ghoshsurya/rapidcompiler/raw/main/ghoshsurya-rapidcompiler-react-1.0.0.tgz - Easy Integration: Drop-in Monaco Editor component
- TypeScript Support: Full type definitions included
- GitHub Releases: Available at releases page
- SEO optimized with meta tags and structured data
- PWA ready with offline capabilities
- Responsive design for all devices
- Performance optimized with code splitting
- Error tracking and logging
React 18 + TypeScript
βββ Monaco Editor (VS Code)
βββ Tailwind CSS + PostCSS
βββ React Router v6
βββ Axios for API calls
βββ Lucide React icons
βββ Supabase client
Python Flask + PostgreSQL
βββ Flask-JWT-Extended
βββ Flask-SQLAlchemy
βββ Docker Python SDK
βββ bcrypt encryption
βββ CORS middleware
βββ Gunicorn WSGI
Docker + Docker Compose
βββ PostgreSQL 15 database
βββ Nginx reverse proxy
βββ Multi-stage builds
βββ Health checks
βββ Volume persistence
- Docker & Docker Compose
- Node.js 16+ and npm
- Python 3.9+ and pip
- Git for version control
git clone https://github.com/ghoshsurya/rapidcompiler.git
cd rapidcompiler# Backend environment
cp backend/.env.example backend/.env
# Frontend environment
cp frontend/.env.example frontend/.env# Start all services
docker-compose up --build
# Run in background
docker-compose up -d --build# Backend setup
cd backend
pip install -r requirements.txt
python app.py
# Frontend setup (new terminal)
cd frontend
npm install
npm start- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Database: PostgreSQL on port 5432
rapidcompiler/
βββ π frontend/ # React application
β βββ π public/ # Static assets
β βββ π src/
β β βββ π components/ # React components
β β βββ π pages/ # Route pages
β β βββ π hooks/ # Custom hooks
β β βββ π lib/ # Utilities
β β βββ π utils/ # Helper functions
β βββ π package.json
β βββ π tailwind.config.js
βββ π backend/ # Flask API server
β βββ π app.py # Main application
β βββ π requirements.txt # Python dependencies
β βββ π Dockerfile # Backend container
βββ π database/ # Database schemas
β βββ π schema.sql # PostgreSQL schema
βββ π docker/ # Docker configurations
β βββ π nginx.conf # Nginx config
βββ π netlify/ # Serverless functions
β βββ π functions/ # API functions
βββ π docker-compose.yml # Multi-container setup
βββ π netlify.toml # Netlify deployment
βββ π README.md # Documentation
POST /api/auth/register # User registration
POST /api/auth/login # User login
GET /api/auth/profile # Get user profilePOST /api/run # Execute code
{
"language": "python",
"code": "print('Hello World')",
"input": "optional input"
}GET /api/projects # List user projects
POST /api/projects # Create new project
GET /api/projects/:id # Get project details
PUT /api/projects/:id # Update project
DELETE /api/projects/:id # Delete project
POST /api/projects/:id/share # Share projectGET /api/share/:shareId # Get shared project
GET /api/health # Health check- Docker isolation with restricted containers
- Resource limits: Memory (128MB), CPU quotas
- Network disabled during execution
- Timeout protection (10 seconds max)
- Temporary file cleanup
- JWT tokens with expiration
- bcrypt password hashing
- CORS protection
- Input validation and sanitization
- SQL injection prevention
- Environment variables for secrets
- Database connection pooling
- Rate limiting ready
- HTTPS enforcement in production
- Meta tags (Open Graph, Twitter Cards)
- Structured data (JSON-LD)
- XML sitemap generation
- Robots.txt optimization
- Canonical URLs
- Semantic HTML5 structure
- Code splitting and lazy loading
- Bundle optimization with Webpack
- Image optimization and compression
- CDN ready for static assets
- Caching strategies implemented
# Frontend deployment
npm run build
netlify deploy --prod --dir=build
# Backend deployment
git push railway main# Production build
docker-compose -f docker-compose.prod.yml up -d- Container deployment with ECS/Cloud Run
- Database: RDS/Cloud SQL
- Storage: S3/Cloud Storage
- CDN: CloudFront/Cloud CDN
# Frontend tests
cd frontend
npm test
# Backend tests
cd backend
python -m pytest
# Integration tests
python test-api.py
python test-compilers.py- Error tracking with Sentry integration ready
- Performance monitoring with Web Vitals
- User analytics with Google Analytics
- API monitoring with health checks
- Database monitoring with connection pooling
- Fork the repository
- Create 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 Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Suryakanta Ghosh - @ghoshsurya
RapidCompiler is free and open source! Support development:
- β Star this repository
- π Sponsor on GitHub Sponsors
- βοΈ Use RapidCompiler Cloud (coming soon)
- π Report bugs and suggest features
- π€ Contribute code and documentation
Coming Soon: Hosted version with premium features:
- Real-time collaboration
- Private projects
- Advanced analytics
- Priority support
- Team workspaces
Join Waitlist for early access!
- Monaco Editor team for the excellent code editor
- Docker for containerization technology
- React and Flask communities
- Open source contributors