Professional Documents
Culture Documents
Biratnagar, Nepal
On
At
Submitted To:
Submitted By:
1
In partial fulfillment of the requirement for a Bachelors’ degree in Computer Science
and Information Technology.
SUPERVISOR’S RECOMMENDATION
I hereby recommend that this project prepared under my supervision by Rahul Soni
entitled “Achievers Consultancy Limited (ACS) - An Android Application” in partial
fulfillment of the requirements for the degree of B.Sc. in Computer Science and
Information Technology is processed for the evaluation.
……………..…….
Er. Dhiraj Jha
Internship Supervisor
2
CERTIFICATE OF APPROVAL
This is to certify that this internship report prepared by Rahul Soni, entitled
“Achievers Consultancy Limited (ACS) - An Android Application” in the partial
fulfillment of the requirements for the degree of B.Sc. in Computer Science and
Information Technology has been well studied. In our opinion, it is satisfactory in the
scope and quality as a project for the required degree.
___________________________ ___________________________
___________________________ ___________________________
Campus Chief,
3
4
ACKNOWLEDGEMENTS
The satisfaction and exhilaration that accompany the successful and fruitful
completion of any assignment would be incomplete without mentioning the names
of people who made it possible, whose constant guidance and encouragement
crown all efforts with success.
I would like to thank Technol Solutions for providing me with an opportunity to learn
and broaden my knowledge. I would also like to thank Mr. Bikkey Agrawal and Mr.
Sant K. Sharma for guiding me throughout my internship period. And lastly, I would
like to thank all the members of the company who helped me in every possible way
and provided guidance and support during this internship.
Sincerely,
Rahul Soni (11541/073)
5
ABSTRACT
This is the age of Information Technology where new technologies and computerized
systems have simplified our life. Thus, the app aids in the implementation of the
technology to make communication easier. It is an example of better utilization of
the available technologies.
6
TABLE OF CONTENTS
SUPERVISOR’S RECOMMENDATION 2
CERTIFICATE OF APPROVAL 3
ACKNOWLEDGEMENT 4
ABSTRACT 5
LIST OF FIGURES 8
LIST OF TABLES 9
ABBREVIATIONS 10
CHAPTER 1 - INTRODUCTION 11
1.1. Background 11
1.3. Objectives 12
1.7. Motivation 14
7
2.4.1. Technical Feasibility 21
4.1. Implementation 26
4.2. Testing 27
CHAPTER 5 - CONCLUSION 29
APPENDIX 31
8
LIST OF FIGURES
9
LIST OF TABLES
10
LIST OF ABBREVIATIONS
IT Information Technology
11
CHAPTER 1
INTRODUCTION
1.1 Background
12
1.2 Problem Statement
Lack of proper communication has made ACS lose multiple possible clients in
the past. Also since most of the students don’t know about the companies
offices and operations, they never reach them. The team at ACS wanted to
develop an application that could overcome this problem to improve their
overall presence and eventually increase the number of clients.
1.3 Objective
They are a team of highly motivated developers and professionals aiming to solve
real-world problems through programming.
13
Table 1.1 Internship Details
14
1.6 Responsibilities Assigned
This internship program gave insight into the job and the chance to meet
professional developers. It presented an excellent opportunity to work on a real-
world project with various tasks assigned. The major roles and responsibilities
assigned as an intern at Technol Solutions are as follow:
a) Database Designer:
b) Front-End Developer:
1.7 Motivation
Mobile application development can be developing the simplest static single screen
application to the most complex API-based Internet applications and social network
services. For tools and platforms, many open source technologies were used to aid in
application development. This has also kept the learning application development
cost to a minimum.
With mobile applications developed, any business can increase its reach to a
personal level. Different applications for different operating systems (Android, iOS)
15
are being developed for the global reach of the applications. These mobile
applications allow businesses to create brand awareness and loyalty amongst a huge
number of existing and potential customers. Many customers now expect a business
or brand to have a dedicated mobile application. A mobile application is a need for
any business to meet its goals.
This report is separated into different chapters for proper readability and
organization. The second chapter consists of System Analysis which deals with
requirement collection, functional and non-functional requirements, and feasibility
study of the system to analyze how different factors can affect the development of a
project. The third chapter describes the System Design under architectural design
and process design. The fourth chapter fully deals with the implementation method;
the fifth consists of all the testing of the project. And the last chapter contains the
Conclusion and Lessons learned.
16
CHAPTER 2
SYSTEM ANALYSIS
17
functioning of the system. System Requirement states about the hardware and
software required by generating a view of the overall system.
The functional requirement specifies the system's behavior in connection with the
functionality of the system. Some of the functional requirements of the proposed
system are as follows:
● A user must be able to create an account and log into the application.
● A user must be able view the exact location of the offices on a map
● A user must be able to see the members involved in the organization
● A user must be able to view data related to colleges and courses offered by
them
● A user must be able to chat with the staff members.
18
Figure 2.1: Use Case Diagram of ACS
19
Use Case Identifier UC-1 View location
Secondary Actor
Secondary Actor
20
Table 2.2 View College Data
The non-functional requirement specifies criteria that can be used to judge the
operation of a system, rather than specifies behavior. The non-functional
requirement elaborates on a performance characteristic of the system. Some of the
non-functional requirements of the proposed system are:
● Interface: The application’s user interface is simple and easy to use. Users
can easily navigate through the application.
● Usability: Users can get all the required information from the application
with the help of the Internet connection.
● Accuracy: The system has been able to reach the desired level of accuracy.
The feasibility study had been carried out to check the system's working ability. It
tests the proposed system according to its ability to meet the needs of the user and
to use the resources effectively.
21
2.4.1 Technical Feasibility
It refers to the ability of the process to make use of the current state of the
technology for the further refinement of the project. The technical capabilities of the
personnel should be considered along with the available technology. The technology
must be analyzed to understand the loss or gain of productivity due to the
differences.
The required hardware for the project is a laptop & mobile phones that is easily
available on the market. This project is therefore technically feasible. The project is a
mobile-based build with Android Framework, a best-in-class framework for building
user interfaces provided by google.
The feasibility study includes an economic analysis for both the developing and
deploying systems of the project. The project is economically feasible as the backend
used is provided by Firebase for free upto a certain limit. This limit is enough for the
proper functioning of the application.
The front-end application design and development was done using Android XML and
java. This affects the schedule feasibility of the project and would take more time for
the development of the project. It was therefore developed according to the project
schedule and implemented at the given time.
Operational feasibility asks whether the system will work when it is fully developed
and installed. The user can use this system more enthusiastically as the system is
user friendly. For the operational viability of the proposed project, the following
points were taken into account:
22
● The proposed project won't cause any harm.
● The application has a low operational cost which makes it easily affordable.
● The application has a user-friendly user interface.
23
CHAPTER 3
SYSTEM DESIGN
The user requests the consultancy’s data through a mobile application from a device
for current data and from the server for historical data. The user interacts with the
device which in turn makes a request to the firebase server and gets the required
data as response. The server stores all the device data and makes it available to
users through API calls in the application.
24
3.2 Process Design
The above diagram represents the flowchart that shows the working of the
application. The application loads the register screen for new users and login screen
for registered users. After the successful login, the home screen is displayed and can
be navigated to another screen through the tab button. If the user suddenly closes
the application, then it simply stays in a suspended state in the background. While
25
the application is in the background it does not perform any task. When brought in
the foreground the application resumes from the last state.
26
CHAPTER 4
4.1 Implementation
ACS android application was developed using Android Framework and the data flow
between application and backend was done through APIs. Different java libraries
such as Google Maps, Firebase Firestore, ect were used to make the app easy and
simple to use.
Data Transformation
The communication between the device and application is carried out using the
JSON data format. JSON is a lightweight data-interchange format. It is easy for
humans to read and write. It is easy for machines to parse and generate. It is based
on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition
- December 1999. (Introducing JSON)
The application sends data requests in JSON and receives a response in JSON format
as well.
For the development of the application, the following tools were used.
● Android Studio
● draw.io
● Android emulator
The development method that had been adopted in the development of this project
is the Waterfall Development Method.
27
Figure 4.1: Waterfall Development Model
4.2 Testing
Testing is a software testing practice to test mobile applications or other software for
potential bugs. It is a complete testing of an application before deploying it. An
application needs to be checked completely from end-to-end before it is made
available for end-users. From the theories of Software Engineering (SE), we know
that Unit testing or Module testing does not guarantee that, when these modules
are integrated, it will provide similar reliability to the system.
There might arise compatibility issues or change in data formats while the react-
native data during component integration.
28
4.2.1 Unit Testing
Unit testing is testing the functionality of an individual unit or group of related units
required for an application. For ACS, the units such as maps screen, college data
query module and chat module were tested separately.
The Integration testing part of a testing methodology is the testing of the different
modules/components that have been successfully unit tested when integrated to
perform specific tasks and activities. After integrating the components through
navigational links tests were performed which showed satisfactory reports.
System testing is done with full system implementation and the environment. The
system is tested as per requirements in system testing. System testing was used to
test the overall interaction of components. The proposed system was also tested
using this technique to make our project more reliable. In this phase, the overall
system was tested and the results were verified.
29
CHAPTER 5
CONCLUSION
30
REFERENCES AND BIBLIOGRAPHY
31
APPENDIX
32
33
34