Skip to content

2. Project Work Log

Teddy Hartanto edited this page Apr 16, 2017 · 18 revisions

Week 2 - Mission objective and Goal Setting

Whole team: @Charlene | @Kenan | @Teddy | @Xin Ai | @Yan Ling

  • Defined mission goal and objective
  • Defined functional requirements
  • Conducted an interview with Prof Ooi to understand the problem better and to elicit software requirements
  • Researched on existing prodcuts and solutions on the market

Week 3 Requirement analysis and product design

Whole team: @Charlene | @Kenan | @Teddy | @Xin Ai | @Yan Ling

  • Discussed software requirements glossary
  • Discussed UI interaction flow
  • Discussed architectural design
  • Discussed potential issues and challenges
  • Added functional requirements
  • Added non-functional requirements
  • Analysed bill and statement samples
  • Discussed implementation stack, framework and library

@Teddy:

  • Designed the glossary of the software requirements
  • Designed interview questions

@Charlene | @Kenan | @Xin Ai

  • Designed ER diagram
  • Drawn ER diagram

@Kenan | @Teddy

  • Discussed the Software Architecure
  • Designed the architectural diagram (component diagram)
  • Drawn architectural diagram (component diagram)

@Charlene:

  • Refine interview questions
  • Added interview questions

@Kenan

  • Reviewed & commented interview questions
  • Reviewed & broke down requirement specifications
  • Raised awareness on potential risks and challenges (e.g duplicate bill org)

@Yan Ling

  • Designed user interaction
  • Drawn UI wireframe
  • Drafted UI prototype with photoshop

Week 4 - Software design and User Experience Design

Whole team: @Charlene | @Kenan | @Teddy | @Xin Ai | @Yan Ling

  • Discussed back-end implementation
  • Assigned product backlog items for sprint 1 on week 5

@Teddy

  • Refined software architecture diagram (component diagram)
  • Drawn the software architecture diagram
  • Refined ER diagram
  • Researched on Travis and Vagrant
  • Interviewed 2 people
  • Added and drawn the software architecture diagram with data flow
  • Refined Software Requirements Specifications

@Charlene

  • Transferred documents into github
  • Formatted and organized wiki structure
  • Interviewed 1 person

@Kenan

  • Designed brand style guide
  • Created brand style guide with adobe illustrator
  • Modified mission statement and objective
  • Modified functional and non-functional requirement (break down)
  • Added abuser stories

@Yan Ling

  • Re-designed user interaction from feedbacks
  • Drawn mid fidelity UI prototype with adobe photoshop
  • Interviewed 2 people

@Xin Ai

  • Refined ER diagram
  • Drawn ER Diagram

Week 5 -

@Teddy

  • Learnt PHP (~3h)
  • Learnt Laravel (~5h)
  • Setup local development environment (Homestead)
  • PR #9: Worked on the authentication pages (built-in in Laravel, comes with the front-end pages and the backend implementations)

@Charlene

  • Interviewed 2 people

@Kenan

  • Setup heroku

@Yan Ling

  • Worked on feature/mainpage

Week 6 -

@Teddy

  • PR #10: Integrated new front-end authentication pages with customized back-end authentication codes
  • PR #18: Fixed front-end bug that causes weird behavior in modal
  • Refactored front-end layouts
  • Done Issue #2: Setup remote production database
  • Learnt Laravel (~12h)
  • PR #19: Finished add and delete billing organization:
    • Added the models, migrations, and controllers for these features

@Charlene

  • nothing (maybe learn php)

@Kenan

  • Add logic skeleton

@Yan Ling

  • added more layout elements for UI

Recess Week -

@Teddy

  • Learnt Laravel (at least 12h if i remember correctly)
  • Renamed BillingOrganization -> RecordIssuer
  • Made RecordIssuer unique to each user (I foresee a problem with the original DB Schema and decided to do this)
  • Added RecordIssuerType model and migration
  • Added Record model, migration, and controller
  • Added front-end page for viewing records (including a form to create new records)
  • Finished user story: "User can add a new record"
  • Finished user story: "User can download the uploaded records"
  • Finished user story: "User can view the record"
  • Added Authorization policies for the resources (one user cannot access or perform operations on other users' resources)
  • Added DB seeders for all the resources so far
  • Beautified the front-end page for viewing records
  • Fixed bugs along the way

Related PRs for the above work: #21, #22, #23

@Charlene

  • Add modal for register and login

@Kenan

  • Update README with setup guide

@Yan Ling

  • literally nothing

Week 7 -

@Teddy

  • Fixed heroku bug Issue #33
  • Helped Yan Ling connect to her local DB (there were some problems)
  • Helped Charlene connect to her local DB
  • PR #36: Refactored Record to use Carbon datetime instance
  • Fixed guest middleware redirection ins Issue #34

@Charlene

  • Redesign modals for register and login

@Kenan

  • Display record information in data tables
  • Refactor code
  • Fix bugs

@Yan Ling

  • PR #42 Added retractable sidebar for statistics
  • Add basic layout for edit page
  • Reorganize layout

Week 8 -

@Teddy

  • PR #47: Fixed heroku R14 Memory Quota Exceeded Issue #43
  • Put CircleCI's config into circle.yml and deleted configs in the web app (enforcing a single place to modify the config)
  • Learnt more Laravel concepts (more on testing in particular) (~3h)
  • Learnt ImageMagick and implemented a prototype for Pdf->Jpeg conversion and cropping
  • Implemented a prototype for OCR on cropped images using Tesseract

@Charlene

  • Fix register and login modal buttons

@Kenan

  • Fix npm build error
  • Add calendar and edit records view
  • Clean up code

@Yan Ling

  • Code select boxes and coordinate collection for frontend OCR

Week 9 -

@Teddy

  • PR #71: Added integration tests to all backend routes:
    • Tests for HomeController
    • Tests for DashboardController
    • Tests for RecordIssuerController
    • Tests for RecordController
  • Learnt more Laravel concepts
  • Fixed bugs along the way
  • Setup CircleCI DB for testing
  • PR #78 and PR #93: Implemented a new way of storing record (through automated OCR):
    • Implemented Pdf->Jpeg conversion
    • Implemented Cropping of Jpeg
    • Implemented OCR
    • Finished "Accept coordinates from users"
    • Finished "Show users the results of OCR"
    • Added logic that handles template selecting
    • Implemented models, migrations, controllers, ModelFactory, and DB seeders needed for this functionality

@Charlene

  • Add error messages to modal forms
  • Link modal forms to back-end
  • Add some form validation

@Kenan

  • Frontend and backend statistics
  • Fixed various major bugs

@Yan Ling

  • Enable correct display of frontend OCR for multiple pages
  • Add validation for add record issuer
  • Minor aesthetic tweaks to UI

Week 10

Whole team: @Charlene | @Kenan | @Teddy | @Yan Ling

  • Heuristic Evaluation

@Teddy

  • PR #93: integrate backend ocr with frontend
  • Show multiple pages of the uploaded record file in front-end

@Charlene

  • Add necessary md files

@Kenan

  • Add tests

@Yan Ling

  • PR #93 and PR #115: integrate frontend ocr with backend
  • fix frontend bugs

Week 11

Whole team: @Charlene | @Kenan | @Teddy | @Yan Ling

@Teddy

  • PR #93: integrate backend ocr with frontend
  • PR #109: Frontend fixes

@Charlene

  • Updated wiki pages for Heuristic Evaluation

@Kenan

@Yan Ling

  • PR #111 Worked on displaying backend errors on register and login modals
  • PR #105 Minor frontend bug fixes
  • Started working on new UI for edit page
  • Setting up Github page

Week 12

Whole team: @Charlene | @Kenan | @Teddy | @Yan Ling

@Teddy

  • Issue app release version
  • PR #93: Finalized OCR and pushed to master
  • Worked on video script

@Charlene

  • Screencast video

@Kenan

  • Animated demo video

@Yan Ling

  • Fixing reset buttons on edit form
  • Minor updates to frontend to reflect our change of name and icon
  • Transferred new edit page UI to work with OCR
  • Redid form validation to work with the new edit page UI

Week 13

Whole team: @Charlene | @Kenan | @Teddy | @Yan Ling

  • Think aloud protocol
  • System Usability Scale

@Teddy

  • PR #121: cleanup
  • PR #122: bug fixes
  • PR #123: App UI/UX improvements
  • PR #124: More App improvements
  • Robustness & Efficiency evaluation
  • Security Evaluation

@Charlene

  • Wrote wiki pages for usability tests
  • Completed video

@Kenan

@Yan Ling

  • Fixed UI features that were not working for banks
  • Finished Github page