G.P. Gandhinagar DIT A Project Report On Personal Assistant Submitted by Harsh S. Rana 196230316123, 6th Sem I.T. Jignesh M. Rathod 196230316124, 6th Sem I.T. Ruturaj P. Rathod 196230316125, 6th Sem I.T. in partial fulfilment for the award of the degree Of DIPLOMA ENGINEERING In Information Technology At Government Polytechnic Gandhinagar under GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD IT2021-22 1 G.P. Gandhinagar DIT GOVERNMENT POLYTECHNIC, GANDHINAGAR Information Technology Department CERTIFICATE This is to certify that Harsh S. Rana from Government Polytechnic, Gandhinagar having Enrollment No. 196230316123 has completed final project report having title “Personal Assistant” consulting individually or in a group under the guidance of the faculty named Mr. Darshak Mehta, during the term June-2021 to Oct-2021. ___________________ ___________________ Faculty Guide Mr. Darshak Mehta H.O.D. Ms. H. R. Patel IT2021-22 2 G.P. Gandhinagar DIT GOVERNMENT POLYTECHNIC, GANDHINAGAR Information Technology Department CERTIFICATE This is to certify that Jignesh M. Rathod from Government Polytechnic, Gandhinagar having Enrollment No. 196230316124 has completed final project report having title “Personal Assistant” consulting individually or in a group under the guidance of the faculty named Mr. Darshak Mehta, during the term June-2021 to Oct-2021. ___________________ ___________________ Faculty Guide Mr. Darshak Mehta H.O.D. Ms. H. R. Patel IT2021-22 3 G.P. Gandhinagar DIT GOVERNMENT POLYTECHNIC, GANDHINAGAR Information Technology Department CERTIFICATE This is to certify that Ruturaj P. Rathod from Government Polytechnic, Gandhinagar having Enrollment No 196230316125 has completed final project report having title “Personal Assistant” consulting individually or in a group under the guidance of the faculty named Mr. Darshak Mehta, during the term June-2021 to Oct-2021. ___________________ Faculty Guide Mr. Darshak Mehta IT2021-22 ___________________ H.O.D. Ms. H. R. Patel 4 G.P. Gandhinagar DIT Name of Student Surname: Rana Name: Harsh Father’s Name: Shaileshkumar Enrollment 196230316123 Number Contact Numbers Mob: 9106258146 Land Line: harshrana2004@gmail.com Email ID College Name Government Polytechnic, Gandhinagar College Code: 623 Branch Information Technology Semester: VI Student Team Name Enrollment Number Rathod Jignesh Mansinh 196230316124 Rathod Ruturaj Prafullsinh 196230316125 Student Signature IT2021-22 5 G.P. Gandhinagar DIT Acknowledgement Primarily, we would be thankful to God to make us able to complete this project successfully. Then we will be thankful to our Project Mr. Darshak Mehta who guided and helped us throughout the whole project. We will also be thankful to our Parents for helping, guiding and supporting us and also by motivating us to complete this project. We are also thankful to H.O.D. of our Information Technology Department Ms. H. R. Patel and Principal of our college Mr. Jagdish Patankar. Last but not the least, we are also thankful to our classmates who helped us in technical way. Harsh S. Rana, Jignesh M. Rathod, Ruturaj P. Rathod. I.T. Department IT2021-22 6 G.P. Gandhinagar DIT Abstract This is a project titled “Personal Assistant” which is basically build to help the user in many ways like entertainment, schedule some works, keep some alarm(s), set reminder(s), get some search results, open some apps and websites etc. We observed many daily tasks that are hard to schedule or make, so we decided to make a Personal Assistant that will help the user to make or manage his/her daily tasks easily. This project is simply meant to make the user’s daily tasks easier and time saving. So, we gathered some requirements and tried to make our project likewise that it tackles user’s problems like asking some queries, navigate something on different websites through user’s speech. We had taken help of different Software Development Tools like Android Studio, Visual Studio. Also made some designs in PowerPoint Presentation, Adobe XD, Microsoft Paint. We hope that our project “Personal Assistant” will the user to easily manage their daily tasks and help out with their queries and schedule some messages. IT2021-22 7 G.P. Gandhinagar DIT Index Sr. No. 1 1.1 1.2 1.3 2 2.1 2.2 2.3 2.4 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.6 2.7 2.8 2.9 2.10 3 3.1 3.1.1 3.1.2 3.2 4 4.1 5 5.1 5.2 5.3 5.4 6 6.1 6.2 6.3 7 7.1 7.2 7.3 * * Title Page No. Introduction Project Introduction Purpose Scope System Requirement Analysis Current System Study Weakness of Current System Problem Identification / Definition Requirement of New System Feasibility Study Technical Economical Operation Schedule (Time) Development model used (Software Process Model) Requirement Validation Tools and Technology System Architecture Data Flow Diagram System Design Database Design Entity-Relationship Diagram Data Dictionary GUI Design System Development Coding Standards, Tools Explanation, System flow with Screenshots Testing Testing Plan Testing Strategy Testing Methods Test Cases Implementation Implementation Environment Testing (after implementation) User Training Conclusion Benefits Limitations Future Enhancements References Appendix IT2021-22 8 G.P. Gandhinagar * * DIT Short Forms Used User Manual IT2021-22 9 G.P. Gandhinagar DIT 1. Introduction The project is titled “Personal Assistant”. It is a software that works upon a device. This is a simple software in which user have to ask some question and in reply user will get its result. This software’s main aim is to complete daily tasks of user easily. To use this application, you have to ask any question and in reply you will get some search results or it may open any application or website. Using Personal Assistant, you will be able to complete some daily tasks like set some alarms, schedule messages, open some applications or websites, check news, play a video on YouTube, make a Phone call etc. As per the requirements the application is to be released at Android platform. We have noticed very common issues to manage daily tasks in a person’s life, so to help user to do the same in an easy manner, we planned to build Personal Assistant. User should have an Android device to use this Personal Assistant. This application needs user’s authentication. The application will be user friendly and easy to use by even a non-technical person, as user have to just ask a query and it will respond. We will try to add some new features, give security updates, maintain the application, give some personal preferences etc. At last, we hope that this application will help user to easily manage their daily tasks. 1.2. Purpose The main purpose for making this project is to reduce the time utilized by a normal Android user to perform some basic tasks. The main aim for making Personal Assistant is to simplify daily tasks by just speaking. Personal Assistant can save your time because you only need to speak your query and your task will be done automatically. To ask a query you just need to press a button and speak your query. IT2021-22 10 G.P. Gandhinagar DIT For example: You need to call someone then you can tell the Personal Assistant to call the person, and the call will be originated. 1.3. Scope The scope of a software is a kind of document that describes that how the software should perform, function, processed, it a sort of proper plan made by the developers before delivering a software. It also describes that who are the target users or the software. In our project, the target users are normal persons who have a basic Android device. The software will be user-friendly as the user just have to speak their query and they will get some reply. As normal person does not have much technological knowledge, this software will help them to make their daily tasks easier than before. IT2021-22 11 G.P. Gandhinagar DIT 2. System Requirement Analysis In this section, the developer needs to gather the requirements that are expected by the user. The gathered requirements are now engineered and planned that the requirement can be accepted or not. This process includes all the requirements that can be of user-side or can be of developer-side. This gives an idea to the developer that what kind of project they are going to make and also gives idea to user that what form of software they will use. There are many ways to gather the Software Requirements, some of them are: Self-Analytical (done by the team internally). Asking requirements to target user(s). Seeking suggestions from near-by. Requirement Gathering In this section the requirements for the software are being gathered. These requirements include Software Requirements, System Required to use the software, what Software will be needed to make this Software. There are many ways to gather the system requirements, some of them are described below: Review of Document All the gathered Requirements are now Reviewed by the developers, in which some un-suitable requirements are kept aside and many possible and logical requirements are short-listed. After the requirements are reviewed by the Developers, the requirements are confirmed. And then the software is made in such a way that it does fulfils all the requirements. Brainstorming Session This section is almost same as Reviewing Document, because in section, the team does Brainstorming on the gathered Requirements and properly shortlists the perfect requirements for the software. We personally have used this method to gather our Software Requirements. We have not chosen any other technique to gather our requirement because we didn’t have a proper contact with our target users, so we did brainstorm on some selected requirements. We have also tried to see the User’s Point of View. For example: Suppose, a team has decided one project to make but they don’t know their proper target user(s), then they can use Brainstorming technique among themselves to gather and shortlist the requirements. IT2021-22 12 G.P. Gandhinagar DIT Interview This is a way to gather the software requirement, in this section, the developers interview some person who can be the target users or interviews the client for what requirements does they expect from the software. In this interview session, the requirements are being noted. For example: Suppose, we are making a medical associated application, then we will have some interview with the medical associated person that what facilities does they expect in the software we are making. And we can also have a direct contact to that person and after developing the software, we can properly deliver the software to the same person. Survey This is also a way to gather software requirements, in this section, a survey is being taken by the developers either physically or some Online Survey. the survey results will directly or indirectly show the problems faced by expected target users, thus developers can understand that problems and try to work on the solution of the same. Also, some additional suggestions and requirements are being taken through a survey, it is known as better way to gather the software requirements. For example: Suppose, we are making a software which can be easily available to almost all Android users, then we can make an online survey that describes that what are the expectations of users for some specified software. Questionnaire This section is almost same as Interview, the developer makes a list of questions that are to be asked to target users, and as per their answers the developers get an idea that what requirements are expected by the user. This is also a better way to get the software requirements, as the target users answers your questions directly. For example: Suppose, we have chosen a project in which we don’t know proper target user(s), but we have some proper seniors that can help us to gather some requirements then we can make a questionnaire to know user’s requirements. 2.1. Current System Study As per the current system study we can say that we provided many features that we have gathered from different requirement gathering methods. Still, we need to enhance the project as much as possible. IT2021-22 13 G.P. Gandhinagar DIT 2.2. Weakness of Current System Below are some weaknesses of system: We unable provide the wake-up feature, like if you say some sentence to wake up the assistant, the assistant will reply at any time. If the user denies for permission more than 2 times (in Android version 8 or above), and if the user needs to still access the facility, then the user has to explicitly give the permission from the Application’s information. If user asks some query with some extra unwanted words, then the Personal Assistant will react something wrong than expected. 2.3. Problem Identification After gathering requirements and analyzing them, problem statement must be stated clearly. Problem definition should unambiguously state what problem or problems need to be solved. 2.4. Requirement of New System This is a list of functional requirements that are confirmed and reviewed by the developers. These requirements are gathered by the developers and it should be available in the developed software. Set Reminder/alarm/notes/List. Send/schedule SMS/WhatsApp message/ email. Change wallpaper. Check weather. Check update/cricket score. Check email. Flip a coin/role a die/tell a joke/ask a puzzle/tell short. story/interesting fact. Check news/IT news/politics/sports/local. Wikipedia article for … Playing music. Web search. Play video on YouTube. IT2021-22 14 G.P. Gandhinagar DIT Make a phone call. Open an application/website. 2.5. Feasibility Study Feasibility Study examines all the Project’s aspects, including economic, technical, legal, and scheduling issues to determine the possibility of the project's successful completion. This section of Project Report gives an idea to the fund investors of the project. 2.5.1. Technical Feasibility Technical Feasibility states that in some given technical resources, will the project be successfully completed or not. In our project, we have almost all technical resources like Personal Computers (with proper Specifications), Android phone(s), Software etc. Also, our project doesn’t need much investment expect some software licenses, and in the case of software licenses, we are using the Community version (Free of Cost Software) in which we will be able to make our expected software. And in inclusion, almost all required software is already installed in our systems. 2.5.2. Economic Feasibility Economic Feasibility states that in some given Economic Conditions the project can be completed or not. In our project, we have almost all the facilities from before starting the project, and our project does needs technical resources and not much financial investment. And we already own almost all technical resources required for our project. So, we can say we are economically feasible for this project. 2.5.3. Operational Feasibility Operational feasibility is the measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development. 2.5.4. Schedule Feasibility Schedule Feasibility states that in some given time of period the project will be completed or not. If the project decided can be completed in some given target (time), then it does means that the project is schedule feasible. IT2021-22 15 G.P. Gandhinagar DIT In our project, our whole team has brainstormed and decided the requirements and that requirements are possible to make in some expected period of time. And we can make our project till ending of 6th Semester. We have team of 3 persons and also, we have taken much help of our project guide Mr. Darshak Mehta for this project documentation and will also for developing the software. So, we are confident that our project can be completed in given time. 2.6 Process Model Process Model is a decided workflow in which the software is to be developed in that manner. It is believed that selecting a Process Model for a software development is a good practice and Professional Developers uses this for sure. There are many types of Processing Models like: Waterfall Model. Prototyping Model. Incremental Model. Spiral Model. RAD Model. Iterative Model. Our Process Model: Hybrid Prototyping Model IT2021-22 16 G.P. Gandhinagar DIT What is Hybrid Prototyping Model? Hybrid Prototyping model is a Software Development Process Model (SDLC). This model is called hybrid because we have chosen it after the Requirement and Design were confirmed. In this model the requirements are gathered and then a build prototype is shown to the user and after user’s feedback either it is re-designed or it is confirmed and then further process is made. In this process model the design and requirements are once confirmed then all process after development are iterated. Entities of Hybrid Prototyping Model: 1. Requirement Gathering: All the user’s requirement about the desired software and the Software and Hardware requirements for the desired software are listed in this part. 2. Design: All the Diagrams like Usecase diagram, Entity Relationship diagram, Dataflow diagram etc. are made as per the Requirements in this part. 3. Build Prototype: A user-understandable software’s preview is being made in this part. 4. User Feedback: Build Prototype is being shown to user and after user’s feedback either it is redefined or confirmed for development in this part. 5. Development: The software is made (coding) in this part. 6. Testing: The developed software is now tested from all the scenarios and then if some changes are needed then it is made in this part. 7. Deployment: The tested software is now deployed to the user’s machine in this part. 8. Maintenance: The deployed software is now properly functioning and it is maintained by the developers there after (security purposes, user’s feedback, features, software updates) in this part. IT2021-22 17 G.P. Gandhinagar DIT Why we have chosen Hybrid Prototyping Model? The main reason to choose this model is that the software is designed and the requirements are already confirmed and now we have to develop the software and then we can repeatedly take user’s feedback and work on it. According to user’s feedback we can add new features make it more user-friendly and improve user-interface. As the design is already made, we have to work only on some additional features/security programs, thus large changes will not be made after the design is confirmed. The software will be maintained properly as the user will give their feedback and we will work on the feedbacks and also provide software updates which may have security patches and add some additional features. 2.7. Requirement Validation The process of evaluating software during the development process or at the end of the development process to determine whether it satisfies specified business requirements. We have validated all the requirements and we are able to bring all the modifications in the project as per the same. 2.8 Tools and Technology Tools and Technology includes the basic Hardware and Software requirements that are required to the developer to develop any product. Hardware & Software Requirements These are Hardware and Software Requirements that are needed to make the desired software. These requirements are developer side. Hardware Requirements for Developers: Processor: Intel Core i5, Ryzen 5 or above. RAM: 8gb or above. Storage: 128gb S.S.D. or 1tb Hard disk Hybrid. Graphic Memory: 2gb. Internet: Active Internet Connection. Software Required for Developers: To develop the software: Android Studio, Visual Studio, Visual Studio Code. To design the software: Adobe XD, Adobe Photoshop, Microsoft Paint. IT2021-22 18 G.P. Gandhinagar DIT 2.9. System Architecture System design is the process of defining the components, modules, interfaces, and data for a system to satisfy specified requirements. System development is the process of creating or altering systems, along with the processes, practices, models, and methodologies used to develop them. System Design includes diagrams for the software development that helps excessively to develop a proper planned software. 2.10. Data Flow Diagram About Data Flow Diagram: A Data Flow Diagram (DFD) is a graphical representation of the movement of data. A DFD includes main four components listed below: 1. 2. 3. 4. Processes. External Entities. Data Stores. Data Flows. Data Flow Diagram shows the processes of software, in flow of data, out flow of data from the Data store. [Data Flow Diagram of Personal Assistant] IT2021-22 19 G.P. Gandhinagar DIT 3. System Design System design is the process of defining the components, modules, interfaces, and data for a system to satisfy specified requirements. System development is the process of creating or altering systems, along with the processes, practices, models, and methodologies used to develop them. System Design includes diagrams for the software development that helps excessively to develop a proper planned software. 3.1. Database Design Database design is the organization of data according to a database model. The designer determines what data must be stored and how the data elements interrelate. The design process consists of the following steps: Determine the purpose of your database. Find and organize the information required. Divide the information into tables. Turn information items into columns. Specify primary keys. Set up the table relationships. Refine your design. Apply the normalization rules. 3.1.1. Entity-Relationship Diagram About Entity Relationship Diagram: An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. An entity set is a collection of similar type of entities. These entities can have attributes that describe its properties. By defining the entities, their attributes, and showing the relationships between them, an ER diagram illustrates the logical structure of databases. ER model allows you to draw Database Design. It is an easy-to-use graphical tool for huge data. It is widely used in Database Design. IT2021-22 20 G.P. Gandhinagar DIT [Entity Relationship Diagram of Personal Assistant] 3.1.2. Data Dictionary About Data Dictionary: A Data Dictionary is a collection of names, definitions, and attributes about data elements that are being used or captured in a database. Data dictionaries are used to provide detailed information about the contents of a dataset or database, such as the names of measured variables, their data types or formats, and text descriptions. Data Dictionary is mostly helpful for DBA. 1. Table Name: PAUser Sr No. 1. Column Name Data Type Size Constraint Description PAUserID CHAR 10 Primary Key 2. 3. 4. PAName PAUsername PAPassword CHAR CHAR CHAR 80 30 20 NOT NULL UNIQUE NOT NULL Unique User ID of each User. Name of User. Username of User. Password of User. IT2021-22 21 G.P. Gandhinagar DIT 2. Table Name: Activity Sr No. 1. Column Name Data Type Size Constraint Description ActID CHAR 10 Primary Key 2. 3. 4. 5. ActType ActName ActUserInput ActResponse CHAR CHAR CHAR CHAR 20 80 150 80 NOT NULL NOT NULL NOT NULL NOT NULL 6. ActDateTime DATETIME - NOT NULL Unique Activity ID of each User’s Activity. Type of Activity. Name of Activity. User’s Query. Response from Assistant. Date and Time of User’s Activity. 3. Table Name: Alarm Sr No. 1. Column Name Data Type Size Constraint Description AlmID CHAR 5 Primary Key 2. 3. AlmDate AlmTime DATE TIME - NOT NULL NOT NULL Unique Alarm ID of each Alarm. Date of Alarm. Time of Alarm. 4. Table Name: Schedule Sr No. 1. Column Name Data Type Size Constraint Description SchID CHAR 5 Primary Key 2. SchMsgType CHAR 15 NOT NULL 3. SchDate DATE - NOT NULL 4. SchTime TIME - NOT NULL Unique Schedule ID of each Scheduled Message. Type of Scheduled Message. Date of Scheduled Message. Time of Scheduled Message. 5. Table Name: History Sr No. 1. Column Name Data Type Size Constraint Description HstID CHAR 10 Primary Key 2. 3. HstSearches HstDateTime CHAR DATETIME 150 - NOT NULL UNIQUE Unique History ID of User’s Activity. User’s Query. Date and Time of User’s Activity. IT2021-22 22 G.P. Gandhinagar DIT 3.2. GUI Design Splash Screen: IT2021-22 Signup Screen: 23 G.P. Gandhinagar Login Screen: IT2021-22 DIT Home Screen: 24 G.P. Gandhinagar DIT 4. System Development It is a pattern or a format in which the developers make their Project in the same, it includes some modules like Coding Standards, Tools Explanation, System Flow. Coding Standards Naming and Coding convention are the basic names that are most commonly used in a pattern/manner given to the variables in programs, tables in databases, columns in tables of databases. For example: LoginButton (which described that the function on the Button control is to run some Login code). Coding Convention in a Program: Firstly, the Control’s Function and secondly the Control’s name. We will use Camel Case Notation for this Coding Convention. For example: TextboxUsername. Column names in tables of database: Firstly, a short Abbreviation of the table name and secondly the Column’s short description. We will use Camel Case Notation for this Coding Convention. For example: StfID. Tools Explanation Android Studio: It is the main software in which we are developing our project. It helps to make the Android Application with every need. It is user-friendly software develop environment in which you can create your own Android Application very easily, with some obvious coding. It also provides an AVD (Android Virtual Device) that facilitates you to virtually run your Android application virtually on your computer. Adobe XD: It is a design application that helps us to create our own icons, background images and custom shapes for our application. IT2021-22 25 G.P. Gandhinagar DIT System Flow Personal Assistant IT2021-22 26 G.P. Gandhinagar DIT 5. Testing Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. 5.1. Testing Plan Test planning, the most important activity to ensure that there is initially a list of tasks and milestones in a baseline plan to track the progress of the project. It also defines the size of the test effort. It is the main document often called as master test plan or a project test plan and usually developed during the early phase of the project. 5.2. Testing Strategy Test Strategy is also known as test approach defines how testing would be carried out. Test approach has two techniques: Proactive - An approach in which the test design process is initiated as early as possible in order to find and fix the defects before the build is created. Reactive - An approach in which the testing is not started until after design and coding are completed. 5.3. Testing Methods There are different methods that can be used for software testing. 1. Black-Box Testing: The technique of testing without having any knowledge of the interior workings of the application is called black-box testing. 2. White-Box Testing: White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing is also called glass testing or open-box testing. 3. Grey-Box Testing: Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of an application. IT2021-22 27 G.P. Gandhinagar DIT 5.4. Test Cases A test case is a document, which has a set of test data, preconditions, expected results and postconditions, developed for a particular test scenario in order to verify compliance against a specific requirement. Test Case acts as the starting point for the test execution, and after applying a set of input values, the application has a definitive outcome and leaves the system at some end point or also known as execution postcondition. IT2021-22 28 G.P. Gandhinagar DIT 6. Implementation This is an important part of any project. In this section, the developers will make a full-fledge plan that how the software is to be developed. This part is already decided at the time of requirement gathering like: at what platform the software will be available, what will be the coding language, what time it will be taken at complete the project etc. In our project, we have to work on basic logic and even we need to know much about the main coding language we are going to use which is Java. All teammates of the team do have a proper experience in Java and Android. So, we have some of the pre-defined works that should be done on time by specified teammates. Our project requires a proper functioning PC which is available to all the teammates in the team. So, we can easily share/work on a single project at a same time, which will result in less time consumption. We can work on this project in given time as we have experience in Android, also one of our teammates have some better experience in Android Applications and also in Cyber Security. In our Project, we will be doing Collaborative Coding so we will be able to get an idea of each and every teammate, and we will gain a better experience for teamwork in coding purpose. We will also use Documentation (Program Comments) that will help us and also some other external coders to understand and extend the readability of our code. One of our teammates has a good ability for Designing and Colour Combinations, so he will be doing Activity Designs in Android Application using several applications like Adobe XD, Adobe Photoshop, Microsoft Paint etc. He also has a good knowledge of Android Layouts. He can also animate designs in Android which will give a better user-attraction and better user-interface. One member of our team has a better experience in Database Management. He has worked on some mini-projects which does have database associations. So, he will be able to Execute Database Queries and All Back-End work can be done by him. IT2021-22 29 G.P. Gandhinagar DIT We have some divided tasks to teammates of the team, and for some guidance we also have external helping persons, the list of the same is as follows: Major Android Coding and Project Ideas: Ruturaj Rathod. Major Designing for Android: Jignesh Rathod. Major Database Operations: Harsh Rana. All Project Guidance: Mr. Darshak Mehta. 6.1. Implementation Environment The development environment helps the developers to develop the application or product using a set of processes and programming tools. A development environment provides developers an interface and convenient view of the development process which includes writing code, testing the same and packaging the build so that it can be deployed. We are using Android Studio as our project’s IDE. We have used GitHub’s online project saving technology in which we were able to access our project from GitHub’s server anytime and anywhere Also, we are using many applications that helped us to make our project look and feel better, they are: Adobe XD, Photoshop. 6.2. Testing The developed software is now tested from all the scenarios and then if some changes are needed then it is made in this part. It is one of the most important phases of any Project/Application as the project is to be delivered to target audience there should not be any exceptions in the application. Though it is very important test your project from all aspects and then the application should be deployed. 6.3. User Training User training helps the user in operating the system in efficient way. During the training a manual is given to every user so that they can understand the problem and solved it. IT2021-22 30 G.P. Gandhinagar DIT 7. Conclusion The purpose of this project is to enhance our productivity and what we learn throughout whole diploma. So, we have decided to take this project Personal Assistant in starting of the 5th semester and first of all our project faculty had asked us to submit the Project title. But before submitting project title we started brain storming session that we started to share our thoughts and note it down in paper then after taking a long discussion we are shortlisted such project title like Personal Assistant, Create our own language, Accident Alert system, Personal Assistant Robot, In this short list. This kind of idea and after having another discussion finally we decided to take Personal Assistant Project with mapping of our skills we also discussed that whether we will do it or not. It’s suits on size of three team members project can we have required skills to accomplish this project. After satisfied the answer of our all the team members was “yes” and we finally submitted the project title and this done in one week. Now we are all clear about our project what we will going to develop. We are clearly able to identify that how it will go through out our diploma and now our vision is clear that what we have to do. After this type of the session the project facility was asked us to submit the Requirements of the project and we submitted it on demand. Then we submitted diagrams like Entity Relationship Diagram, Use Case Diagram, Activity Diagram etc… We all submitted this in time. Over all in this project we are going to use our skills that we acquired in last 2 years. So that we will clearly identify our strengths, so it will help us to take feature improvements and set our career path. If we say over all experience that we gain from this project is Amazing. We are also going to experience technologies like Android Development, speech recognition, some machine learning concepts like TensorFlow, self-decision-making programs and also Programming language like java and xml. We just only have to say that we are very grateful to have this project in our diploma and this is all done though team work and dedication of our team members. Over all its amazing and having fun type of experience to build this project. At last, we conclude that we will surely Enjoy making this project and also this project will be helpful to many Android users. IT2021-22 31 G.P. Gandhinagar DIT 7.1. Benefits After using our Personal Assistant, the user will be able to save a lot of time for doing his/her daily tasks like setting an alarm, sending some message etc. Also, the user will be able to search something very quickly just by saying whatever he/she needs to search. 7.2. Limitations If the user doesn’t allow the necessary permissions for using this application, then the application won’t be able to do many important things for what the application is made for. 7.3. Future Enhancements We will be trying to implement this as features of Windows operating system. We will provide strong security and keep encrypted users personal data. We will also provide a bug report portal so that we can improve our software and provide such a great user experience. We will also provide email support and it’s an open to all developers to contribute in our project. We will also be going to develop hardware robot. We will also provide offline cache so that our software will work offline also. We will implement the library that make sure that the use of data consumption of user is less. IT2021-22 32 G.P. Gandhinagar DIT References Cover Page Image: https://www.freepik.com/. Image Icons: FlatIcon: https://flaticon.com/. Code Error Resolving (Websites): Stackoverflow: https://stackoverflow.com/. YouTube: https://www.youtube.com/. Microsoft Forums: https://answers.microsoft.com/en-us. GeeksforGeeks: https://www.geeksforgeeks.org/. TutorialsPoint: https://www.tutorialspoint.com/index.htm. API Documentation: https://stoplight.io/. GitHub: https://github.com/. Google Developer: https://developers.google.com/. FireBase: https://firebase.google.com/docs. Appendix Supplementary material that is collected and appended at the back of a book, article or document, it does includes some components like Acronyms, Bibliography etc. Acronyms A Project Definition describes the whole idea of the project that what the project is, what are the requirements, how the project will work, at what platform the software will be released/deployed. All this type of information can be collected through a Project Definition. Acronyms are the prefix or short forms that are used. Normal words are easy to use in verbal language but in coding language it is necessary to keep short and meaningful name of some variables or attributes or methods etc. that’s why, Abbreviations and Acronyms are used in coding language to make it shorter (which decreases time consumption) and also make it understandable. The Acronyms used in this Project Report are as follows: SRS: Software Requirement Specification. GB: Gigabyte. KB: Kilobyte. MB: MegaByte SSD: Solid State Drive. TB: Terabyte. PC: Personal Computer. IT2021-22 33 G.P. Gandhinagar DIT ER: Entity Relationship. DBA: Database Administrator. ID: Identity. IDE: Integrated Development Environment. AVD: Android Virtual Device. RAD: Rapid Application Development. Bibliography In this section, developers have to specify that what books they have referred to make their Software or to get some idea for the same. Fundamentals of Software Development (4th Sem I.T.). Database Management (4th Sem I.T.). Java Programming (5th Sem I.T.). Android Application Development (6th Sem I.T.). User Manual Below are the steps to use the Personal Assistant: Step-1: Create your account in Personal Assistant by Signing up. IT2021-22 34 G.P. Gandhinagar DIT Step-2: Sign in the Application. Step-3: Allow all the permissions needed by the application. IT2021-22 35 G.P. Gandhinagar DIT Step-4: Ask any questions, or give some tasks to perform, like: Setting an Alarm: Send a message: IT2021-22 36 G.P. Gandhinagar DIT Notes ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ IT2021-22 37 G.P. Gandhinagar DIT ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ IT2021-22 38 G.P. Gandhinagar DIT ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ IT2021-22 39