Professional Documents
Culture Documents
Pes University: 6 Semester Project Report On
Pes University: 6 Semester Project Report On
Pes University: 6 Semester Project Report On
CO SPACE
Submitted by
Internal Guide
Dr. A Lekha
Associate Professor
Department of Computer Applications
PESU Bengaluru - 560085
FACULTY OF ENGINEERING
DEPARTMENT OF COMPUTER APPLICATIONS
PROGRAM – MASTER OF COMPUTER APPLICATIONS
CERTIFICATE
This is to certify that the project entitled
CO SPACE
is a bonafide work carried out by
in partial fulfillment for the completion of 6th semester project work in the Program of Study
MCA with specialization in Networks under rules and regulations of PES University,
Bengaluru during the period Jan. 2021 – May 2021. The project report has been approved
as it satisfies the 6th semester academic requirements in respect of project work.
I, Nagesh C Pawar, hereby declare that the project entitled, Co Space, is an original work
done by us under the guidance of Dr. A Lekha Associate Professor, Department of
Computer Applications, and is being submitted in partial fulfillment of the requirements
for completion of 6th Semester course work in the Program of Study MCA. All
corrections/suggestions indicated for internal assessment have been incorporated in the
report. The plagiarism check has been done for the report and is below the given threshold.
PLACE: BENGALURU
DATE:
Nagesh C Pawar
ACKNOWLEDGEMENT
I take a great pleasure in expressing my sincere gratitude to all those who have guided me and
supported me to successfully complete this project.
I would like to express my sincere gratitude to the Chairperson Dr. Veena S, who gave me
opportunity to go ahead with this project.
I finally thank my parents and friends for being helpful and supportive.
Nagesh C Pawar
(PES1201802582)
ABSTRACT
Nowadays there are many startups and organizations getting started but the problem is there is no
suitable environment to sit and work together. And also some of them have the infrastructure
management problem. To overcome this problem in real time the application named Co Space is
being developed.
Workspace is basically a space where many people come and work under the same building or the
infrastructure which includes all the facilities like conference halls, cafeteria, office and other
services. The application allows the people to add the infrastructure in the application and also they
can add the photos related to the infrastructure. The user can see the availability related to the
requirements and can book the workspace. The workspace can also be used by many organizations
such as startups, business people etc.
Hence this application can save the time in searching the workspace physically.
CONTENTS
2. LITERATURE SURVEY
2.1 BACKGROUND STUDY 5
2.2 ABOUT TOOLS AND TECHNOLOGIES 6
7.5 Features 38
7.7 Payment 40
7.8 Bookings 41
7.13 Bookings 48
TABLES
SL NO LIST OF TABLES PAGE NO
1. INTRODUCTION
Co Space is an android application which is basically built to provide feature of booking the
workspaces accordingly to the user requirements and the availability of the space. The application
also provides the feature to add the facilities present in the workspace and also the price of the
workspace. The application can also help the small startups and organizations to sit and work
together in a proper infrastructure. The application eases the users to find out the workspaces easily
based on their requirements.
Basically nowadays some startups and small companies does not have infrastructure to sit and
work together. And there is no suitable environment for meetings, conferences and work related
gatherings. There are many organizations and small startups growing every day in the industry but
they do not have the proper infrastructure for the company or the organization to make all their
employees to sit and work together. And also if any meetings to be held the small companies does
not have proper facilities and the infrastructure.
Co Space is an android application which helps to find out the workspace according to their
requirements and facilities in which they are in need of. This application is basically developed
to help all the small startups and organizations to sit and work together. And also to make their
work related gatherings, meetings and conferences.
1.1.3 PURPOSE
The main purpose to build this application is it can help the small companies and startups to get
their space to work and utilize the facilities provided in the infrastructure based on pay per use
model. It can reduce the cost burden of the small companies and organizations by avoiding the
infrastructure management.
1.1.4 SCOPE
The application is strictly built for android users. Co Space is an android application which
works basically on android mobile phones. The main purpose of this application is used to help
the small organizations and also the startups to get them proper space to work together in all the
aspects. The rentals in this app is basically provided in the limit of daily and monthly basis.
2. LITERATURE SURVEY
1. Workspace Booking
It is a mobile app that provides a way to book Microsoft Office 365 and on premise resources e.g.
meeting rooms and hot-desks.
Drawbacks: This app does not contain the daily and monthly basis bookings.
This app is currently in demo mode.
2. App Space
It is the only platform that deeply integrates digital signage, collaboration tools, room scheduling,
and many other tools your team needs to stay connected, whether they’re at work, at home, or on
the go.
Drawbacks: This app can manage the workspace in virtual mode but not in the physical mode.
In technical perspective, the project is feasible and it does not demand any non-existing
technology any android will be able to install and use this application. And the project is
easy to use both by the space providers and space users.
This project does not raise any issues, as the project is planned or aimed for all kind of users.
The space providers and space users can easily use the project.
The proposed system is operationally feasible as the final output of the project can be used
by the space providers and the space users and it will be easy and user friendly for use with
an easy UI.
Android
Android is a mobile operating system based on a modified version of the Linux kernel and other
open source software, designed primarily for touchscreen mobile devices such as smartphones
and tablets.
Android Studio
Android Studio is Android’s official integrated development environment. It is fast and feature-
rich emulator, provides a unified environment where you can build apps for Android phones,
tablets, Android Wear, Android TV, and Android Auto. Structured code modules allow you to
divide your project into units of functionality that you can independently build, test, and debug.
MongoDB Atlas
MongoDB Atlas is a fully-managed cloud database developed by the same people that
build MongoDB. Atlas handles all the complexity of deploying, managing, and healing your
deployments on the cloud service provider of your choice (AWS, Azure, and GCP).
Mongoose
Mongoose is an Object Data Modelling (ODM) library for MongoDB. It manages relationships
between data, provides schema validation, and is used to translate between objects in code and the
representation of those objects in MongoDB. MongoDB is a schema-less NoSQL document
database.
Processor Intel i5
RAM 8 GB
Hard Disk 1 TB
Device Smartphone/Tablet
RAM 4 GB or above
Speed 1.1GHz or above
4.1 USERS
Register and Login: The space providers has to register first with the application and then
van login to the application to add the infrastructure.
Infrastructure and Facility details: The space providers can add the infrastructure and also
the features of the workspace.
Booking: Workspaces which are being booked by the users can be known to the provider
under whom the infrastructure is being added.
Payment: When the user completes his payment the information regarding payment
completion is known by the space provider when the workspace is being booked by the
user.
Register and Login: The space users has to register first with the application and then can
login to the application.
Search for Workspace: After logging in the users can see number of workspaces from
which there convenient place can be booked.
Reserve the Workspace: The space user can reserve the workspace by paying the small
amount.
Booking requirements with facilities required: The space user can book the workspace
based on the requirements which they are in need of and also with the facilities which
they needed.
View Bookings: The space user can see the number of booking done by him under the
section named as view bookings in the application.
4.3.1 Security
The information of the users in this application are secured.
4.3.2 Reliability
The application is reliable and is user-friendly.
4.3.3 Performance
The application load time is less.
4.3.4 Availability
The application is available 24*7 with internet connection
5. SYSTEM DESIGN
A system architecture is the embodiment of concepts and the distribution of the correspondences
between the functions of things or information and formal elements. It defines the relationships
among elements as well as between elements and the surrounding environment.
The above diagram is the architecture diagram related to the application Co Space. The application
has two users space provider and space user. Both the users will interact with the application and
both the users has some major functionalities as mentioned in the above diagram.
A data-flow diagram is a way of representing a flow of data through a process or a system (usually
an information system). The DFD also provides information about the outputs and inputs of each
entity and the process itself. A data-flow diagram has no control flow, there are no decision rules
and no loops. Specific operations based on the data can be represented by a flowchart.
The above diagram shows the level 0 of the data flow diagram of the application. It represents how
the data is being processed between the users and the application.
The above diagram represents the level 1 data flow diagram of the application. It represents how
the user data will be sent to the particular database and in return what data will be sent back to
particular users.
6. DETAILED DESIGN
Activity diagram is another important diagram in UML to describe the dynamic aspects of the
system. Activity 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. Activity
diagrams deal with all type of flow control by using different elements such as fork, join, etc.
The above diagram represents the activities related to the space provider in the application.
The above diagram represents the activities related to the space user in this application.
7. IMPLEMENTATION
7.1.1 user.controller.js
// Register
router.post('/', (req, res) => {
let {mobile_number, name, email, password, organization_name} = req.body;
Users.findOne({
mobile_number: mobile_number
})
.exec((err, doc) => {
if (err) {
return MongooseErrorHandle(err, res);
}
if (doc) {
return handleError(409, 'User already exists', res);
}
let new_user = new Users({
name: name,
mobile_number: mobile_number,
email: email,
organization_name: organization_name,
password: encrypt(password)
});
new_user.save((err) => {
if (err) {
return MongooseErrorHandle(err, res);
}
return response(200, {user_id: new_user._id}, res);
})
})
});
// update profile
router.put('/profile/:user_id', (req, res) => {
let {user_id} = req.params;
Users.findOneAndUpdate({
_id: user_id
}, req.body
).exec((err, doc) => {
if (err) {
return MongooseErrorHandle(err, res);
}
return response(200, 'Profile updated', res);
})
})
// Login
router.post('/login', (req, res) => {
let {email, password} = req.body;
Users.findOne({
email: email
})
.exec((err, doc) => {
if (err) {
return MongooseErrorHandle(err, res);
}
if (!doc) {
return handleError(403, 'User not found', res);
}
module.exports = router;
7.1.2 venue.controller.js
var express = require('express');
var venues = require('../models/venue.model');
var {response, handleError, MongooseErrorHandle} = require('../utils/response.util');
var {encrypt, compare} = require('../utils/crypto/hash.util');
}
if (doc) {
return handleError(404, 'Phone Number Already exist', res);
}
let new_resource = new venues(req.body);
new_resource.save((error) => {
if (error) {
return MongooseErrorHandle(error, res);
}
return response(200, {venue_id: new_resource._id}, res);
})
})
});
// Get all
router.get('/', (req, res) => {
let query = {};
venues.find(query, '-password')
.exec((err, list) => {
if (err) {
return MongooseErrorHandle(err, res);
}
return response(200, list, res);
})
});
// Login
router.post('/login', (req, res) => {
let {mobile_number, password} = req.body;
venues.findOne({
mobile_number: mobile_number
})
.exec((err, doc) => {
if (err) {
return MongooseErrorHandle(err, res);
}
if (!doc) {
return handleError(403, 'venue not found', res);
}
if (!compare(doc.password.hash, doc.password.salt, password)) {
return response(403, 'Either mobile_number or password is invalid', res)
}
delete doc.password;
let resp = {
_id: doc._id,
name: doc.name,
address: doc.address,
mobile_number: doc.mobile_number,
area: doc.area
}
return response(200, resp, res)
})
});
module.exports = router;
7.1.3 features.controller.js
// Get all
router.get('/', (req, res) => {
let {venue_id} = req.query;
let query = {};
if (venue_id) {
query.venue_id = venue_id;
}
features.find(query, '-password')
.exec((err, list) => {
if (err) {
return MongooseErrorHandle(err, res);
}
return response(200, list, res);
})
});module.exports = router;
7.1.4 sub_features.controller.js
// Get all
router.get('/', (req, res) => {
let {venue_id} = req.query;
let query = {};
if (venue_id) {
query.venue_id = venue_id;
}
sub_features.find(query)
.populate('venue_id', '-password')
.exec((err, list) => {
if (err) {
return MongooseErrorHandle(err, res);
}
return response(200, list, res);
})
});
module.exports = router;
7.2 SCREENSHOTS
This is the user login page where the user can enter the credentials to access the application
This is the user registration page for the new users and here they can give all the details and can
login to the application
This is the profile which is shown to the users who gets login to the application
This is the home page in the application after the user gets logged in to the application
7.2.5 Features
This is the page which shows the facilities provided by the provider
This is the page where the user can select the sub features required
7.2.7 Payment
This is the page where the user can do the payment after selecting the workspace
7.2.8 Bookings
This page is for space provider login and after entering the credentials the application can be
accessed
This page is used to register the workspace and for the space provider registration
This page is used to add the sub features present in the workspace
This page shows the added sub features and the price
7.2.13 Bookings
This page shows the bookings done by user for particular workspace
8. TESTING
8.1 MANUAL TESTING
Test Verifying by giving invalid Username and password / with empty username and
Scenario password fields.
1
Step Step Details Expected Actual Pass/Fail/Not
Results Results Executed/
Suspended
1 Navigate to Co Space Application Navigated to Pass
application/login Should Open the
Application
2 Wrong username/password is Credential can Credentials Pass
entered or empty fields be entered are accepted
3 Click on Login Login failure Incorrect Pass
Username /
password
entered
Test Verifying by giving invalid mobile number and password / with empty mobile
Scenario number and password fields.
2
Step Step Details Expected Actual Pass/Fail/Not
Results Results Executed/
Suspended
1 Navigate to Co Space(Provider) Application Navigated to Pass
/login Should Open the
Application
2 Wrong mobile number Credential can Credentials Pass
/password is entered or empty be entered are accepted
fields
3 Click on Login Login failure Incorrect Pass
mobile
number/
password
entered
9. CONCLUSION
APPENDIX A
BIBLIOGRAPHY
WEB REFERENCES
https://developer.android.com
https://mongoosejs.com/docs/
https://stackoverflow.com/questions
https://nodejs.org/en/docs/
BOOK REFERENCES
APPENDIX B
USER MANUAL
9 %
SIMILARITY INDEX
7%
INTERNET SOURCES
0%
PUBLICATIONS
4%
STUDENT PAPERS
PRIMARY SOURCES
1
programmerblog.net
Internet Source 1%
2
Submitted to Softwarica College Of IT & E-
Commerce
1%
Student Paper
3
en.wikipedia.org
Internet Source 1%
4
desgemini.com
Internet Source 1%
5
Submitted to Rajarambapu Institute of
Technology
1%
Student Paper
6
Submitted to Federation University
Student Paper <1 %
7
Submitted to Kolej Poly-Tech MARA Kuala
Lumpur
<1 %
Student Paper
8
Submitted to Visvesvaraya Technological
University, Belagavi
<1 %
Student Paper
9
trap.ncirl.ie
Internet Source <1 %
10
Submitted to University of Debrecen - CN-
206362
<1 %
Student Paper
11
www.emo.org.tr
Internet Source <1 %
12
www.slideshare.net
Internet Source <1 %
13
Submitted to Amity University
Student Paper <1 %
14
Submitted to University of East London
Student Paper <1 %
15
www.coursehero.com
Internet Source <1 %
16
www.plcsystems.ru
Internet Source <1 %
17
git.kpi.fei.tuke.sk
Internet Source <1 %
18
www.bookmysawari.com
Internet Source <1 %