Estos son los directorios que estamos usando activamente en el desarrollo:
- frontend/server/controllers: La lógica de negocio que implementa el API de omegaUp.
- frontend/server/libs: Bibliotecas y utilerías.
- frontend/server/libs/dao: Los Data Access Objects [DAO] y Value Objects [VO]. Clases utilizadas para representar los esquemas de la base de datos y facilitar su consumo por los controladores.
- frontend/templates: plantillas de Smarty utilizadas para generar el HTML que se despliega a los usuarios. También aquí están los archivos de internacionalización para inglés, español y portugués.
- frontend/www: Los contenidos completos de la página de internet.
El resto del código está en otros repositorios:
- quark: Incluye el código del grader para la calificación de problemas y ejecutar los códigos bajo minijail, así como el servicio utilizado en los servidores de la nube para servir la cola de envíos.
- omegaUp Karel: Es la versión que utiliza omegaUp para evaluar programas de Karel. Es un port de OMI Karel a consola de comandos Linux.
- minijail: Un fork de minijail, escrito por el proyecto Chromium y adaptado para ser usado en concursos de programación.
- libinteractive: Una librería para hacer problemas interactivos fácilmente.
Todo el código de omegaUp está distribuido bajo la licencia BSD.