Getting Started with omegaUp Development
Welcome! This guide will help you get started with contributing to omegaUp, a free educational platform that helps improve programming skills.
What is omegaUp?
omegaUp is an educational programming platform used by tens of thousands of students and teachers in Latin America. It provides:
- Problem Solving: Thousands of programming problems with automatic evaluation
- Contests: Organize programming competitions
- Courses: Structured learning paths
- Training: Practice problems organized by topic and difficulty
Before You Begin
If you're new to omegaUp, we recommend:
- Experience the Platform: Visit omegaUp.com, create an account, and solve a few problems
- Learn About Us: Explore omegaup.org to learn more about our organization
- Understand the Codebase: Review the Architecture Overview to understand how omegaUp works
Quick Start Path
-
Set up your local development environment using Docker. This is the first step to start contributing.
-
Learn how to fork the repository, create branches, and submit pull requests.
-
Stuck? Learn how to ask questions effectively and get help from the community.
Development Environment Overview
omegaUp uses Docker for local development. The main components include:
- Frontend: PHP + MySQL (MVC architecture)
- Backend: Go-based grader and runner system
- Frontend UI: Vue.js + TypeScript + Bootstrap 4
- Database: MySQL 8.0.39
Development Accounts
When you set up your local environment, you'll have access to two pre-configured accounts:
| Username | Password | Role |
|---|---|---|
omegaup |
omegaup |
Administrator |
user |
user |
Regular user |
Next Steps
- Set up your development environment - Get Docker running and clone the repository
- Read the contributing guide - Learn the workflow for submitting changes
- Explore the architecture - Understand how omegaUp is structured
- Review coding guidelines - Learn our coding standards
Resources
- Website: omegaup.com
- GitHub: github.com/omegaup/omegaup
- Discord: Join our Discord server for community support
- Issues: Report bugs or request features
Ready to start? Head to Development Setup to begin!