You are on page 1of 34

Himalaya Darshan College

(Affiliated to Tribhuvan University)

Biratnagar, Nepal

A Final Year Internship Report 

On

“Achievers Consultancy Limited (ACS) - An Android Application” 

At

Technol Solutions Pvt. Ltd.

Submitted To:

Department of Computer Science and Information Technology

Himalaya Darshan College 

Submitted By:

Rahul Soni (11541/073)

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.

___________________________ ___________________________

Er. Dhiraj Jha Er. Sumit Babu Shah


Internship Supervisor
Head of Department,

Department of Computer Science and IT

Himalaya Darshan College

___________________________ ___________________________

External Examiner Bharat Sapkota

Campus Chief,

Himalaya Darshan College

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 express my sincere gratitude to Tribhuvan University for including an internship as


part of the curriculum. This provided me with an opportunity to apply the knowledge
that I gained in college to a professional environment.

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

The project on “Achievers Consultancy Limited (ACS)” is an Android Application


designed and developed for Achievers Consultancy Pvt. Ltd, Biratnagar. The app aims
at providing easy informative and communicative access to ACS pvt. ltd. The app
provides all the information related to ACS pvt. ltd. including but not limited to
courses offered, colleges partnered, staff members and location of each office of
ACS. The major feature of this app is the chat module, where customers of ACS can
easily chat with the staff members of the company and get their queries resolved as
quickly as possible.

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.

Keywords: android, app, information technology, internship

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.2. Problem Statement 12

1.3. Objectives 12

1.4. Introduction to Organization 12

1.5. Internship Details 13

1.6. Responsibilities Assigned 14

1.7. Motivation 14

1.8. Report Organization 15

CHAPTER 2 - SYSTEM ANALYSIS 16

2.1. Literature Review 16

2.2. Requirement Collection 16

2.3. System Requirements 17

2.3.1. Functional Requirements 17

2.3.2. Use-Case Diagram 18

2.3.3. Non-Functional Requirements 19

2.4. Feasibility Study 20

7
2.4.1. Technical Feasibility 21

2.4.2. Economic Feasibility 21

2.4.3. Schedule Feasibility 22

2.4.4. Operational Feasibility 22

CHAPTER 3 - SYSTEM DESIGN 23

3.1. System Architecture 23

3.2. Process Design 24

CHAPTER 4 - IMPLEMENTATION AND TESTING 26

4.1. Implementation 26

4.1.1. Tools Used 26

4.1.2. Development Methodology 26

4.2. Testing 27

4.2.1. Unit Testing 27

4.2.2. Integration Testing 27

4.2.3. System Testing 28

CHAPTER 5 - CONCLUSION 29

REFERENCES AND BIBLIOGRAPHY 30

APPENDIX 31

8
LIST OF FIGURES

Figure 2.1: Use Case Diagram of ACS 18


Figure 3.1: Flowchart 24
Figure 4.1: Waterfall Development Model 28

9
LIST OF TABLES

Table 1.1: Internship Details 3


Table 2.1: View Location 19
Table 2.2: View College Data 19

10
LIST OF ABBREVIATIONS

API Application Programming Interface

HTML Hypertext Mark-up Language

IT Information Technology

XML Extensible Markup Language

JSON JavaScript Object Notation

GCS Google Cloud Services

11
CHAPTER 1

INTRODUCTION

1.1 Background

An Internship is a structured work experience related to a student’s major and/or


career goal. An experience should enhance a student’s academic, career, and
personal development. It is an involvement closely aligned with the student’s major
and arranged with an employer who believes it is desirable to aid in the training and
education of the student. It is of short duration, typically three to four months,
through direct personal contact hours or a training program, and to aid the intern in
developing a summary report of his/her experience.

Achievers Consultancy Services is an elite consultancy firm which provides students


with college and career-related counselling. ACS Nepal established in 2013, is
registered under the office of the company registrar, It is approved by the Ministry of
Education, Nepal & member of Educational Consultancy Association of Nepal (ECAN).
Since 2013 it has been mainly focusing on Indian education.

Achievers Consultancy Limited (ACS Nepal) is an Android Application designed and


developed for Achievers Consultancy Pvt. Ltd, Biratnagar. The app aims at providing
easy informative and communicative access to ACS pvt. ltd. Through ACS Nepal app
now users will be able to access the services provided by ACS on one touch and
reach out to the company for all education-related queries very easily. The app
provides easy directions to the users using Google Maps, so that they can reach the
consultancies headquarters very easily. On top of that, it provides users with access
to the fees and costs of studying different courses across hundreds of colleges
through them. This makes it very easy for students to decide their future college.

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

The main objectives of this application are listed below:

● To provide easy communication to the existing clients.


● To increase new clients by increasing engagement of new users.
● To fetch colleges data and show it to the clients.
● To increase reach of the consultancy

1.4 Introduction to Organization

Technol Solutions is an IT company that consists of several professionals in the field


of programming, graphic designing, web development, application development,
and IOTs. They are a team of electrical and computer engineers exploring new
technologies. They believe in providing cost-effective and reliable services to their
clients with their highly skilled team members.

They are a team of highly motivated developers and professionals aiming to solve
real-world problems through programming.

1.5 Internship Details

As per the requirement of Tribhuvan University, the internship period was of 3


months. The details are as follow:

13
Table 1.1 Internship Details

Technol Solutions Pvt. Ltd.


Organization
Biratnagar

Mentor’s Name Sant K. Sharma

Mentor’s Designation Co-founder

Position Android Developer

Total Duration 16th May 2021 - 19th August 2021

Office Hour 8 hours (10 AM - 6 PM.)

Office Days 6 days (Sunday - Friday)

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:

As a Database Designer, I was responsible for creating databases for storing


the college’s information such as their location, courses offered and meta
data related to those courses such as fees and duration. For the database,
firebase database was used as it is one of the most cheap and simple solution
for our use case.

b) Front-End Developer:

As a front-end developer, Android Framework was used to develop the front-


end section for the mobile application. Java and XML were the main
technologies that were implemented.

1.7 Motivation

The selection of an organization is very important to meet one's knowledge, skills,


and interests. The organization, if chosen wisely, provides real-world experience,
trends, and technologies in the field of interest. The team members were supportive
during the internship period.

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.

1.8 Report Organization

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

2.1 Literature Review


Educational consultancies are very important for students who are looking to pursue
quality education, especially for a developing country like Nepal. However because
of lack of marketing tools, it becomes very difficult for these consultancies to attract
students and provide them with their services. This is disadvantageous for both the
consultancies as well as the students. 
A smartphone-based application interface with various advanced features such as
location-based data, storage on the cloud, integration with Google map for quick
navigation and many more have been introduced. A mobile application with such
features can help to expand the reach of a new or an existing consultancy to new
students. The technology can allow students to quickly communicate with the
consultancy and resolve any query they have.

2.2 Requirement Collection

Requirement collection is an important part of developing any system. How the


system will look and what it should do is described with the help of it. Requirement
collection describes the software and hardware development process and contains
information about how an application should be. This phase thus determines the
overall outlook of the system that will be developed.

2.3 System Requirements

System Requirement provides a detailed picture of the requirement needed by the


programmer. The data gathered are to be analyzed to gain a sense of the product.
While developing a system, software requirement specification provides a
description of the environment for software development, which helps in the well-

17
functioning of the system. System Requirement states about the hardware and
software required by generating a view of the overall system.

System Requirements may be functional or non-functional moreover both are


essential for software to be successful. The following are Functional and
Nonfunctional requirements that were identified in the system.

2.3.1 Functional Requirements

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.

2.3.2 Use Case Diagram

A use case diagram is a graphical representation of the interaction between the


actor and the element in the system. The diagram simply is the representation of an
actor's interaction with the system and the specific roles played by them. Following
is the use case diagram of ACS application:

18
Figure 2.1: Use Case Diagram of ACS

19
Use Case Identifier UC-1 View location

Primary Actor User

Secondary Actor

Description Show markers on map for the location


of all of the offices.

Pre-Condition Must own a device and must have


internet connection

Post Condition Get location of the offices

Failure Scenario Alert box with an error message

Table 2.1 View location

Use Case Identifier UC-2 View College Data

Primary Actor User

Secondary Actor

Description View partner colleges and courses


offered by them along with each
course’s fee and duration

Pre-Condition Must own a device and must have a


internet connection

Post Condition View partner colleges and courses


offered by them along with each
course’s fee and duration

Failure Scenario Alert box with an error message

20
Table 2.2 View College Data

2.3.3 Non-Functional Requirements

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.

● Maintainability: The maintenance of the application will be done according


to the client’s needs and requirements.

● Performance: The system should perform in terms of valid inputs provided by


the users.

● Accuracy: The system has been able to reach the desired level of accuracy.

2.4 Feasibility Study

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.

The feasibility study is an analysis and evaluation of the proposed project to


determine whether or not the proposed system is sufficiently feasible so that it can
meet the objectives. It evaluates the project’s potential for success. Some of the
feasibility study carried out during the development of the project is as follows:

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.

2.4.2 Economic Feasibility

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.

2.4.3 Schedule Feasibility

Schedule feasibility is the likelihood of a project being completed within its


scheduled time frame and estimating how the system has taken to develop.
Schedule feasibility measures how reasonable the timetable a project has.

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.

2.4.4 Operational Feasibility

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

Systems design is the process of defining the system's architecture, components,


modules, interfaces, and data to meet the specified needs. Systems design is the use
of the system theory for the development of the required product.

3.1 System Architecture

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 flowchart here shows the overall flow of the application.

Figure 3.1: Flowchart

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

IMPLEMENTATION AND TESTING

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.

4.1.1 Tools Used

For the development of the application, the following tools were used.

● Android Studio
● draw.io
● Android emulator

4.1.2 Development Methodology

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

The waterfall Model illustrates the software development process in a linear


sequential flow. This means that any phase in the development process begins only if
the previous phase is complete. In this project after the completion of all the phases,
the system was delivered to the client. Changes were made according to the client's
feedback.

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.

4.2.2 Integration Testing

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.

4.2.3 System Testing

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

The opportunity provided by the Technol Solutions to be part of their development


team as an intern has been enlightening. It gave the opportunity to gain real-world
experience in the software development process by working on a real-world project.
Interaction with the client and gathering software requirements is an important
lesson to be learnt from the internship. It also teaches to be organized and
disciplined to complete the task within the deadline. During the internship period,
the development of an android application, ACS Nepal, helped to develop coding
skills and enhance the learning that has been gained from college classes. It allowed
converting all the theoretical knowledge gained in class into practical work along
with the experience of working with professional developers.

To conclude, this internship opportunity was very beneficial and meaningful as it


gave an opportunity to learn about the different changing trends in the IT world. It
also helped to learn to deal with challenging circumstances including organization
discipline and time management. Thus, the internship program has been helpful in
gaining professional experience, enhancing interpersonal skills, group work, and
communication skills.

30
REFERENCES AND BIBLIOGRAPHY

(2020). Retrieved from GitHub: https://github.com/

(2020). Retrieved from GitHub: https://github.com/googlemaps/

(2020). Retrieved from Firebase: https://firebase.google.com/docs

(2020). Retrieved from Introducing JSON: https://www.json.org/json-en.html

31
APPENDIX

32
33
34

You might also like