Project Planning

Project Planning

BACHELOR THESIS: CONTRACT MANAGER – A MODERN APPROACH: Creating a Contract Management System Using Modern Designs and Frameworks AUTHORS: Joakim Jøreng Martin Storø Nyfløtt Thomas Mellemseter DATE: 14.05.2015 ABSTRACT Title: Contract Manager – A Modern Approach: Date : 14.05.2015 Creating a Contract Management System Using Modern Designs and Frameworks Participants: Joakim Jøreng Martin Storø Nyfløtt Thomas Mellemseter Supervisor: Tom Røise Employer: Electronic Time Car AS Keywords: Contracts, web, JavaScript, Java, REST, SPA Number of pages: 89 Number of appendix: 9 Availability: Open This thesis describes the process around the development of Contract Manager, a system for administration of contracts in cooperation with ETC AS. The system lets users administrate contracts through a web-application that is also scalable on mobile devices. Additionally, the project involves two hybrid-apps that makes it possible to take pictures of contracts as an attachment and lets the user receive push notifications regarding their contract statuses. The target group for this system is home-users and organization users. Contract Manager consists of a web-application, two mobile-applications and one backend. The mobile apps and the web-app communicates with the backend through a REST-full web-api. The system also involved Facebook integration for login and a subscription module that uses PayPal. Much of the focus throughout the project has been on using modern, popular and well established frameworks that solves several problems web-applications face today regarding scalability on different devices, modularity and flexibility. SAMMENDRAG Tittel: Contract Manager – A Modern Approach: Dato : 14.05.2015 Creating a Contract Management System Using Modern Designs and Frameworks Deltakere: Joakim Jøreng Martin Storø Nyfløtt Thomas Mellemseter Veileder: Tom Røise Oppdragsgiver: Electronic Time Car AS Stikkord: Kontrakter, web, JavaScript, Java, REST, SPA Antall sider: 89 Antall vedlegg: 9 Tilgjengelighet: Åpen Denne oppgaven beskriver prosessen rundt utviklingen av Contract Manager, et system for administrering av kontrakter, i sammarbeid med ETC AS. Systemet lar brukere administrere kontrakter via en web-applikasjon som også er skalerbar på mobile enheter. Det er i tillegg utviklet to hybrid-apper som gjør det mulig for brukere å ta bilde av kontrakter og legge de inn i systemet, samt motta push-notifikasjoner for varsler om kontrakter. Målgruppen for systemet er privatbrukere samt organisasjonsbrukere. Contract Manager består av en web-applikasjon, to mobil-applikasjoner og en backend. Mobilappene og web-appen kommuniserer med en server via et REST-full web-API. Det har også blitt implementert Facebook-støtte for login og en betalingsmodul som tar i bruk PayPal som betalingstjeneste for systemet. Mye av fokuset igjennom prosjektet har vært på å ta i bruk moderne, populære og veletablerte rammeverk som løser flere problemer web-applikasjoner møter i dag deriblant skalerbarhet på forskjellige enheter, modularitet og fleksiblitet. Preface We would like to thank everyone that has contributed to this project. Special thanks goes to the employer of this project, Dag L Solhaug, who made this project possible. Thanks to Tom Røise for excellent supervising through the entire project. Thanks to Eivind Arnstein Johansen for giving us feedback on the user-interface, and thanks to Mark Bertels (NL) for helping us with Hibernate. We would also like to thank Dennis André Østvik Gjerdingen, Pål Storsveen and Trine Jeanette Storsveen for taking our user tests. We would also like to thank the staff members at Gjøvik University College (GUC) that has answered questions related to this project and anyone else who has not been mentioned earlier who has contributed in any way. Gjøvik, 14.05.2015 Table of Contents 1. Introduction ............................................................................................................................ 1 1.1 Background ....................................................................................................................... 1 1.2 Project Description ........................................................................................................... 1 1.3 Scope ................................................................................................................................ 2 1.4 Target Audience ............................................................................................................... 3 1.5 Application Target Audience ............................................................................................ 3 1.6 Purpose ............................................................................................................................. 3 1.7 Academic Background ...................................................................................................... 4 1.8 Roles ................................................................................................................................. 4 1.9 Glossary ............................................................................................................................ 5 1.10 Document Structure ....................................................................................................... 6 2. Project Management .............................................................................................................. 7 3. Contract Lifecycle ................................................................................................................. 10 4. Project Planning ................................................................................................................... 11 4. 5 Conceptual Data Model ................................................................................................. 11 4.6 User Types ...................................................................................................................... 11 4.7 Legal................................................................................................................................ 12 4.8 Groups and Rights .......................................................................................................... 13 4.9 Backlog ........................................................................................................................... 14 4.10 Survey ........................................................................................................................... 14 5. System Architecture ............................................................................................................. 16 6. Technologies ......................................................................................................................... 20 6.1 Restlet ............................................................................................................................. 20 6.2 Hibernate ........................................................................................................................ 22 6.3 Angular ........................................................................................................................... 23 6.4 Bootstrap ........................................................................................................................ 25 6.5 Android and Windows .................................................................................................... 28 6.6 Gradle ............................................................................................................................. 29 6.7 Grunt and Bower ............................................................................................................ 30 6.8 Project Dependencies .................................................................................................... 31 7. Design ................................................................................................................................... 33 7.1 Angular ........................................................................................................................... 33 7.2 Implementation of Restlet and API ................................................................................ 46 7.3 Hibernate Integration ..................................................................................................... 51 7.4 Graphical User Interface ................................................................................................ 55 7.5 Internationalization ........................................................................................................ 67 7.6 Hybrid Apps .................................................................................................................... 70 8. QA ......................................................................................................................................... 74 8.1 API................................................................................................................................... 74 8.2 SonarQube ...................................................................................................................... 76 8.3 Angular ........................................................................................................................... 77 8.4 JSHint .............................................................................................................................. 79 8.5 User Testing ...................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    158 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us