# Product
## Ambition
| Explain what was achieved in the project relative to the original objectives. <br>Comment (500 words max)
---
The focus of the project was to create a booking system for Cloud Plus which will allow their customers to create, update, view and delete their bookings. These booking includes import or export jobs, order lists as well as cargo transfer between warehouses. Staff and administrators also have access to the system and are only able to view, approve or reject customer bookings. Admins have the additional function of user accounts management and the ability to declare public holidays in the system to prevent customers from booking a slot on the specified dates. We have sent a scope document to Cloud Plus detailing the original objectives, this was signed by Mr. Peck Wei Sheng the project manager, Aloysius Goh Ze Feng the product owner of team 8 and Muhammad Haiqal Bin Razali the product owner of Team 11.
We have implemented majority of the functions that we have decided earlier in the project planning phase and have made some changes to the original requirements due to some difficulties in producing the features. Some features that were not implemented are the ability to change language, email notification service, warehouse storage feature and ability to view the location of the trucks.
Additional features have also been added due to requirements from other modules like the ability to set and change pin for the kiosk module. These additional features have been approved by Wei Sheng.
We have integrated most of the features relative to the original objectives, with some exceptions, such as PDF generation for the bill of lading, shipping notes and delivery notes, and the staff features. These features were not integrated into the main application due to time constraints and lack of experience. However, these features are implemented in our team’s fork of the main repository.
Some features have been implemented into the main repository that was part of the original objectives that have unfortunately prevented it from working as intended. The features that are not functioning include resetting the password through email, cargo summary page and warehouse dropdown list under booking form submission. Unexpected issues cause these during the integration phase, such as conflicting database nullabilities and email server setup issues. The features that are broken on the integrated repository are solved on the team’s forked repository.
> Evidence here
<span style="color:red">
Insert Scope Document
([https://bit.ly/2OXSE3E](https://bit.ly/2OXSE3E)) and other evidence
related
</span>
## Design and Implementation
| Project Organisation. "*Is the software product directory well organised according to language/platform conventions? Is there a getting started document present (e.g. README.md)? Is the release accompanied by release notes documenting new features and known bugs? Can the code be compiled and tested automatically? Can the release be installed automatically? Is there a user guide within README.md or called USERGUIDE.md. If the installation is not fully automated are there instructions for this?*" 150 words max
---
The naming of code files and olders are consistent throughout the project. For the further breakdown of directory, do refer to the File Directory.md and Code Directory.md. The team also used project management software like trello to help keep track of the progress made. Updates to the trello board would also be sent to our telegram group chat to help ensure that we remain updated. For known bugs, refer to the bugs.md file. The current version of the programme (23 March 2021) can be downloaded from github and compiled with no issue. The individual booking system module database is hosted on Microsoft Azure while the integrated system is hosted on the Huawei cloud provided by Cloud Plus
> Evidence here
<p>
<span style="color:red;">
2. Insert Trello screenshots with telegram integration <br>
3. Insert screenshot of working system 1 or 2 will do
</span>
</p>
| Software Design. "*There is a correspondence between high level design documentation for the project and the organisation of the source code. There is a careful separation of concerns between modules making use of appropriate architectural and design patterns. Software metrics indicate loosely coupled software and high modularity/cohesion.*" 150 words max
---
The software architecture that we have adopted is the client-server architecture. There are 3 actors in the booking system, as seen from the use case diagram below. This system allows users that have been authorised to send and receive data from the main server. The ensures that the neccessary resources are are delivered efficiently to any users.
> Evidence here
<span style="color: red;">
1. Insert use case diagram, ERD, Class diagram
</span>
| Implementation. "Does the implementation that follows a consistent style? Is there a use of explicit identifiers for modules, methods and variable (as appropriate)? Are functions short and comprehensible with low nesting? Is the level of code documentation <em>appropriate</em> (i.e. neither absent nor excessive) use of program documentation will be highly credited."
---
The system follows a consistent layout and colors. Site interactions are also kept the same regardless of users to improve usability. Code commenting has also been done to make understanding of code and debugging easier.
> Evidence here
<span style="color: red;">
1. Insert screenshots of system
</span>
## Handover Plan
## BERNIE
| Intellectual property and licensing. Describe what agreement you reached *with* your customer regarding intellectual property and licensing. For example, did you *agree* a suitable open source licence? Did you transfer intellectual property to the customer in exchange for compensation? State and give evidence for when you began discussions with the customer regarding this issue.
---
|It was agreed between Cloud Plus and Singapore Institute of Technology that the intellectual property and licensing of the software system (Booking System) would be handed over to Cloud Plus upon completion as mentioned by Wei Sheng [1]. As the system will be incorporate open source codes, our team will also be required to create and handover all relevant documents in regards to the software system. |
|[1]|
| Delivery. Describe the plan you *agreed* with the customer for making your software available to them. For example, did you agree to make the repository publicly available, or did you transfer the repository to them as a zip file? State and give evidence for when you began discussions with the customer regarding this issue. |
| ------------------------------------------------------------ |
|As requested by Cloud Plus, the delivery of the software system shall include the source code, detailed user manual guide and all relevant documents, which shall be upload onto the team's Github repository[1][2] for reference and be made available to them on 25th March 2021 with full read and write access[3][4]. Once access has been granted by the school to Cloud Plus on 25th March 2021, Cloud Plus will be able to download the source code and other documents directly from the Github repository as a zip file. |
|[1]https://github.com/UGS-CS/SLS-M09-BookingSystem|
|[2]https://github.com/UGS-CS/CSC2002-TP-P08-REPO|
|[3]|
|[4]|