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.
- karel.js: La versión oficial de Karel utilizada por la Olimpiada Mexicana de Informática.
- omegajail: Un mecanismo de ejecución segura que basado en contenedores de Linux y seccomp-bpf. Utiliza minijail, escrito por el proyecto Chromium.
- libinteractive: Una librería para hacer problemas interactivos fácilmente.
Todo el código de omegaUp está distribuido bajo la licencia BSD.
Los navegadores oficialmente soportados son los siguientes:
- Chrome: Stable Channel
- Firefox: V.46+
- Internet Explorer: 10 Consumer Preview
- Microsoft Edge: All versions