You are on page 1of 94

THE COMPANION 365

A PROJECT REPORT

Submitted by

DHRUV RAKESHKUMAR MOJILA

190840131038

In partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING

in
Computer Science and Engineering

R. N. G. Patel Institute of Technological, University

Gujarat Technological University, Ahmedabad

May, 2023
R. N. G. Patel Institute of Technology
Bardoli – Navsari Road, Isroli, Afwa, Bardoli, Gujarat 394620

CERTIFICATE
This is to certify that the project report submitted along with the project entitled The
Companion 365 has been carried out by Dhruv Rakeshkumar Mojila under my
guidance in partial fulfillment for the degree of Bachelor of Engineering in Computer
Science and Engineering, 8th Semester of Gujarat Technological University,
Ahmadabad during the academic year 2022-23.

Mr. Yash B. Naik Dr. Madhavi B. Desai

Internal Guide Head of the Department


R. N. G. Patel Institute of Technology
Bardoli – Navsari Road, Isroli, Afwa, Bardoli, Gujarat 394620

DECLARATION

We hereby declare that the Internship report submitted along with the Internship entitled

The Companion 365 submitted in partial fulfillment for the degree of Bachelor of

Engineering in Computer Science and Engineering to Gujarat Technological University,

Ahmedabad, is a bonafide record of original project work carried out by me at SCIKEY

– SRKay Consulting Group under the supervision of Mr. Ritesh Khatri and that no

part of this report has been directly copied from any students’ reports or taken from any

other source, without providing due reference.

Name of the Student Sign of Student

1
Project ID: 288285

Acknowledgement

The satisfaction that accompanies the successful completion of this project would be
incomplete without mentioning the people who made it possible, without whose constant
guidance and encouragement would have made efforts go in vain. I consider myself
privileged to express gratitude and respect towards all those who has guided through the
completion of projects.
I convey thanks to my project guide Mr. Yash B. Naik, Computer Science & Engineering
department, R.N.G. Patel Institute of Technology for providing encouragement, constant
support and guidance which was of a great help to complete this project work successfully.
I am grateful to my external guide Mr. Ritesh khatri, Technology Lead in SRKay
Consulting Group Pvt. Ltd. for giving me the support and encouragement that was
necessary for the completion of this project.
I am grateful to Dr. Madhavi Desai, Head of the Department, Computer Engineering,
R.N.G.P.I.T for giving us the support and encouragement that was necessary for the
completion of this project.
I would also like to express my gratitude to Dr. Latesh Chaudhari, Principle of R. N. G.
Patel Institute of Technology for providing us congenial environment to work in.
I would also like to thank Placement Cell of the department for giving me an opportunity to
be the part of this internship. I extend my gratitude to all the faculty members for their
understanding and guidance that gave me strength to work to long hours for developing a
project and preparing the report.

Dhurv Rakeshkumar Mojila

(190840131038)

Gujarat Technological University i RNGPIT, Bardoli


Project ID: 288285

Abstract

The Companion365 is a Hybrid application that provides calendar view to the User. It
allows users to create and manage events, meetings, appointments, and tasks, and to share
their schedules with others. The application can be accessed through a web browser or by
using the Mobile App. Users can also set reminders and notifications for upcoming events,
and customize their calendar settings to suit their preferences. The application also offers a
range of view options, including day, week, and month views. This makes it easy to keep
track of multiple schedules and to see at a glance what events are coming up. The
Companion365 is a powerful and versatile tool for managing schedules and staying
organized, both for individuals and for teams.

Gujarat Technological University ii RNGPIT, Bardoli


Project ID: 288285

List of Figures

Fig 1.3.1 Organization chart.................................................................................................. 3


Fig 2.3.1 Agile Model ........................................................................................................... 5
Fig 3.7.1 Internship Timeline Chart .................................................................................... 11
Fig 5.1.1 Admin Use-case Diagram ....................................................................................17
Fig 5.1.2 Super User Use-case Diagram ............................................................................. 18
Fig 5.1.3 User Use-case Diagram ....................................................................................... 19
Fig 5.1.4 E-R Diagram ........................................................................................................ 20
Fig 5.3.1.1 Admin State Transition Diagram ...................................................................... 41
Fig 5.3.1.2 User State Transition Diagram.......................................................................... 42
Fig 5.3.2.1 Admin Access Control ...................................................................................... 43
Fig 5.3.2.2 Super User Access Control ............................................................................... 44
Fig 5.3.2.3 User Access Control ......................................................................................... 45
Fig 6.3.1 Sign-in Page ......................................................................................................... 49
Fig 6.3.2 Dashboard ............................................................................................................ 49
Fig 6.3.3 Notification Menu ................................................................................................ 50
Fig 6.3.4 Message Menu ..................................................................................................... 50
Fig 6.3.5 User Menu ........................................................................................................... 51
Fig 6.3.6 Navigation Drawer............................................................................................... 51
Fig 6.3.7 Event Calender..................................................................................................... 52
Fig 6.3.8 User Category ...................................................................................................... 52
Fig 6.3.9 Event Type ........................................................................................................... 53
Fig 6.3.10 Users List ........................................................................................................... 53
Fig 6.3.11 Splash Screen ..................................................................................................... 54
Fig 6.3.12 Skip Screen ........................................................................................................ 55
Fig 6.3.13 Registration Screen ............................................................................................ 56
Fig 6.3.14 Verify OTP Screen ............................................................................................ 57
Fig 6.3.15 Login Screen ...................................................................................................... 58
Fig 6.3.16 MPIN Screen ..................................................................................................... 59
Fig 6.3.17 Password Screen ................................................................................................ 60
Fig 6.3.18 Dashboard .......................................................................................................... 61

Gujarat Technological University iii RNGPIT, Bardoli


Project ID: 288285

Fig 6.3.19 Create Event Screen ........................................................................................... 62


Fig 6.3.20 Event list Screen ................................................................................................ 63
Fig 6.3.21 Add Event / Notes / To-do Screen...................................................................... 64
Fig 6.3.22 View / Edit Events Details ................................................................................. 65
Fig 6.3.23 View / Edit Profile ............................................................................................. 66
Fig 6.3.24 Add Notes .......................................................................................................... 67
Fig 6.3.25 Create and View To-Do List .............................................................................. 68
Fig 6.3.26 Notes List ........................................................................................................... 69
Fig 6.3.27 Drawer Navigation............................................................................................. 70

Gujarat Technological University iv RNGPIT, Bardoli


Project ID: 288285

List of Tables

Table 5.2.1 Userinfo.users ................................................................................................... 21


Table 5.2.2 Userinfo.user_address ...................................................................................... 22
Table 5.2.3 Userinfo.user_contacts ..................................................................................... 23
Table 5.2.4 Userinfo.user_documents ................................................................................. 24
Table 5.2.5 Userinfo.user_mapping .................................................................................... 25
Table 5.2.6 Userinfo.user_survey........................................................................................ 25
Table 5.2.7 Userinfo.user_wishlist ...................................................................................... 26
Table 5.2.8 Master.address_type ......................................................................................... 26
Table 5.2.9 Master.blood_group.......................................................................................... 27
Table 5.2.10 Master.city ...................................................................................................... 27
Table 5.2.11 Master.contact_type ........................................................................................ 28
Table 5.2.12 Master.country ................................................................................................ 28
Table 5.2.13 Master.designation.......................................................................................... 29
Table 5.2.14 Master.document_type ................................................................................... 29
Table 5.2.15 Master.org ....................................................................................................... 29
Table 5.2.16 Master.state ..................................................................................................... 30
Table 5.2.17 Master.status ................................................................................................... 30
Table 5.2.18 ControlCenter.additional_resource_permission ............................................. 31
Table 5.2.19 ControlCenter.category_resource_permission ............................................... 31
Table 5.2.20 ControlCenter.config ...................................................................................... 32
Table 5.2.21 ControlCenter.device_type ............................................................................. 32
Table 5.2.22 ControlCenter.Organization_mappings .......................................................... 33
Table 5.2.23 ControlCenter.otp_transaction........................................................................ 33
Table 5.2.24 ControlCenter.resource_hierarchy.................................................................. 33
Table 5.2.25 ControlCenter.resource_module ..................................................................... 34
Table 5.2.26 ControlCenter.resource_types ........................................................................ 34
Table 5.2.27 ControlCenter.resources ................................................................................. 35
Table 5.2.28 ControlCenter.user_auth ................................................................................. 36
Table 5.2.29 ControlCenter.user_category .......................................................................... 36
Table 5.2.30 ControlCenter.user_device ............................................................................. 37
Table 5.2.31 Event_Info.event ............................................................................................ 37
Table 5.2.32 Event_Info.event_participant ......................................................................... 38

Gujarat Technological University v RNGPIT, Bardoli


Project ID: 288285

Table 5.2.33 Event_Info.event_frequency .......................................................................... 39


Table 5.2.34 Event_info.event_document ........................................................................... 39
Table 7.2.1 Registration and Login Test Cases ................................................................... 72
Table 7.2.2 Profile Page Test Cases .................................................................................... 73

Gujarat Technological University vi RNGPIT, Bardoli


Project ID: 288285

List of Abbreviations

SQL Structured Query Language

API Application Programming Interface


SDLC Software Development Life Cycle
APAC Asia-Pacific
DevOps Development & Operations
HTML Hyper Text Mark-up Language
CSS Cascading Style Sheet
HR Human Resource

Gujarat Technological University vii RNGPIT, Bardoli


Project ID: 288285

Table of contents

Acknowledgement ................................................................................................................i
Abstract ............................................................................................................................... ii
List of Figures .................................................................................................................... iii
List of Tables ........................................................................................................................v
List of Abbreviations ......................................................................................................... vii
Table of contents .............................................................................................................. viii

Chapter 1 Overview of the Company ...............................................................................1

1.1 History ...............................................................................................................1


1.1.1 Technologies in SCIKEY..............................................................................1

1.2 Different Product / scope of work .....................................................................2

1.3 Organization Chart ............................................................................................3

1.4 Capacity of unit .................................................................................................3

Chapter 2 Overview of Different Departments and Layout of Process ........................4

2.1 Departments Overview ......................................................................................4

2.2 List the Technical Specifications of Major Equipment Used in Each


Department ......................................................................................................................5

2.3 Sequence of operation for manufacturing of end product..................................5

2.4 Details about each stage of production..............................................................6

Chapter 3 Introduction to Internship...............................................................................7

3.1 Internship Summary ..........................................................................................7

3.2 Purpose ..............................................................................................................7

3.3 Objective ...........................................................................................................8

3.4 Scope .................................................................................................................8

3.5 Technology and Literature Review ...................................................................8

3.6 Internship Planning............................................................................................9


3.6.1 Internship Development Approach and Justification ....................................9
3.6.2 Internship Efforts and Time, Cost Estimation ..............................................9

Gujarat Technological University viii RNGPIT, Bardoli


Project ID: 288285

3.6.3 Roles and Responsibilities ..........................................................................10


3.6.4 Group Dependencies ...................................................................................10

3.7 Internship Scheduling ...................................................................................... 11

Chapter 4 System Analysis ..............................................................................................12

4.1 Study of Current System .................................................................................12

4.2 Problem and Weakness of Current System......................................................12

4.3 Requirement of New System ...........................................................................12

4.4 System Feasibility ...........................................................................................12

4.5 Activity / Process in New System / Proposed System ....................................13

4.6 Features of New System / Proposed System ...................................................13

4.7 List of main modules .......................................................................................13

4.8 Selection of Software ......................................................................................14

Chapter 5 System Design .................................................................................................16

5.1 System Design & Methodology ......................................................................16

5.2 Database Design ..............................................................................................21

5.3 Input / Output and Interface Design ................................................................41


5.3.1 State Transition Diagram ............................................................................41
5.3.2 Access Control / Mechanism / Security......................................................43

Chapter 6 Implementation ..............................................................................................46

6.1 Implementation Platform .................................................................................46

6.2 Process .............................................................................................................47

6.3 Findings / Results / Outcomes .........................................................................49

6.4 Result Analysis / Comparison / Deliberations .................................................71

Chapter 7 Testing .............................................................................................................72

7.1 Testing Plan .....................................................................................................72

7.2 Testing Results and Analysis ...........................................................................72

Chapter 8 Conclusion and Discussions ..........................................................................74

Gujarat Technological University ix RNGPIT, Bardoli


Project ID: 288285

8.1 Overall Analysis of Internship / Project Viabilities .........................................74

8.2 Date of surprise visit by institute mentor ........................................................74

8.3 Dates of Continuous Evaluation (CE-I and CE-II) .........................................74

8.4 Problem Encountered and Possible Solutions .................................................74

8.5 Summary of Internship / Project work ............................................................75

8.6 Limitation and Future Enhancement ...............................................................76

References .........................................................................................................................77

Appendix...........................................................................................................................78

Gujarat Technological University x RNGPIT, Bardoli


Project ID: 288285 Overview of the Company

Chapter 1 Overview of the Company

1.1 History

SRKAY Consulting Group is the technology company of SRK Exports, a global,


billion-dollar enterprise headquartered in Mumbai. With eight international locations
and more than 200 clients worldwide, SRKAY has been recognized among the
winners of Deloitte Technology Fast 50(India) & Fast 500(APAC), Ranked Top 150
High-Growth Companies in India (The Economic Times) & Top 500 in APAC
(Financial Times).

SRKAY Consulting Group companies worldwide operate under a common brand,


'SCIKEY', that uses its technology and an integrated platform to enable the best talent
solutions for enterprises worldwide. The current technology stack of SCIKEY is built
around the four different platforms of Community, Job & Referrals, CRM and
Application Tracking System that the company uses to service its clients globally.
'SCIKEY Assured', a premium managed services offering by SCIKEY, delivers the
best outcomes to enterprise customers globally for talent solutions getting delivered
offshore, remotely, or on-premise. We are super-proud to be working with some of the
world's most iconic Fortune 1000 brands.

Vision: Our vision is to create jobs & work opportunities for billion minds.

Mission: Our mission is to help employers worldwide get access to quality talent and
talent solutions in a click.

Aim: To achieve 100% customer trust by giving them personal attention &
working with them on long-term business relationships.

1.1.1 Technologies in SCIKEY


1. Front-end Technologies:
• React – Native
• Angular
• Java-Script
• .Net – Core
• DevOps

Gujarat Technological University 1 RNGPIT, Bardoli


Project ID: 288285 Overview of the Company

2. Back – end Technologies:


• Java (SpringBoot)
• NodeJS
3. Design Framework:
• HTML
• HTML5
• CSS
• CSS3
• Bootstrap
• Material Design
4. Database:
• MySQL
• MongoDB

1.2 Different Product / scope of work


• Web design
• Web development
• Mobile Application Development

Gujarat Technological University 2 RNGPIT, Bardoli


Project ID: 288285 Overview of the Company

1.3 Organization Chart

Fig 1.3.1 Organization chart

1.4 Capacity of unit


• Overall size of the organization is 450-500 employees.

Gujarat Technological University 3 RNGPIT, Bardoli


Project ID: 288285 Overview of the organization

Chapter 2 Overview of Different Departments and Layout of


Process

SCIKEY is a Digital platform for Jobs, Work & Talent Solutions. 'SCIKEY Assured', a
premium managed services offering by SCIKEY, delivers the best outcomes to enterprise
customers globally for talent solutions getting delivered offshore, remotely, or on-premise.
We are super-proud to be working with some of the world's most iconic Fortune 1000
brands.

2.1 Departments Overview


There are several departments of an organization which are as follows:

• Technical Department
Each and every organization in the world needs to have a certain technical
supportteam which can solve all its technical problems and provide it with the
needed assistance. Such a department is usually termed as the technical support
department and is responsible for constantly improving the technological
aspect of the company

Technical Department Do: -

• Product Design

• Website & App development

• Maintenance

• Testing of Product

• Marketing/sales Department
The marketing department is responsible for identifying, anticipating and
satisfying customer needs. The end goal is to make more profit. The marketing
department is at the forefront as it interacts directly with the customers and
determines the success or failure of the company in generating revenue.

A sales department is the direct link between a company's product or service and
its customers. However, a well-trained sales department does more than making
sales. Your sales staff builds relationships with your customers.

Gujarat Technological University 4 RNGPIT, Bardoli


Project ID: 288285 Overview of the different Department

• HR Department

An HR department is tasked with maximizing employee productivity and


protecting the company from any issues that may arise within the workforce.
HR responsibilities include compensation and benefits, recruitment, firing, and
keeping up to date with any laws that may affect the company and its employees.

2.2 List the Technical Specifications of Major Equipment Used in Each


Department

Specification Of Laptop: -

• Processor: Intel Core i5

• Ram: 8GB

• SSD:500 GB

2.3 Sequence of operation for manufacturing of end product


Agile Model is Followed to complete the project

Fig 2.3.1 Agile Model

Gujarat Technological University 5 RNGPIT, Bardoli


Project ID: 288285 Overview of the different Department

For the development process, agile software development is used. Agile software
development is a more flexible approach than the Waterfall model’s strictly set phases.

The Agile software development lifecycle is dominated by the iterative process. Each
iteration delivers the next piece of the development module: software and supporting
elements (e.g., documentation) available for use by customers, until the final product
is complete. Each iteration is usually two to four weeks in length and has a fixed
completion time. The iteration process is methodical and the scope of each iteration is
only as broad as the allotted time allows.

2.4 Details about each stage of production


• Requirements: Define the requirements for the iteration based on the product
backlog, sprint backlog, and customer and stakeholder feedback.
• Development: Design and develop software based on defined requirements.
• Testing: Quality assurance (QA) testing, internal and external training,
documentation development.
• Delivery: Integrate and deliver the working iteration into production.
• Feedback: Review customer and stakeholder feedback and work it into the
requirements of the next iteration.

Gujarat Technological University 6 RNGPIT, Bardoli


Project ID: 288285 Introduction to Internship

Chapter 3 Introduction to Internship

3.1 Internship Summary


During my internship, I had the opportunity to learn programming languages such as
SQL and JavaScript, which have proven to be very useful for me. Additionally, I
gained experience working with popular frameworks such as React Native and Redux,
which are commonly used for developing mobile applications. By using version
control, I was able to effectively maintain my project, "The Companion 365".

The "The Companion 365" project provided me with an opportunity to develop my


technical skills and improve my team learning and collaboration skills. During my
time on the project, I gained experience in following industry standards and best
practices, which helped me to develop a strong foundation of knowledge and skills.

In addition, I learned how to manage a project using the agile methodology, which
allowed me to work effectively with other team members and complete the project
successfully. This experience also helped me to improve my communication skills, as
I worked closely with other team members to ensure that the project met all of its
objectives.

Overall, my internship experience was magnificent. I learned so many valuable skills


and gained experience that will undoubtedly be useful in my future endeavours.

3.2 Purpose
• Explore career alternatives prior to graduation.
• Integrate theory and practice.
• Assess interests and abilities in their field of study.
• Learn to appreciate work and its function in the economy.
• Develop work habits and attitudes necessary for job success.
• Develop communication, interpersonal and other critical skills in the job
interview process.
• Build a record of work experience. Acquire employment contacts leading
directly to a full-time job following graduation from college.
3.3 Objective
• Internship aims at developing or creating new ways for professionals to

Gujarat Technological University 7 RNGPIT, Bardoli


Project ID: 288285 Introduction to Internship

survive in the industry as it helps in putting the professionals to a


challenging environment which will enhance his/her capabilities and take it
to a new height.
3.4 Scope
• An Internship Provides Real Life Experience and Exposure
• Get Connected and Develop Your Professional Network
• To gain industrial experience.
3.5 Technology and Literature Review
During the training of our internship, I have learned all the technologies and
implemented various small applications using those tools and technologies. During
this I have also gone through various documentations [3] and videos [4][5] to get
insights and implement those. For the project also learned about agile methodology
[6] and attended various seminars and actively participated in the same organized by
the company.

Technologies:

• Ms SQL Server
Microsoft SQL Server is a relational database management system
developed by Microsoft. [4]

• NodeJS
As an asynchronous event-driven JavaScript runtime, Node.js is designed to
build scalable network applications. [5]

Gujarat Technological University 8 RNGPIT, Bardoli


Project ID: 288285 Introduction to Internship

• React Native
React Native is a JavaScript framework for writing real, natively rendering
mobile applications for iOS and Android. [6]

• Angular
Angular is an open-source, JavaScript framework written in TypeScript. [7]

• .NET Core
.NET Core is a free, open-source, cross-platform framework developed by
Microsoft that allows you to build and run applications on Windows, macOS,
and Linux operating systems. [8]

• Spring boot:
Java Spring Boot is an open-source tool that makes it easier to use Java-
based frameworks to create microservices and web apps.[3]

3.6 Internship Planning


The entire internship program was well planned by company. They gave basic
introduction of company and brief overview of entire internship. They also
communicate about personal goals, objectives and visa-versa. After that desk and
system was assigned in order to work there.

3.6.1 Internship Development Approach and Justification


• The way entire internship carried out was in learning approach.
• In entire internship half period was assigned for training and another half
was assigned for project.
• For training, technical trainer was allocated and for project work sprints
were organized to work with team.
3.6.2 Internship Efforts and Time, Cost Estimation
• Internship Efforts
Ø Learning basic skill like JavaScript, SQL
Ø Getting knowledge of Specific Technology like React Native
Ø Understand project need and structure
Ø Create and Implement Authentication flow
Ø Implementation of Event/sphere and related Features

Gujarat Technological University 9 RNGPIT, Bardoli


Project ID: 288285 Introduction to Internship

• Time
Ø Total time for my internship was around 3 months.
Ø Starting Date: 23/01/2023
Ø Ending Date: 30/04/2023
• Cost Estimation
The cost estimation of this project is confidential and will be carried by
the organization. The internship trainee who worked on this project will
not be provided with any information related to the cost estimation.

3.6.3 Roles and Responsibilities


• Role Offered:
• Responsibilities:
Ø Mobile Application Developer (React Native)
Ø Create and manage APIs using the concepts of Node.js and express
framework, Which will be use for integrating front-end through
server.
3.6.4 Group Dependencies
• The Sphere Project has been developed in teams where the mobile view
was created by React – Native Team and the admin control created by
the Angular Team. Also database management and APIs were made
through NodeJS and Java Teams.

Gujarat Technological University 10 RNGPIT, Bardoli


Project ID: 288285 Introduction to Internship

3.7 Internship Scheduling

Fig 3.7.1 Internship Timeline Chart

Gujarat Technological University 11 RNGPIT, Bardoli


Project ID: 288285 System Analysis

Chapter 4 System Analysis

4.1 Study of Current System


The Companion 365 includes registration, login, event creation, event monitoring,
task creation and monitoring, and reminders is a very useful tool for individuals and
organizations alike. This application provides users with the ability to easily manage
their schedules, set reminders for important events or tasks, and monitor their progress
towards achieving their goals.

With the ability to register and log in to the application, users can personalize their
experience and ensure that their data is secure. The event creation and monitoring
features allow users to keep track of important dates and appointments, while the task
creation and monitoring features help users stay on top of their to-do lists.

Furthermore, the reminders feature ensures that users never miss an important event
or deadline. Overall, this calendar application is an indispensable tool for anyone
looking to effectively manage their time and stay organized.

4.2 Problem and Weakness of Current System


Problem : Managing activity with personal media and detail related to that event is
difficult in any application.

Weaknesses : Continuous customize alert for your personalize event is major


problem.

4.3 Requirement of New System


The Companion 365 has the additional feature of event scheduling, in which, after an
event has been scheduled at a specific time and the user moves to a different location,
he or she will immediately be notified of events in the current region's time format.

4.4 System Feasibility


• The system contributes to the overall objectives of the organization
• The system can be implemented using the current technology and within
the given cost and schedule constraints.
• The system can be integrated with other systems which are already in place.

Gujarat Technological University 12 RNGPIT, Bardoli


Project ID: 288285 System Analysis

4.5 Activity / Process in New System / Proposed System


Management system will have the following activities and processes:
This system can help individuals and groups organize their schedules effectively,
enabling them to prioritize tasks, set reminders, and collaborate with others. By
providing a centralized platform for planning and scheduling, Companion 365 can
reduce the risk of missed deadlines, scheduling conflicts, and other scheduling-related
issues, leading to increased productivity and reduced stress levels.

4.6 Features of New System / Proposed System


• Customize event creation
• Automatic recursion of event on schedule Time
• Storage of event media and event-notes
• Notes and ToDo list
• Notify on-time event occurrence with their attendance
• Smooth calendric visualization of events

4.7 List of main modules


• For Admin:
o Register
o Login
o Manage Event
o Manage To-do List
o Forgot Password
o Manage Profile
o Manage User / Super Users
o Manage Other’s Events
o Manage User Mapping
o Manage Permission

• For Super Users:


o Register
o Login
o Manage Event
o Manage To-do List

Gujarat Technological University 13 RNGPIT, Bardoli


Project ID: 288285 System Analysis

o Forgot Password
o Manage Profile
o Manage Users
o Manage Other’s Events
• For Users:
o Register
o Login
o Manage Event
o Manage To-do List
o Forgot Password
o Manage Profile
o Create, Manage and Enter Mpin

4.8 Selection of Software

• Visual Studio Code: - Visual Studio Code, also commonly referred to asVS
Code, is a source-code editor made by Microsoft for Windows, Linux and
macOS. Features include support for debugging, syntax highlighting,
intelligent code completion, snippets, code refactoring, and embedded GitUsers
can change the theme, keyboard shortcuts, preferences, and installextensions
that add additional functionality.
● MySQL Workbench: -MySQL Workbench is a unified visual tool for database
architects, developers, and DBAs. MySQL Workbench provides data
modeling, SQL development, and comprehensive backup, and much more.
MySQL Workbench is available on Windows, Linux and Mac OS.
● Postman: - Postman is an API platform for developers to design, build, test
and iterate their APIs. As of April 2022, Postman reports having morethan 20
million registered users and 75,000 open APIs, which it says constitutes the
world's largest public API hub.

● IntelliJ:-IntelliJ IDEA is an integrated development environment (IDE)


written in Java for developing computer software. It is developed by JetBrains
(Formerly known as IntelliJ), and is available as an Apache 2 Licensed
community edition, and in a proprietary commercial edition. Both can be used
for commercial development.

Gujarat Technological University 14 RNGPIT, Bardoli


Project ID: 288285 System Analysis

● Android Virtual Device: -The Android emulator is an Android Virtual


Device (AVD), which represents a specific Android device. We can use the
Android emulator as a target device to execute and test our Android application
on our PC. The Android emulator provides almost all the functionality of a real
device. We can get incoming phone calls and text messages. It also gives the
location of the device and simulates different network speeds. Android
emulator simulates rotation and other hardware sensors. It accesses the Google
Play store, and much more Testing Android applications on emulators are
sometimes faster and easier than doing on a real device. For example, we can
transfer data faster to the emulator than to a real device connected through
USB. The Android emulator comes with predefined configurations for several
Android phones, Wear OS,tablet, Android TV devices.

Gujarat Technological University 15 RNGPIT, Bardoli


Project ID: 288285 System Design

Chapter 5 System Design

5.1 System Design & Methodology

System Design:

Companion 365 is designed as a mobile application built using the React Native
framework. It comprises of two main components: the mobile application and the
server-side API.

The mobile application includes a user interface where users can view and manage
their events, create new events, set reminders, invite other users, and view media
attachments. The server-side API provides the functionality to create, read, update,
and delete events, manage reminders, and process user authentication and
authorization.

The system architecture is based on a client-server model. The mobile application


serves as the client that sends requests to the server-side API, which processes the
requests and returns responses back to the client. The server-side API is built using
Node.js and Express.js, and it communicates with a MySQL database to store and
retrieve data.

Methodology:

The development of Companion 365 follows an agile development methodology. This


methodology involves breaking down the development process into smaller,
incremental tasks, which are completed in short iterations known as sprints.

The project team works collaboratively to define the requirements, design, and
develop the software in short iterations. The software is tested and validated at the end
of each sprint to ensure that it meets the defined requirements and specifications.

This iterative approach allows the project team to respond quickly to changes in
requirements or user feedback, and to deliver software incrementally and in a timely
manner. It also encourages collaboration, communication, and continuous
improvement throughout the development process.

Gujarat Technological University 16 RNGPIT, Bardoli


Project ID: 288285 System Design

• Use Cases:
A use case diagram is a graphical depiction of a user's possible interactions
with a system. A use case diagram shows various use cases and different
types of users the system has and will often be accompanied by other types
of diagrams as well. In our Project We have two users, User and Admin.

Fig 5.1.1 User Use-case Diagram

Gujarat Technological University 17 RNGPIT, Bardoli


Project ID: 288285 System Design

Fig 5.1.2 Super User Use-case Diagram

Gujarat Technological University 18 RNGPIT, Bardoli


Project ID: 288285 System Design

Fig 5.1.3 User Use-case Diagram

Gujarat Technological University 19 RNGPIT, Bardoli


Project ID: 288285 System Design

• E-R Daigram:

Fig 5.1.4 E-R Diagram

Gujarat Technological University 20 RNGPIT, Bardoli


Project ID: 288285 System Design

5.2 Database Design


A database schema defines how data is organized within a relational database; this is
inclusive of logical constraints such as, table names, fields, data types, and the
relationships between these entities. We have 4 kind of schema in our project.

5.2.1. Userinfo

5.2.2. Master

5.2.3. ControlCenter

5.2.4. Event_Info

5.2.1. Userinfo:

Table 5.2.1 Userinfo.users

Table Name : Userinfo.users

Purpose : This table is used to manage users

Column Name Data Type Constraints Description

Stores the birthdate of


birth_date date(3) -
user

Stores the blood


blood_group_id tinyint(1) FOREIGN KEY group ID for user's
blood group

Stores the designation


designation_id int(4) FOREIGN KEY ID for user's
designation

Stores the first name


first_name varchar(512) -
of user

Stores the gender of


gender char(1) -
user

Gujarat Technological University 21 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores the lastname of


last_name varchar(512) -
user

Stores the middle


middle_name varchar(512) -
name of user

Stores the
organization ID for
org_id smallint(2) FOREIGN KEY
the user's associated
organization

Stores the status ID


status_id smallint(2) FOREIGN KEY
for the user's status

Stores the user


user_category_id smallint(2) FOREIGN KEY category ID for user's
category

Stores the display


name of user which
user_display_name varchar(512) -
will be displayed in
system

a unique identifier for


user_id bigint(8) PRIMARY KEY
users

Stores the unique


user_login_name varchar(32) UNIQUE login name for each
user

user_mpin_password varchar(512) - Stores mpin of user

Stores password of
user_password varchar(512) -
user

Gujarat Technological University 22 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.2 Userinfo.user_address

Table Name : Userinfo.user_address

Purpose : This table is used to manageuser address

Column Name Data Type Constraints Description

address_description varchar(1024) - Stores Address


description
A unique identifier
address_id smallint(2) PRIMARY KEY
for user address

Stores the type of


address_type_id smallint(2) FOREIGN KEY address type id based
on address value

Stores the city ID


city_id smallint(2) FOREIGN KEY
based on city value

Stores the country ID


country_id smallint(2) FOREIGN KEY based on country
value

Stores the state ID


state_id smallint(2) FOREIGN KEY
based on state value

Stores the user ID for


user_id bigint(8) FOREIGN KEY
associated address

Gujarat Technological University 23 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.3 Userinfo.user_contacts

Table Name : Userinfo.user_contacts

Purpose : This table is used to manage user contacts

Column Name Data Type Constraints Description

Stores the contact of


contact varchar(1024) UNIQUE
user

a unique identifier for


contact_id smallint(2) PRIMARY KEY
user contact

FOREIGN Stores the type of


contact_type_id smallint(2) KEY,FOREIGN contact type id based
KEY on contact value

Stores boolean value


is_primary bit(1) - to check if contact is
primary

FOREIGN
user_id bigint(8) KEY,FOREIGN Stores the user ID for
KEY associated contact

Table 5.2.4 Userinfo.user_documents

Table Name : Userinfo.user_documents

Purpose : This table is used to manage user documents

Column Name Data Type Constraints Description

Stores document
document_description nvarchar(-1) -
description
Stores document
document_filename nvarchar(2048) -
filename

Gujarat Technological University 24 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores document
document_number nvarchar(2048) -
number
Stores document type
document_type_id smallint(2) -
id

remarks varchar(1024) - Stores remarks


A unique identifier for
user_document_id bigint(8) PRIMARY KEY
user document
Stores the user ID for
user_id bigint(8) FOREIGN KEY
associated document

verification_by bigint(8) - Verify user ID


Stores the type of
verification_types_id int(4) FOREIGN KEY verification type id
based on value

Stores verified date


verified_datertime datetime(8) -
and time

Table 5.2.5 Userinfo.user_mapping

Table Name : Userinfo.user_mapping

Purpose : This table is used to manage user mapping

Column Name Data Type Constraints Description

Stores the user ID for


chile_user_id bigint(8) FOREIGN KEY
associated child user

Stores the user ID for


parent_user_id bigint(8) FOREIGN KEY
associated parent user

A unique identifier
user_mapping_id bigint(8) PRIMARY KEY
for user mapping

verified_by bigint(8) - Verify user ID

Gujarat Technological University 25 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores date and time


verified_datetime datetime(8) -
when user inserted

Table 5.2.6 Userinfo.user_survey

Table Name : Userinfo.user_survey

Purpose : This table is used to manage user survey

Column Name Data Type Constraints Description

Stores boolean value


is_favourite bit(1) - to check if survey is
favourite

survay_id bigint(8) - Stores survey ID

Stores theme ID
theme_id bigint(8) FOREIGN KEY
associsted to survey

Stores user ID
user_id bigint(8) FOREIGN KEY
associated to survey

FOREIGN
user_survey_id bigint(8) KEY,PRIMARY A unique identifier
KEY for user survey

Table 5.2.7 Userinfo.user_wishlist

Table Name : Userinfo.user_wishlist

Purpose : This table is used to manage user wishlist

Column Name Data Type Constraints Description

expected_start_dateti Stores expected date


datetime(8) -
me and time

Gujarat Technological University 26 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores boolean value


is_notify_start bit(1) - to check if notify is
start

Stores survey ID
survey_id bigint(8) FOREIGN KEY associated to user
wishlist

Stores user ID
user_id bigint(8) FOREIGN KEY associated to user
wishlist

a unique identifier for


user_wishlist_id int(4) PRIMARY KEY
user's wishlist

Stores wishlist ID
wishlist_id int(4) FOREIGN KEY associated to survey
wishlist

5.2.2 Master :

Table 5.2.8 Master.address_type

Table Name : Master.address_type

Purpose : This table is used to manage master's address type

Column Name Data Type Constraints Description

a unique identifier for


address_type_id smallint(2) PRIMARY KEY
address type

Stores the type of


address type key
address_type_key varchar(32) UNIQUE
based on address
value

Gujarat Technological University 27 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores the type of


address type name
address_type_name varchar(32) -
based on address
value

Table 5.2.9 Master.blood_group

Table Name : Master.blood_group

Purpose : This table is used to manage master's blood group

Column Name Data Type Constraints Description

A unique identifier
blood_group_id tinyint(1) PRIMARY KEY
for blood group

Stores the type of


blood group type key
blood_group_key varchar(512) UNIQUE
based on blood group
value

Stores the type of


blood group type
blood_group_name varchar(512) -
name based on blood
group value

Table 5.2.10 Master.city

Table Name : Master.city

Purpose : This table is used to manage master's city

Column Name Data Type Constraints Description

A unique identifier
city_id smallint(2) PRIMARY KEY
for city

Gujarat Technological University 28 RNGPIT, Bardoli


Project ID: 288285 System Design

city_name varchar(32) - Stores city name

Table 5.2.11 Master.contact_type

Table Name : Master.contact_type

Purpose : This table is used to manage master's contact type

Column Name Data Type Constraints Description

A unique identifier
contact_type_id smallint(2) PRIMARY KEY
for contact type

Stores contact type


contact_type_key varchar(32) -
key

Stores contact type


contact_type_name varchar(32) -
name

Table 5.2.12 Master.country

Table Name : Master.country

Purpose : This table is used to manage master's country

Column Name Data Type Constraints Description

A unique identifier
country_id smallint(2) PRIMARY KEY
for country

country_name varchar(32) - Stores country name

Stores country short


country_short_name varchar(32) -
name

Gujarat Technological University 29 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.13 Master.designation

Table Name : Master.designation

Purpose : This table is used to manage master's designation

Column Name Data Type Constraints Description

A unique identifier
designation_id int(4) PRIMARY KEY
for designation

Stores designation
designation_name varchar(512) -
name

Table 5.2.14 Master.document_type

Table Name : Master.document_type

Purpose : This table is used to manage master's document type

Column Name Data Type Constraints Description

A unique identifier
document_type_id int(4) PRIMARY KEY
for document type

Stroes document type


document_type_key varchar(128) -
key

document_type_nam Stores document type


varchar(128) -
e name

Gujarat Technological University 30 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.15 Master.org

Table Name : Master.org

Purpose : This table is used to manage master's organization

Column Name Data Type Constraints Description

Stores organizatioin
org_description varchar(1024) -
description

A unique identifier
org_id smallint(2) PRIMARY KEY
for organization

Stores organizatioin
org_key varchar(512) UNIQUE
key

Stores organizatioin
org_name varchar(512) -
name

Stores organizatioin
org_short_name varchar(32) -
short name

Table 5.2.16 Master.state

Table Name : Master.state

Purpose : This table is used to manage master's state

Column Name Data Type Constraints Description

A unique identifier
state_id smallint(2) PRIMARY KEY
for state

state_name varchar(32) - Stores state name

Stores state short


state_short_name varchar(32) -
name

Gujarat Technological University 31 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.17 Master.status

Table Name : Master.status

Purpose : This table is used to manage master's status

Column Name Data Type Constraints Description

A unique identifier
status_id smallint(2) PRIMARY KEY
for status

status_key varchar(32) - Stores status key

status_name varchar(32) - Stores status name

5.2.3 ControlCenter :

Table 5.2.18 ControlCenter.additional_resource_permission

Table Name : ControlCenter.additional_resource_permission

This table is used to manage control center's additional resource


Purpose : permission

Column Name Data Type Constraints Description

One of unique
identifiers for
resource_id bigint(8) PRIMARY KEY
additional resource
permission

resource_permission Stores resource


char(4) -
_type permission type
One of unique
identifiers for
user_id bigint(8) PRIMARY KEY
additional resource
permission

Gujarat Technological University 32 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.19 ControlCenter.category_resource_permission

Table Name : ControlCenter.category_resource_permission

Purpose : This table is used to manage control center's resource permission

Column Name Data Type Constraints Description

One of unique
identifiers for
resource_id bigint(8) PRIMARY KEY
additional resource
permission
One of unique
identifiers for
user_category_id smallint(2) PRIMARY KEY
additional resource
permission

Table 5.2.20 ControlCenter.config

Table Name : ControlCenter.config

Purpose : This table is used to manage control center's configuration

Column Name Data Type Constraints Description

A unique identifier
config_id int(4) PRIMARY KEY
for configuration

Stores configuration
config_key varchar(64) -
key

Stores configuration
config_value varchar(64) -
value

Gujarat Technological University 33 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.21 ControlCenter.device_type

Table Name : ControlCenter.device_type

Purpose : This table is used to manage control center's device type

Column Name Data Type Constraints Description

A unique identifier
device_type_id smallint(2) PRIMARY KEY
for device type

Stores device type


device_type_key varchar(32) -
key

Stores device type


device_type_name varchar(32) -
name

Table 5.2.22 ControlCenter.Organization_mappings

Table Name : ControlCenter.Organization_mappings

Purpose : This table is used to manage control center's Organization mapping

Column Name Data Type Constraints Description

Stores child
child_org_id int(4) -
organization id
A unique identifier for
org_mapping_id int(4) PRIMARY KEY
organization mapping
Stores parent
parent_org_id int(4) -
organization id

Gujarat Technological University 34 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.23 ControlCenter.otp_transaction

Table Name : ControlCenter.otp_transaction

Purpose : This table is used to manage control center's otp transcation

Column Name Data Type Constraints Description

end_time datetime(8) - Stores end time

otp varchar(8) - Stores otp


A unique identifier for
otp_transaction_id bigint(8) PRIMARY KEY
otp transaction

start_time datetime(8) - Stores start time


Stores user ID
user_id bigint(8) FOREIGN KEY associated to user
wishlist

Table 5.2.24 ControlCenter.resource_hierarchy

Table Name : ControlCenter.resource_hierarchy

Purpose : This table is used to manage control center's resource hierarchy

Column Name Data Type Constraints Description

Stores the associated


parent_resource_mo
bigint(8) FOREIGN KEY parent resource
dule_id
module ID

FOREIGN
resource_hierarchy_i
tinyint(1) KEY,PRIMARY Stores the associated
d
KEY resource hierarchy id
Stores the associated
resource_module_id bigint(8) FOREIGN KEY
resource module ID

Gujarat Technological University 35 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.25 ControlCenter.resource_module

Table Name : ControlCenter.resource_module

Purpose : This table is used to manage control center's resource module

Column Name Data Type Constraints Description

resource_module_de Stores resource


varchar(1024) -
scription module description
A unique identifier for
resource_module_id bigint(8) PRIMARY KEY
resource module

resource_module_ke Stores resource


varchar(512) UNIQUE
y module key

resource_module_na Stores resource


varchar(512) -
me module name

Table 5.2.26 ControlCenter.resource_types

Table Name : ControlCenter.resource_types

Purpose : This table is used to manage control center's resource types

Column Name Data Type Constraints Description

A unique identifier
resource_type_id tinyint(1) PRIMARY KEY
for resource type

Stores resource type


resource_type_key varchar(512) UNIQUE
key

Stores resource type


resource_type_name varchar(512) -
name

Gujarat Technological University 36 RNGPIT, Bardoli


Project ID: 288285 System Design

Table 5.2.27 ControlCenter.resources

Table Name : ControlCenter.resources

Purpose : This table is used to manage control center's resources

Column Name Data Type Constraints Description

Stores the description


resource_description varchar(1024) -
for resource

A unique identifier
resource_id bigint(8) PRIMARY KEY
for Resources

Stores the unique key


resource_key varchar(512) UNIQUE
for each resource

Strores the associated


resource_module_id bigint(8) FOREIGN KEY
resource module ID

Stores the name of


resource_name varchar(512) -
resources

Stores the associated


resource_type_id tinyint(1) FOREIGN KEY
resource type ID

Table 5.2.28 ControlCenter.user_auth

Table Name : ControlCenter.user_auth

Purpose : This table is used to manage control center's user authentication

Column Name Data Type Constraints Description

A unique identifier for


user_auth_id bigint(8) PRIMARY KEY
User Authentication

FOREIGN Stores user ID


user_id bigint(8) KEY,FOREIGN associated to user
KEY wishlist

Gujarat Technological University 37 RNGPIT, Bardoli


Project ID: 288285 System Design

user_token nvarchar(2048) - Stores token of user

Table 5.2.29 ControlCenter.user_category

Table Name : ControlCenter.user_category

Purpose : This table is used to manage control center's user category

Column Name Data Type Constraints Description

Stores boolean value


is_admin_default bit(1) - true/false if admin is
default or not

user_category_descri Stores description of


varchar(1024) -
ption user category

A unique identifer for


user_category_id smallint(2) PRIMARY KEY
user category

Stoes the unique for


user_category_key varchar(512) -
each user category

Stores the category


user_category_name varchar(512) -
name

Table 5.2.30 ControlCenter.user_device

Table Name : ControlCenter.user_device

Purpose : This table is used to manage control center's user device

Column Name Data Type Constraints Description

device_name varchar(32) - Stores name of device

Gujarat Technological University 38 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores device type ID


device_type_id smallint(2) FOREIGN KEY associated to user
device
Stores token of
firebase_token varchar(1024) -
firebase of user device
Stores IP address of
ip_address varchar(32) -
user device
Stores MAC address
mac_address varchar(32) -
of user device
A unique identifier for
user_device_id smallint(2) PRIMARY KEY
user device
Stores key of user
user_device_key varchar(32) -
device
Stores user ID
user_id bigint(8) FOREIGN KEY associated to user
device

5.2.4 Event_Info :

Table 5.2.31 Event_Info.event


Table Name: Event_Info.event
Purpose: This table is used to manage Events

Column Name Data Type Constraints Sample Value Description

Stores the event end date and


2023-03-24
end_datetime datetime(8) - time.
10:55:10
Stores the ID of font
event_font_style style which is selected in
int(4) FOREIGN KEY 1
_id event.
A unique identifier for Event
PRIMARY
event_id bigint(8) 1
KEY
Stores the ID of event
event_location_i
int(4) FOREIGN KEY 1 location.
d

Gujarat Technological University 39 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores the ID of event logo.


event_logo_id int(9) FOREIGN KEY 2
Stores the name of event.
Nvarchar
event_name - 'Wedding '
(2048)
Stores the ID of event type.
event_type_id int(4) FOREIGN KEY 1
Stores the boolean value for
if event is favourite
is_fav bit(1) - 1 or 0
or not.
Stores the boolean value
true or false if event is
is_recursive bit(1) - 1 or 0
recursive.
Stores the event start date
2023-03-24
start_datetime datetime(8) - and time.
10:55:10
Stores the ID of user who
user_id int(9) FOREIGN KEY 2
has created event.

Table 5.2.32 Event_Info.event_participant


Table Name: Event_Info.event_participant
Purpose: This table is used to manage Event participants

Column Name Data Type Constraints Sample Value Description

Stores the ID of
FOREIGN
event_id bigint(8) 1 associated event.
KEY
A unique identifier for
PRIMARY Event participant
event_participant_id int(4) 1
KEY
Stores the boolean value
true or false if event is

is_attended bit(1) - 1 or 0 attended


by attendee.
Stores the participant's
bhatiaparth119
participant_email_id varchar(255) - email id
@gmail.com

Gujarat Technological University 40 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores the participant's


participant_name varchar(255) - Parth Bhatia
name
Stores the participant's
participant_phone_n phone number
varchar(255) - 90881900122
umber
Stores the type of
participant_type varchar(255) - Guest
participant.
Stores the user ID of
FOREIGN
user_id int(9) 2 participant.
KEY

Table 5.2.33 Event_Info.event_frequency


Table Name: Event_Info.event_frequency
Purpose: This table is used to manage Event frequencies
Column Name Data Type Constraints Sample Value Description

Stores the description for


description Varchar
- event frequency.
(255)

A unique identifier for


event_frequenc PRIMARY
int(4) 1 Event frequency
y_id KEY

Stores the ID of
FOREIGN
event_id bigint(8) 1 associated event.
KEY

Stores the ID of
frequency_type FOREIGN
int(4) 1 associated frequency type.
_id KEY

Stores true/false for


is_notification_
bit(1) - 1 or 0 notification repetition.
repeat
Stores true/false if
is_notify bit(1) - 1 or 0 notification is sent or not.
notification_rep Stores the notification
int(4)
eat_time - 1 repetition time.

Gujarat Technological University 41 RNGPIT, Bardoli


Project ID: 288285 System Design

Stores the pre notification


pre_notification 2023-03-24
datetime(8) - time.
_time 10:55:10
Stores the number of days
repeat_day int(4) - 1 to be repeat.

Table 5.2.34 Event_info.event_document


Table Name: Event_Info.event_document
Purpose: This table is used to manage Event documents

Column Name Data Type Constraints Sample Value Description

Stores the description of


document_descr 'some
varchar(255) - document.
iption description'

Stores the name of


document_displ document to be display.
varchar(255) - 'ABC.docx'
ay_name

Stores the file name of


document_filen
varchar(255) - 'ABC' document.
ame

Stores the file path of


document_filep
varchar(255) - '/ABC.docx' document.
ath

Stores the document


document_num varchar(255)
- 12765 number.
ber

Stores the ID of document


document_type_ int(4) FOREIGN
1 type
id KEY
event_document PRIMARY A unique identifier for
int(4)
_id KEY 1 Event document
Stores the ID of associated

Gujarat Technological University 42 RNGPIT, Bardoli


Project ID: 288285 System Design

event_id bigint(8) FOREIGN 1 event.


KEY
Stores the remarks
regarding document if
remarks varchar(255) - 'some remarks' any.

Gujarat Technological University 43 RNGPIT, Bardoli


Project ID: 288285 System Design

5.3 Input / Output and Interface Design


5.3.1 State Transition Diagram
State Transition diagram is basically a flowchart to represent the flow from
one activity to another activity. The activity can be described as an operation
of the system. The control flow is drawn from one operation to another. This
flow can be sequential, branched, or concurrent.

Fig 5.3.1.1 Admin State Transition Diagram

Gujarat Technological University 44 RNGPIT, Bardoli


Project ID: 288285 System Design

Fig 5.3.1.2 User State Transition Diagram

Gujarat Technological University 45 RNGPIT, Bardoli


Project ID: 288285 System Design

5.3.2 Access Control /Mechanism / Security


o Admin

Fig 5.3.2.1 Admin Access Control

Gujarat Technological University 46 RNGPIT, Bardoli


Project ID: 288285 System Design

o Super User

Fig 5.3.2.2 Super User Access Control

Gujarat Technological University 47 RNGPIT, Bardoli


Project ID: 288285 System Design

o User

Fig 5.3.2.3 User Access Control

Gujarat Technological University 48 RNGPIT, Bardoli


Project ID: 288285 Implementation

Chapter 6 Implementation

6.1 Implementation Platform


NodeJS
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment
that allows developers to build fast, scalable, and efficient server-side applications
using JavaScript. Node.js uses an event-driven, non-blocking I/O model that makes it
lightweight and efficient. It also has a large and active community that provides
support and contributes to its development. Node.js is widely used by developers for
building web applications, command-line tools, and APIs. Its popularity has led to the
creation of many popular frameworks and tools, including Express.js and NPM.
React Native:

React Native is an open-source framework for building mobile applications using


JavaScript and the React library. It allows developers to build mobile apps for both
iOS and Android platforms using a single codebase, reducing development time and
costs. React Native uses a declarative programming model, which makes it easy to
understand and write code. It also provides a set of pre-built components and APIs,
allowing developers to quickly build and test their applications. React Native is widely
used by developers for building high-quality, cross-platform mobile applications,
including popular apps such as Facebook, Instagram, and Airbnb. Overall, React
Native is a powerful tool for building mobile apps with a great user experience.

Spring Boot:

Spring Boot is an open-source Java-based framework that is used to create standalone,


production-grade Spring-based applications with minimum effort. It is designed to
simplify the configuration and deployment of Spring applications by providing a set
of preconfigured settings and conventions. Spring Boot provides a range of features
that make it easier for developers to build and deploy web applications, including
auto-configuration, embedded servers, and production-ready metrics. With Spring
Boot, developers can focus on writing business logic and let the framework handle
many of the technical details. Spring Boot is widely used for developing web
applications, microservices, and REST APIs, and it has a large and active community
that provides support and contributes to its development. Overall, Spring Boot is a

Gujarat Technological University 49 RNGPIT, Bardoli


Project ID: 288285 Implementation

powerful tool that can help developers build high-quality, scalable, and robust
applications with minimal effort.

Angular

Angular is a popular open-source front-end web application framework that is


maintained by Google. It allows developers to build dynamic and responsive single-
page web applications using HTML, CSS, and TypeScript. Angular provides a
comprehensive set of features, including two-way data binding, dependency injection,
and component-based architecture, that make it easy to develop complex web
applications. It also has a large and active community that provides support and
contributes to its development.

Ms SQL Server

Microsoft SQL Server is a relational database management system (RDBMS) that is


developed and maintained by Microsoft. It is widely used by developers and
businesses for storing, managing, and retrieving data. Microsoft SQL Server provides
a wide range of features, including support for SQL, T-SQL, and XML, data analysis,
reporting, and integration with other Microsoft tools and technologies. It also provides
high availability and disaster recovery options, making it suitable for mission-critical
applications.

6.2 Process
1. Logging : In this state, the user/admin will logging to the system for the
further process if the user/admin has already registered themself.
2. Registration: In this state, the user/admin has to register themselves to
the system to get access of the particular function.
3. Planning : In this state, the organization planning and designing the
system considers 360 degrees. This may involve defining the purpose and
objectives of the assessment, selecting the participants who will provide
feedback, and designing the survey or questionnaire that will be used to
collect feedback.
4. Distribution of app : In this state, the organization will distribute this
app to the clients.

Gujarat Technological University 50 RNGPIT, Bardoli


Project ID: 288285 Implementation

5. Event Handling : In this state, the user will manage their events using
application features such as dashboard and calendar.
6. To-do Handling : In this states , the user will manage and plan their work
according to their priority.

Gujarat Technological University 51 RNGPIT, Bardoli


Project ID: 288285 Implementation

6.3 Findings / Results / Outcomes


Web interface

• Admin control sign-in page:


Sign in page of The Companion 365 provides the authorization and primary
step to session management.

Fig 6.3.1 Sign-in Page


• Dashboard
Dashboard Page contains not only simple design but also Important details
for the user to maintain their work and events.

Fig 6.3.2 Dashboard

Gujarat Technological University 52 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Notification Menu
Notification menu shows the notification about event and tasks which
created or enrolled by user.

Fig 6.3.3 Notification Menu


• Message Menu
User can have the communication with other members through message.
Here. Message menu will display the message which has sent to the user.

Fig 6.3.4 Message Menu

Gujarat Technological University 53 RNGPIT, Bardoli


Project ID: 288285 Implementation

• User Menu
A user menu is provided for make an ease for user to do any modifications
or get any updation on the web interface.

Fig 6.3.5 User Menu


• Navigation Drawer
Navigation drawer is provided for viewing the functionality in a brief.
Contains views which shows different functionality to the users.

Fig 6.3.6 Navigation Drawer

Gujarat Technological University 54 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Event Calendar
Event calender will display the past, Current and upcoming events of the
particular user.

Fig 6.3.7 Event Calender

• User Category
In Masters section a user role can be update also user can monitor the
activities if user has permission.

Fig 6.3.8 User Category

Gujarat Technological University 55 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Event Type
In event type section, the current events are displayed. A user can make
modification through this section.

Fig 6.3.9 Event Type

• Users List
In User list section a list of system’s user is shown.

Fig 6.3.10 Users List

Gujarat Technological University 56 RNGPIT, Bardoli


Project ID: 288285 Implementation

Mobile interface

• Splash Screen
Splash screen contains the logo and starting animation.

Fig 6.3.11 Splash Screen

Gujarat Technological University 57 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Skip Screen
Displays the Application uses and manual on first time device installation.

Fig 6.3.12 Skip Screen

Gujarat Technological University 58 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Registration Screen
User can register self by entering details at registration screen

Fig 6.3.13 Registration Screen

Gujarat Technological University 59 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Verify OTP Screen


The OTP verification screen will ensure the authentic login to the system.

Fig 6.3.14 Verify OTP Screen

Gujarat Technological University 60 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Login Screen
Login screen provides the different way to login into the system.

User can either login via employee_id, email or mobile number.

Fig 6.3.15 Login Screen

Gujarat Technological University 61 RNGPIT, Bardoli


Project ID: 288285 Implementation

• MPIN Screen
M-pin screen is provided to quick login through system. Once user register
through mpin; next only mpin is required to insert.

Fig 6.3.16 MPIN Screen

Gujarat Technological University 62 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Password Screen
Password screen is used for registering password and also for modification
in password.

Fig 6.3.17 Password Screen

Gujarat Technological University 63 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Dashboard
The dashboard screen is used for display Sphere list. And also, user can
have the options of viewing notification and adding an Sphere.

Fig 6.3.18 Dashboard

Gujarat Technological University 64 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Create Event Screen


Create event screen is used for creating an event on system which contains
various option for user feasibility like category, event scheduling and event
attendees

Fig 6.3.19 Create Event Screen

Gujarat Technological University 65 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Event list Screen


Event list screen contains calendar view on which by selecting on particular
day the list of events will be displayed.

Fig 6.3.20 Event list Screen

Gujarat Technological University 66 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Add Event/Notes/To-do Screen


This function is use for adding event, notes and to-dos.

Fig 6.3.21 Add Event / Notes / To-do Screen

Gujarat Technological University 67 RNGPIT, Bardoli


Project ID: 288285 Implementation

• View/Edit Event Details Screen


Event details screen provides viewing / modification for the event.

Fig 6.3.22 View / Edit Events Details

Gujarat Technological University 68 RNGPIT, Bardoli


Project ID: 288285 Implementation

• View/Edit Profile Screen


User can view / modify personal information through view/edit profile option

Fig 6.3.23 View / Edit Profile

Gujarat Technological University 69 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Add notes Screen


Through add notes screen user can add the important notes for the event
and also it provides attachment such as docs, image, video, audio etc.

Fig 6.3.24 Add Notes

Gujarat Technological University 70 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Create and View To-do list Screen


For viewing and creating to-do, to-do list and create to-do screen is
provided.

Fig 6.3.25 Create and View To-Do List

Gujarat Technological University 71 RNGPIT, Bardoli


Project ID: 288285 Implementation

• View notes list Screen


Notes screen will display the notes which created by user.

Fig 6.3.26 Notes List

Gujarat Technological University 72 RNGPIT, Bardoli


Project ID: 288285 Implementation

• Drawer Navigation
A drawer navigation view is provided for navigate through different screen
of the application.

Fig 6.3.27 Drawer Navigation

Gujarat Technological University 73 RNGPIT, Bardoli


Project ID: 288285 Implementation

6.4 Result Analysis / Comparison / Deliberations


The Companion 365 application developed during the internship proved to be an
effective tool for scheduling and managing events. The application's key features,
including event scheduling, reminder notifications, and integration with other
applications, contributed to its overall effectiveness.

The application performed well in terms of response time, stability, and scalability.
During testing, the application was able to handle a high volume of users and store
and retrieve data efficiently. However, there were occasional delays in notification
delivery, which could be improved in future iterations of the application.

Usability testing revealed that the application was easy to use and navigate. The user
interface design was intuitive and visually appealing, providing users with an
enjoyable experience. However, some users found the event scheduling process to be
slightly confusing, indicating a potential area for improvement.

Overall, The Companion 365 application developed during the internship


demonstrated strong functionality, performance, and usability. While there were some
minor areas for improvement, the application provided a solid foundation for future
development and enhancements.

Gujarat Technological University 74 RNGPIT, Bardoli


Project ID: 288285 Testing

Chapter 7 Testing

7.1 Testing Plan


This activity generates a set of test data, which can be used to test the new system
before accepting it. In the test generation phase all the parts are come which are to be
tested to ensure that system does not produce any error. If there are some errors then
we remove them and further it goes for accepting.

7.2 Testing Results and Analysis


Table 7.2.1 Registration and Login Test Cases
Sr. Pass /
Objective Prerequisites Expected result Actual result
No fail
1 To check
employee id, Employee
Employee can Employee will be
mobile no & must have Pass
be able to login login
email exists employee id
or not
2 Employee
To check can be able
Employee is Employee id
employee id to filled data Fail
not blank received blank
blank or not in input
field
3 Employee
To check Employee can
can be able Employee passed
mobile be passed 10
to filled data 12 digit mobile Fail
number is digits mobile
in input number
valid or not number
field
4 Employee
To check can be able Employee can
Employee passes
email is to filled data be passed valid Fail
invalid email id
valid or not in input email id
field

Gujarat Technological University 75 RNGPIT, Bardoli


Project ID: 288285 Testing

5 Employee id
Employee id
must be
To check must be required
Employee required
emaployee password must be
must have password must Pass
id and validated and
employee id be validated
password sync with emp id
and sync with
emp id
6 Employee
To check
can be able
employee Employee id Employee id
to fill data Fail
must be must be filled received blank
in input
blank
field

Table 7.2.2 Profile Page Test Cases


Sr. Prerequisit Pass /
Objective Expected result Actual result
No es fail
1 Open profile
Click on
To check Open profile page page and
my
click on and shows personal shows Pass
profile
button or not details personal
button
details
2 See
To check
detials of
personal See all data
personal See all data filled Pass
detials filled filled
informati
or not
on
3 To check See
family details of See all data
information family See all data filled filled Pass
is filled or informati
not on

Gujarat Technological University 76 RNGPIT, Bardoli


Project ID: 288285 Conclusion and Discussion

Chapter 8 Conclusion and Discussions

8.1 Overall Analysis of Internship / Project Viabilities


As my company is the professional services network in the India, I felt that an
internship at my company was a great platform for me to gain deeper insights into the
Application Development Industry. My Company is also known for its focus on
diversity as well as career development programs which I believe provide numerous
learning opportunities for the interns.

8.2 Date of surprise visit by institute mentor


• Visit 1: - 8th MAR 2023
• Visit 2: - 5th MAY 2023

8.3 Dates of Continuous Evaluation (CE-I and CE-II)


• Continuous Evaluation 1: - 10th MAR 2023
• Continuous Evaluation 2: - 03rd MAY 2023

8.4 Problem Encountered and Possible Solutions


• User should be able to login via Employee id, email or mobile number
and Password (The data are stored in single table which contains all
fields in same column).

Solution:
By using regex expression I able to identify whether given input provided by
user is employee_id, email or mobile number. After identify that I was able
to get particular user id and matching with password the API can send
response that if, is it successful login or not.

• By calling login API a token should be returned as in response header.

Solution:
By help of HttpServletResponse and RestTemplate class I was able to fetch
the content of node API which contains token in response. Also, I handle the
exceptions if node API is unavailable.

Gujarat Technological University 77 RNGPIT, Bardoli


Project ID: 288285 Conclusion and Discussion

8.5 Summary of Internship / Project work


During my internship, I had the opportunity to learn programming languages such as
SQL ,JavaScript, which have proven to be very useful for me. Additionally, I gained
experience working with popular frameworks in frontend development such as React
Native and GitLab, which are commonly used for creating Screens and application for
the android as well as ios and doing built on APIs that are created. By using version
control, I was able to effectively maintain my project, "The Companion 365".

The "The Companion 365" project provided me with an opportunity to develop my


technical skills and improve my team learning and collaboration skills. During my
time on the project, I gained experience in following industry standards and best
practices, which helped me to develop a strong foundation of knowledge and skills.

In addition, I learned how to manage a project using the agile methodology, which
allowed me to work effectively with other team members and complete the project
successfully. This experience also helped me to improve my communication skills, as
I worked closely with other team members to ensure that the project met all of its
objectives.

Overall, my internship experience was magnificent. I learned so many valuable skills


and gained experience that will undoubtedly be useful in my future endeavours.

8.6 Limitation and Future Enhancement


The current implementation of the system works for the organization events. In future,
system enable users to access application over the globe.

The current implementation of the system requires an active internet connection. In


future, system enable users to access application without mobile data connection.

To achieve this, caching is used to store recently used app data on user device. This
data will be synchronized periodically with server for consistent and up-to-date data.

Gujarat Technological University 78 RNGPIT, Bardoli


Project ID: 288285 References

References
1. SCIKEY ‘About Us’ 2022. [online] Available: https://www.scikey.ai/other-
pages/disclaimer [Accessed: 23-Jan-2023]
2. SCIKEY ‘Solutions/Needs’ 2022. [online] Available: https://www.scikey.ai/
[Accessed: 24-Jan-2023]
3. “What is Java Spring boot?-intro to Spring Boot: Microsoft Azure,” -Intro to Spring
Boot | Microsoft Azure. [Online]. Available: https://azure.microsoft.com/en-
us/resources/cloud-computing-dictionary/what-is-java-spring-
boot/#:~:text=Java%20Spring%20Boot%20is%20an,computing%20platforms%20fo
r%20app%20development. [Accessed: 23-Jan-2023].
4. “Microsoft SQL server,” Wikipedia, 03-May-2023. [Online]. Available:
https://en.wikipedia.org/wiki/Microsoft_SQL_Server. [Accessed: 07-May-2023].
5. “NodeJs,” Node.js. [Online]. Available: https://nodejs.org/en/about. [Accessed: 02-
Feb-2023].
6. “Learning react native,” O'Reilly Online Learning. [Online]. Available:
https://www.oreilly.com/library/view/learning-react-
native/9781491929049/ch01.html. [Accessed: 07-May-2023].
7. C. Deshpande, “What is angular?: Architecture, features, and advantages [2022
edition],” Simplilearn.com, 23-Feb-2023. [Online]. Available:
https://www.simplilearn.com/tutorials/angular-tutorial/what-is-
angular#:~:text=Angular%20is%20an%20open%2Dsource,for%20developers%20to
%20work%20with. [Accessed: 07-May-2023].
8. M. Chand, “What is .net core?,” C# Corner. [Online]. Available: https://www.c-
sharpcorner.com/article/what-is-dot-net-core/. [Accessed: 07-May-2023].

Gujarat Technological University 79 RNGPIT, Bardoli


Project ID: 288285 Appendix

Appendix
o Scope
Scope identi+ies all of the things which the project can range over.

o Database Design
Database Design is a collection of processes that facilitate the designing,
development, implementation and maintenance of enterprise data management
systems.

o Use – case diagram

UML use case diagram is the primary form of system/software


requirements for a new software program underdeveloped.

Gujarat Technological University 80 RNGPIT, Bardoli


Project ID: 288285 Appendix

o State Transition diagram


state Transition diagram is basically use to represent the +low from
one state to another state. This +low can be sequential, branched or
concurrent.

Gujarat Technological University 81 RNGPIT, Bardoli

You might also like