Summer Coding 2010 proposal - cron job scheduler

Name of the project
GUI application for Cron job scheduler

Aim of the project
Cron is a time-based job scheduler in Unix-like computer operating systems. Cron jobs are used to schedule commands to be executed periodically i.e. to setup commands which will repeatedly run at a set time, you can use the cron jobs. Cron is driven by a crontab, a configuration file that specifies shell commands to run periodically on a given schedule. The crontab files are stored where the lists of jobs and other instructions to the cron daemon are kept. Users can have their own individual crontab files and often there is a crontab file (usually in /etc or a subdirectory of /etc) which only system administrators can edit. Currently there is no proper GUI for scheduling cron jobs and it is still done using Terminal commands. Thus I would like to provide a GUI so that administrators can easily schedule their jobs in the GUI application. The GUI is developed using Java, and the shell scripts are executed from the java program

Schedule of the project
Week 1   : Requirements analysis and Feasibility study Week 2    : Design and Module Identification Week 3,4  : Coding and Unit Testing - Phase 1 Week 5    : Integration Testing and Documentation - Phase 1 Week 6,7  : Coding and Unit testing -  Phase 2 Week 8    : Integration Testing and Documentation - Phase 2 Week 9    : System testing Week 10    : Packaging, Documentation and User manual preparation Week 11    : Submission of project

Previous works
The schedule of the project ensures that the coding will start after analyzing and documenting the requirements. Since the project is developed in 2 phases, the actual development of the project is not postponed till the end. I prefer the methodology of incremental development so that it does not overwhelm the developer at the end of the project. Documentation and testing is done during each week of the project to avoid proceeding with defects. The projects that I developed earlier were submitted on schedule and were divided into modules for efficient development. The open source project that I developed is Quizzers suite which won 2nd place in the All India level competition, Code for freedom 2008. The documentation and source is available in the following link https://quizzersuite.dev.java.net/

Views on project

 * 1) My View On successful completion of this project, the scheduling of jobs becomes simple, easy scheduling and managing of jobs can be done. This proves to be an good solution as there is no current GUI based scheduler for cron jobs. Thus this application can be added in the next release of fedora that will provide an added feature.
 * 2) What will you do if you get stuck on your project and your mentor isn't around? Since I clearly list the requirements and analyze it in the week 1, I can proceed with the project even if the mentor is not around. Else if I get stuck with my project, I'll look for related forums to gather help from the online mentors
 * 3) In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project? I can submit the the progress in my project by listing the work done in each week

Miscellaneous

 * 1) We want to make sure that you are prepared before the project starts
 * 2) * Can you set up an appropriate development environment? Yes
 * 3) * Have you met your mentor? yes
 * 4) What is your t-shirt size? L

Comments
Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].