Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
190840131038
BACHELOR OF ENGINEERING
in
Computer Science and Engineering
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.
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
– 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
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.
(190840131038)
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.
List of Figures
List of Tables
List of Abbreviations
Table of contents
Acknowledgement ................................................................................................................i
Abstract ............................................................................................................................... ii
List of Figures .................................................................................................................... iii
List of Tables ........................................................................................................................v
List of Abbreviations ......................................................................................................... vii
Table of contents .............................................................................................................. viii
References .........................................................................................................................77
Appendix...........................................................................................................................78
1.1 History
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.
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.
• 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
• Product Design
• 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.
• HR Department
Specification Of Laptop: -
• Ram: 8GB
• SSD:500 GB
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.
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.
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
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]
• 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]
• 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.
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.
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
• 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.
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.
Methodology:
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.
• 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.
• E-R Daigram:
5.2.1. Userinfo
5.2.2. Master
5.2.3. ControlCenter
5.2.4. Event_Info
5.2.1. Userinfo:
Stores the
organization ID for
org_id smallint(2) FOREIGN KEY
the user's associated
organization
Stores password of
user_password varchar(512) -
user
FOREIGN
user_id bigint(8) KEY,FOREIGN Stores the user ID for
KEY associated contact
Stores document
document_description nvarchar(-1) -
description
Stores document
document_filename nvarchar(2048) -
filename
Stores document
document_number nvarchar(2048) -
number
Stores document type
document_type_id smallint(2) -
id
A unique identifier
user_mapping_id bigint(8) PRIMARY KEY
for user mapping
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
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
Stores wishlist ID
wishlist_id int(4) FOREIGN KEY associated to survey
wishlist
5.2.2 Master :
A unique identifier
blood_group_id tinyint(1) PRIMARY KEY
for blood group
A unique identifier
city_id smallint(2) PRIMARY KEY
for city
A unique identifier
contact_type_id smallint(2) PRIMARY KEY
for contact type
A unique identifier
country_id smallint(2) PRIMARY KEY
for country
A unique identifier
designation_id int(4) PRIMARY KEY
for designation
Stores designation
designation_name varchar(512) -
name
A unique identifier
document_type_id int(4) PRIMARY KEY
for document type
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
A unique identifier
state_id smallint(2) PRIMARY KEY
for state
A unique identifier
status_id smallint(2) PRIMARY KEY
for status
5.2.3 ControlCenter :
One of unique
identifiers for
resource_id bigint(8) PRIMARY KEY
additional resource
permission
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
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
A unique identifier
device_type_id smallint(2) PRIMARY KEY
for device type
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
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
A unique identifier
resource_type_id tinyint(1) PRIMARY KEY
for resource type
A unique identifier
resource_id bigint(8) PRIMARY KEY
for Resources
5.2.4 Event_Info :
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
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
o Super User
o User
Chapter 6 Implementation
Spring Boot:
powerful tool that can help developers build high-quality, scalable, and robust
applications with minimal effort.
Angular
Ms SQL Server
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.
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.
• Notification Menu
Notification menu shows the notification about event and tasks which
created or enrolled by user.
• 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.
• Event Calendar
Event calender will display the past, Current and upcoming events of the
particular user.
• User Category
In Masters section a user role can be update also user can monitor the
activities if user has permission.
• Event Type
In event type section, the current events are displayed. A user can make
modification through this section.
• Users List
In User list section a list of system’s user is shown.
Mobile interface
• Splash Screen
Splash screen contains the logo and starting animation.
• Skip Screen
Displays the Application uses and manual on first time device installation.
• Registration Screen
User can register self by entering details at registration screen
• Login Screen
Login screen provides the different way to login into the system.
• MPIN Screen
M-pin screen is provided to quick login through system. Once user register
through mpin; next only mpin is required to insert.
• Password Screen
Password screen is used for registering password and also for modification
in password.
• Dashboard
The dashboard screen is used for display Sphere list. And also, user can
have the options of viewing notification and adding an Sphere.
• Drawer Navigation
A drawer navigation view is provided for navigate through different screen
of the application.
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.
Chapter 7 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
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.
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.
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.
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.
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].
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.