English | 简体中文
An intuitive, AI-powered platform designed to make learning C programming accessible and engaging for complete beginners.
- Chapter-based exercise organization
- Real-time code validation
- Answer viewing support
- Progress tracking (Coming Soon)
- Real-time C code compilation
- Interactive code execution
- Comprehensive error handling
- Program input/output support
- Intelligent code review
- Optimization suggestions
- Error diagnosis
- Learning recommendations
- Clean and intuitive design
- Real-time feedback
- Responsive layout
- Syntax highlighting
EasyC
├── Frontend (Gradio)
│ ├── Welcome Tab
│ ├── Exercise Tab
│ ├── Compiler Tab
│ └── Settings Tab
│
├── Backend Services
│ ├── Exercise Service
│ ├── Compiler Service
│ └── AI Feedback Service
│
└── Utils
├── Logger
└── Path Management
# Clone the repository
git clone https://github.com/ophiraShen/EasyC.git
# Start with Docker Compose
docker-compose up --build
# Clone the repository
git clone https://github.com/ophiraShen/EasyC.git
# Install dependencies
pip install -r requirements.txt
# Start the application
python src/main.py
- Python 3.10+
- GCC Compiler
- Docker (optional)
- DeepSeek API Key (for AI features)
- Gradio 5.4.0
- Python-dotenv 1.0.1
- Loguru 0.7.2
- Additional dependencies in
requirements.txt
src/
├── backend/ # Backend services
│ ├── ai/ # AI analysis
│ ├── compiler/ # Code compilation
│ └── exercise/ # Exercise system
├── frontend/ # UI components
│ ├── static/ # Static resources
│ └── tabs/ # UI tabs
├── utils/ # Utilities
└── main.py # Entry point
-
Frontend Module
- Welcome page
- Exercise system
- Code compiler
- Settings management
-
Backend Module
- Exercise management
- Code compilation
- AI analysis
- Error handling
-
Utils Module
- Logging system
- Path management
- Common utilities
Detailed documentation for each module:
We welcome contributions! Please see our Contributing Guidelines.
- Fork the repository
- Create your 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
- Secure code execution environment
- API key protection
- Regular security updates
- Resource usage limits
-
Feature Expansion
- Exercise progress tracking
- Multiple test case support
- Learning resource integration
- Code auto-save functionality
-
Technical Improvements
- Parallel test execution
- Enhanced AI capabilities
- Performance optimization
- Mobile responsiveness
This project is licensed under the MIT License - see the LICENSE file for details.
- DeepSeek team for AI capabilities
- GCC team for the C compiler
- Docker for containerization
- All our contributors and supporters
Project Link: https://github.com/ophiraShen/EasyC
Made with ❤️ for aspiring C programmers