Edit-Me is a cutting-edge code sharing platform that revolutionizes the way developers collaborate and learn. By integrating AI capabilities through Pollinations API and real-time code execution via Piston Compiler, we provide a seamless environment for code sharing, execution, and AI-assisted development.
-
π¨ Modern UI/UX
- Responsive React-based interface
- Real-time code editing
- Syntax highlighting
- Dark/Light theme support
-
β‘ Code Execution
- Multi-language support via Piston API
- Real-time compilation
- Secure sandboxed environment
- Custom runtime configurations
-
π€ AI Integration
- Code analysis and suggestions
- Documentation generation
- Bug detection and fixes
- Code optimization via Pollinations API
-
π DevOps & Infrastructure
- Docker containerization
- AWS cloud infrastructure
- Terraform IaC
- CI/CD pipeline
- Automated testing
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Infrastructure β
β (React) ββββββΊβ (Node.js) ββββββΊβ (AWS/TF) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β² β² β²
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β User Browser β β API Gateway β β Cloud Services β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β² β² β²
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Pollinations β β Piston β β Database β
β API β β Compiler β β (MongoDB) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Core: React.js 18.x
- State Management: React Context API + Redux Toolkit
- Styling:
- Tailwind CSS
- CSS Modules
- Flexbox/Grid
- Build Tools:
- Vite
- ESLint
- Prettier
- Testing:
- Jest
- React Testing Library
- Code Editor: Monaco Editor
- AI Integration: Pollinations API Client
- Runtime: Node.js 18.x
- Framework: Express.js
- Database:
- MongoDB (Primary)
- API:
- RESTful Architecture
- Real-time: Socket.io
- External Services:
- Piston API Integration
- Pollinations API Integration
- Containerization:
- Docker
- Docker Compose
- Infrastructure:
- AWS (EC2, S3, RDS)
- IaC:
- Terraform
- CI/CD:
- GitHub Actions
- AWS CodePipeline
- Node.js 18.x or later
- Docker Desktop
- AWS CLI configured
- Terraform CLI
- Git
- MongoDB (local or Atlas)
-
Clone the Repository
git clone https://github.com/nradhesh/edit-me.git cd edit-me
-
Install Dependencies
# Root dependencies npm install # Frontend setup cd client npm install # Backend setup cd ../server npm install
-
Environment Setup
# Copy environment files cp .env.example .env cp client/.env.example client/.env cp server/.env.example server/.env
-
Start Development Servers
# Using Docker Compose (recommended) docker-compose up -d # Or start services individually # Backend (from server directory) npm run dev # Frontend (from client directory) npm start
# Build the image
docker build -t edit-me .
# Run the container
docker run -p 3000:3000 \
-e NODE_ENV=production \
-e MONGODB_URI=your_mongodb_uri \
-e JWT_SECRET=your_jwt_secret \
edit-me
-
Configure AWS Credentials
aws configure
-
Deploy Infrastructure
cd terraform terraform init terraform plan terraform apply
# Server Configuration
NODE_ENV=development
PORT=3000
HOST=localhost
# Database
MONGODB_URI=mongodb://localhost:27017/edit-me
# AWS Configuration
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=your_aws_region
S3_BUCKET=your_s3_bucket
# API Keys
PISTON_API_KEY=your_piston_api_key
POLLINATIONS_API_KEY=your_pollinations_api_key
# API Configuration
REACT_APP_API_URL=http://localhost:3000
REACT_APP_WS_URL=ws://localhost:3000
# AWS Configuration
REACT_APP_AWS_REGION=your_aws_region
REACT_APP_S3_BUCKET=your_s3_bucket
REACT_APP_CLOUDFRONT_URL=your_cloudfront_url
# External Services
REACT_APP_PISTON_API_URL=https://emkc.org/api/v2/piston
REACT_APP_POLLINATIONS_API_URL=https://api.pollinations.ai/v1
# Feature Flags
REACT_APP_ENABLE_AI=true
REACT_APP_ENABLE_CODE_EXECUTION=true
- Purpose: Secure code execution and compilation
- Features:
- Multi-language support (Python, JavaScript, Java, C++, etc.)
- Secure sandboxed execution
- Real-time compilation
- Custom runtime environments
- Resource limits and timeouts
- Security:
- Sandboxed execution environment
- Resource usage monitoring
- Network access restrictions
- File system isolation
- Purpose: AI-powered code assistance and optimization
- Features:
- Code analysis and suggestions
- Documentation generation
- Bug detection and fixes
- Code optimization
- Natural language code queries
- Code style recommendations
- Security:
- API key authentication
- Rate limiting
- Data encryption
- Privacy-focused processing
# Run all tests
npm test
# Run frontend tests
cd client && npm test
# Run backend tests
cd server && npm test
This project is licensed under the MIT License - see the LICENSE file for details.