A comprehensive Cloud-based Integrated Development Environment (IDE) that enables developers to code from anywhere using a web browser, with isolated project environments and powerful development tools.
- Cloud-Based Development:
- Code from any device with a web browser
- Multiple projects with isolated Docker container environments
- Multi-language programming environments (Nix-powered)
- Code Editor:
- Syntax highlighting
- Integrated file system navigation
- React-based editor with Monaco integration
- Integrated Development Tools:
- Direct terminal access to the container within the IDE
- Enhanced Language Support:
- Intelligent code completion
- Collaboration Tools:
- Real-time project sharing
- Pair programming capabilities
- Advanced Development Features:
- Integrated version control
- Built-in debugging tools
- Workspace Customization:
- Theme customization
- Extensions and plugin support
- Enterprise-Grade Infrastructure:
- Secure cloud-based storage
- Automatic backup systems
- Robust security measures
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Docker installed on the server machine
- Node.js and npm
-
Clone the repository
git clone https://github.com/HartyPotter/CoDomain-Expansion.git cd CoDomain-Expansion
-
Install dependencies
# Install root dependencies npm install # Install backend dependencies cd Backend npm install # Install frontend dependencies cd ../Frontend npm install
-
Configure Environment Variables Create a
.env
file in theBackend
directory with the following:DATABASE_URL=your_database_connection_string REDIS_PW=your_redis_password REDIS_HOST=your_redis_host REDIS_PORT=your_redis_port JWT_SECRET=your_jwt_secret REFRESH_TOKEN_SECRET=your_refresh_token_secret DOCKER_VOLUMES_PATH=/path/to/docker/volumes
-
Start the Development Server
# From the project root npm run start
- Frontend:
- React
- Chakra UI
- Monaco Editor
- File Tree Component by duguosheng
- Backend:
- Node.js
- Nest.js
- Prisma ORM
- Docker
- Database:
- PostgreSQL
- Redis
Contributions are welcome! Follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request