@ -11,13 +11,13 @@ During development we were using whole bunch of development tools. We would like
## Further improvements
A lot of work has been done, but it opened a whole bunch of new possibilities for new student projects. We would be happy to see people contributing to this project to make it even more awesome. We are presenting list of features we think might be worth of doing. Surely, the list is not complete and may change in time.
A lot of work has been done, but it opened a whole bunch of new possibilities for new student projects and improvements. We would be happy to see people contributing to this project to make it even more awesome. We are presenting list of features we think might be worth of doing. Surely, the list is not complete and may change in time.
- Finish web frontend. In time of project submission it does not contain all features for best user experience in all roles. This task is suitable for people with basic web programming experience, React and Redux knowledge is an advantage.
- Create web editor of job configuration. ReCodEx job evaluation follows quite complex task flow. To create valid configuration, author of exercise has to write pretty long YAML file by hand. This task consist of creating web based editor of this configuration with prepared task templates allowing user to change their properties and connect them. After submit, YAML job configuration should be properly created.
- Write alternative commandline frontend. A lot of users want to submit their solutions directly from command line. It is possible in ReCodEx because of REST API, but no suitable frontend exists yet. There is unfinished attempt to create one in NodeJS, accessible in ReCodEx organisation on [GitHub](https://github.com/ReCodEx/cli). The goal is to finish this project or create alternative tool. We would like to see one written in Python.
- Create mobile frontend. It would be really nice to have mobile application when you can read exercise assignments and examine your progress and statistics. All is possible due to ReCodExs REST API. The basic Android application is in development by ReCodEx team as project for programming mobile devices class. The code will be published in GitHub organization. But we surely will not write anything for iOS or other systems.
- Design and implement backend monitoring. For administrator would be great to examine status of backend (broker, workers, monitor, fileserver) directly in browser. Key information are which machines are online, offline or failed, which worker is now running a job (maybe with current progress) and view configuration of worker. Also some statistics with graphs should be make, for example workload of workers. More advanced is the ability to restarting workers on change their configurations.
- Create web editor of job configuration. ReCodEx job evaluation follows quite complex task flow. To create valid configuration, author of exercise has to write pretty long YAML file by hand. This of course can be partially or fully automated but was not implemented at time. This task therefore consist of creating web based editor of this configuration with prepared task templates allowing user to change their properties and connect them. After submit, YAML job configuration should be properly created.
- Write alternative commandline frontend. A lot of users want to submit their solutions directly from command line. That is newly possible in ReCodEx because of REST API, but no suitable frontend exists yet. There is unfinished attempt to create one in NodeJS, accessible in ReCodEx organisation on [GitHub](https://github.com/ReCodEx/cli). The goal is to finish this project or create alternative tool. We would like to see one written in Python.
- Create mobile frontend. It would be really nice to have mobile application when you can read exercise assignments and examine your progress and statistics. All is possible due to ReCodEx REST API. The basic Android application is in development by ReCodEx team as project for programming mobile devices class. The code will be published as part of ReCodEx GitHub organization.
- Design and implement backend monitoring. For administrator would be great to examine status of backend (broker, workers, monitor, fileserver) directly in browser. Key information are which machines are online, offline or failed, which worker is now running a job (maybe with current progress) and view configuration of worker. Also some statistics with graphs should be make, for example workload of workers. More advanced feature is the ability to restart workers on the change of their configurations.
- Finish Windows sandbox. We developed initial sandbox for Windows environment, [WrapSharp](https://github.com/ReCodEx/wrapsharp). It is only for .NET platform assemblies, but it is all we want now. The goal is to finish implementation and do a really detailed security audit of the project. Also, integration to the worker is not fully done yet.
- SIS integration. Very nice feature is (semi)automatic creation of groups and assigning students to them depending on their timetable in student information system (SIS). However there is no standardized API for such communication yet, but we hope this will be possible in the future. Implementing this feature means extending ReCodEx API by a SIS module in PHP.