IS480 Team wiki: 2014T1 One Piece Project Final Wiki

From IS480
Jump to navigation Jump to search

OnePiece Banner.jpg

Team One Piece has developed an online training web application for BP
to make corporate trainings efficient and effective
by implementing modern teaching techniques and enhanced features
to optimize the learning experience.

Back to Home Page

Project Progress Summary

BP Academy
Progress Summary
Summary of Changes
(Post Midterm)

Team One Piece has developed an online training web application for BP to make corporate training efficient and effective by implementing modern teaching techniques and enhanced features to optimize the learning experience.


View 1 min video pitch here.

Currently we are at second last iteration....

Scope Changes

  • Analytics for Trainees to compare their scores with mean, minimum and maximum scores in quizzes

Modifications in Functionalities

  • Assign different marks for each question in a quiz
  • Assign a separate timer for each slide in a module
  • Have a question bank for each quiz to randomize questions for multiple attempts
  • Schedule the time and date when a module can be published or recalled

Other Modifications

  • Removing the timer while going back to slides visited previously and other UI modifications and functionality enhancements

Project Achievement


Watch here to learn more about Slide(Text) Editor!

Click here to access our Impressify as opensource!

Project Challenges

Challenges OnePiece.jpg

Project Highlight


Project Management

Project Status:

  • We have completed 100% of our scope and tested in deployed site.


TeamOnePiece ScopeFinal.jpg

Project Timeline

Please access our timeline here.

Project Schedule (Actual Vs Plan)

Actual Planned.jpg

Change 1 : Unfortunately, two of our team member's laptops broke down one after another at the start and middle of iteration 6 which is school week 3 and 4. One member took 3 days and another member took 2 days to get back a working laptop. We decided to expand the iteration duration by 3 days instead of reallocating the task with different resources since two incidents occur one after another consecutively. Hence next iteration (iteration 7) will start on 18 Sep instead of 15 Sep.

Change 2 : Developers found out that the inefficiency of the way we utilize Hibernate framework is causing major bugs in integration stage. Besides, there are conflicted and overwritten files when committing to GitHub is delayed the integration process as well. Since we did not want to effect preparation time for UATs with client and SMU students and midterm, we decided to expanded this iteration duration by 4 days. Iteration 7 will be ended on 5 Oct instead of 1 Oct. We aim to catch up with the delay in week 8 (recess) week after mid term presentation.

After Mid Term Status : There is no scheduling major changes from iteration 8 onward.

Change Management (Scope)



Schedule Metric : Please click here to find out more in details.
Bug Metric : Please click here to find out more in details.
Github repository commit frequency & behavior  : Please click here to find out more in details.

Project Risks

Please access our risk and mitigation strategy here.

Technical Complexity

1. Database structure with Hibernate

Hibernate wrong onepiece.JPG Hibernate correct onepiece.JPG

2. Handling of multiple file types
Apache POI

Apache POI.JPG

PPT JPG PNG MP4 MP3 OGG file types
FH Media.jpg FH PPT.jpg

3. Built on top of JavaScript frameworks to create customized text (slide) editor

Impressify.js is a visual interactive development environment (IDE) to create stunning Impress.JS presentations on HTML5 with CSS transformations and transitions. It is built on top of Impressionist beta created by Harish Sivaramakrishnan @hsivaram and Impress.js created by Bartek Szopka @bartaz.
To learn more, please click here to access our Impressify as opensource!


Click here to watch how does our Text Editor work!

4. Question Bank Algorithm

Algorithm QuestionBank.JPG Algorithm QuestionBank2.JPG

5. Automatic published/recall modules based on scheduled dates
Quartz is a java framework which requires additional integration effort with current system and therefore more risky.
MySQL Event Scheduler makes user of the current backend system.
For each schedule publish or recall task, there is a need to trigger MySQL scheduled event with a unique id making use of the unique module id. Whenever there is a change in schedule publish and recall date, the specific event based on the module id will be picked up and update or delete accordingly.

Quality Of Product


Web Application Apache Tomcat
Database MySQL
Server OpenShift
Deployed Link https://onepiece-bpacademy.rhcloud.com/BP/

Besides, BPAcademy has been deployed to client server.

Deployment Diagram
Deployment Onepice.jpg

  • Window username needs to be added to the database to access our deployed version.

Project Deliverables

Stage Specification Modules
Project Management Meeting Minutes Supervisor, Client & Internal Meetings
Metrics Schedule & Bug Metrics
Requirements Project Scope Deliverable Scope
Lo Fi & Hi Fi Prototypes (Mock-up UI) from Interactive Design and Prototyping Module Project
Resources Diagram Architecture Design

Use Case
Event Flow
ER Diagram

Resources Tools & Technology
Testing UAT Details Test Plans & Analysis Results
Handover User Manual & Support Documents Not for public disclosure for now
Presentation Materials Presentation Slides Slides for Acceptance, Mid-term, Finals

UAT Summary

UAT lists.JPG

Please click here to find out more about our UAT procedure, results and analysis.

Stakeholder Management & Comments

Stakeholder Management.jpg


Individual & Team Take Away

Reflections Final.jpg