D6: Handoff Plan

Communication of handoff to client 

We will set up a meeting during the final week of class or in the days before the final deliverables are due to ensure that all materials and knowledge are transferred over to Professor Leve and/or members of her technical team. The purpose of the meeting is to make sure our client has an understanding of how to access all materials independently and provide an opportunity to address any confusion. We will document all of the information to be discussed in the meeting (including but not limited to information addressed in the sections below), as well as any additional information discussed during the meeting, in the form of written documents and videos and make adjustments to the handoff instructions accordingly. During the meeting we will also go over the User and Administrator/Developer documentation and update those with changes discussed during the meeting as well. Shortly following the meeting, we will send the final version of the project along with the updated handoff instructions via email. 

GitHub 

We will ensure that our client, Professor Leve, and other members of her team at UNC (Jim Mahaney) and in Nepal (Raj Maharjan and his team) have access and are given contributor roles to the GitHub repository (https://github.com/charlesma11/comp523-swayambhu). We will provide instructions on how to fork the GitHub repository, so the client can have a backup of the code. 

Install Instructions

We will include precise installation instructions of all software and dependencies so that the new team will be able to handle all data and repositories seamlessly. First, we ensure that all team members have access to the latest version of the codebase and relevant documentation. We will also clearly document the project’s dependencies in the readme, including specific versions, and provide instructions for setting up the development environment, specifying tools, libraries, and configurations. Additionally, we will detail any required credentials or access permissions for external services and include guidelines for testing the code to ensure its integrity before the handoff. Finally, we shall establish a communication channel or documentation platform for any questions or clarifications during the transition. 

Carolina CloudApps

We will ensure that our client, Professor Leve, will be added as an administrator to the carolina cloud apps project so that she can manage deployment as necessary and handle any issues with the website. We will do this by first ensuring that all clients with ONYENs create a carolina cloud apps account so that they can be added to the project. We will also alternatively include instructions for deployment on carolina cloud apps that only requires the client to have access to the github repository. We will show the client how to create their own carolina cloud apps project and deploy it by linking the project to a github repository. 

Costs for maintaining product 

There are no costs required for maintaining the product. We are using Carolina CloudApps which is freely available as long as it is maintained by a faculty member or student of UNC. Additionally, we are using education licenses for Reality Capture to build the model from the raw data (drone capture images, scans, etc.). These were obtained by Jim Mahaney whom Professor Leve will continue to work with after this semester. 

Video for Client

We will create a video (much like the documentation plan) to go through the various aspects of the project that we have built, are in progress, or are reach goals. For the existing features of the project, we will demonstrate the design decisions we chose in the video (e.g. why we stored the Unity model directly in the React app) and where edits can be made. We will also go over the stretch goals that the client had and how we would build those features if we had more time. This video, along with the videos we will make as part of the documentation plan, will be delivered to Professor Leve and her team with ample time such that we would be able to make adjustments and/or re-record for clarification if necessary.