====== grp6 - WorkForecast ====== - Alexey Kazarnikov - Maria Fedotenkova - Galina Lavrentyeva ===== Idea ===== Good time management skills are very important in nowadays. But sometimes it can be very inefficient to rely only on one's memory, especially if your work is related mostly to your time. That is why such systems as presented bellow are highly appreciated nowadays. The main idea of the project is to provide an employee with easy-to-work-with application which would help him to plan his own future work activities and events. This application allows employees to enter and view their work forecast for future months and even years, make forecast for particular week or for the whole activity. Also other users, such as managers, director or resourcing representatives, are also able to view employees forecasts in order to get the required information for administrative needs. The idea of the application came from three characteristics: - powerful but not too complicated time-management - intuitively understandable; - nice to work with. ===== SCRUM status ===== Scrum is one of the most popular agile software development method for managing project development process. It has a lot of advantages which wouldn't be discussed here in the interest of brevity. But one of the most important features are dividing the whole process into sprints. In Scrum iteration is called Sprint. Our work was divided into 3 sprints, 1 week duration each. Below you can see the list of project backlog in each sprint, what was done are marked with green, and what was left for the next sprints (or future improvements) are painted red. __**Sprint 1:**__ {{:java2012:grp6:sprint1.png?200|}} __**Sprint 2:**__ {{:java2012:grp6:sprint2.png?200|}} __**Sprint3:**__ {{:java2012:grp6:sprint3.jpg?200|}} But before planning sprints we had do defy backlog, meaning what exactly should we do. It was done basing on user requirements and existing documentation, as a sum of it you can see User Stories created: {{:java2012:grp6:us1.jpg?200|}} {{:java2012:grp6:us2.png?200|}} Here you can see what each user should be do in the system, to which features it led, priority and whether it was done or not. After that we decided to divide the development process into several parts: 1. Project implementation (**Alexey**). 2. View design (**Maria**). 3. Documentation (**Galina**). Each member of the team was responsible for his own part. As we were doing all this step by step, it gives everyone the opportunity to control the step of the development process and management skills. ===== Screenshots ===== Main page: {{:java2012:grp6:main_page.png?200|}} Administration panel: {{:java2012:grp6:admin_panel.png?200|}} {{:java2012:grp6:admin_panel2.png?200|}} Consultant page: {{:java2012:grp6:consultant1.png?200|}} {{:java2012:grp6:consultant2.png?200|}} {{:java2012:grp6:consultant3.png?200|}} {{:java2012:grp6:consultant5.png?200|}} {{:java2012:grp6:consultant6.png?200|}} Manager page: {{:java2012:grp6:manager1.png?200|}} {{:java2012:grp6:manager2.png?200|}} Controller page: {{:java2012:grp6:controller1.png?200|}} Director page: {{:java2012:grp6:director1.png?200|}} Resourcing representatives page: {{:java2012:grp6:resourcing1.png?200|}} {{:java2012:grp6:resourcing2.png?200|}} ===== Code ===== **Note:** //This is a NetBeans project// {{:java2012:grp6:workforecast_final.zip|}} The war-file is too big it is situated here: [[http://www.2shared.com/file/aR2oTG9k/WorkForecast_final.html|http://www.2shared.com/file/aR2oTG9k/WorkForecast_final.html]] Also here is the same file but divided into 4 parts: {{:java2012:grp6:workforecast-0.1.part1.rar|}} {{:java2012:grp6:workforecast-0.1.part2.rar|}} {{:java2012:grp6:workforecast-0.1.part3.rar|}} {{:java2012:grp6:workforecast-0.1.part4.rar|}} **Notes:** //1. This software uses MySql. In order to run the application, MySql must be installed in the system.// //2. Database WorkForecastDatabase should be created, before usage of the application.// ===== Conclusion ===== The final version of the application includes: - all functionality which was designed for each role; - nice-looking and easily understandable design; - also included new role that wasn't mentioned - administration, who adds new accounts to the system. **Code Camp experience:** We really appreciate the given to us opportunity to participate in this Code Camp because of several things, such as: - agile development methods; - working with a real client; - working as a team; - working when you are out of your comfort zone (really deadline style coding); - and many more... **Final report:** {{:java2012:grp6:gr6_final_report.pdf|}} **Presentation slides** (19.10.2012): {{:java2012:grp6:codecamp.pptx|}}