Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SUBMITTED BY:
BIKRAM KOJU
SUBMITTED TO:
Texas International College
Department of Computer Science & IT
Mitrapark, Chabahil, Kathmandu
March 2018
Date: ----------------------------
---------------------------------------
Supervisor
Head of Department
i
Date: ----------------------
------------------------------
Mentor
CTO
Impact IT
ii
CERTIFICATE OF APPROVAL
The undersigned certify that they have read and recommended to the Department of
Computer Science & IT for acceptance, a project report entitled “KaKaaKi”
submitted by “Bikram Koju (3625/070)” for partial fulfilment for the degree of
Bachelor of Science in Computer Science and Information Technology.
…………………………….. ……………………………..
……………………………..
CTO
Impact IT
iii
ACKNOWLEDGEMENT
Bikram Koju
iv
ABSTRACT
v
Table of Content
vi
4.1.1 Why Prototype Model ...................................................................................... 17
4.2 Testing ........................................................................................................................ 18
4.2.1 Unit Testing ..................................................................................................... 18
4.2.2 Integration Testing ........................................................................................... 18
4.2.3 System Testing ................................................................................................. 19
4.3 Test Case: ................................................................................................................. 19
CHAPTER 5: CONCLUSION & RECOMMENDATION .........................................22
5.1 Conclusion: .............................................................................................................. 22
5.2 Recommendations .................................................................................................... 22
References and Bibliography .......................................................................................24
References ............................................................................................................................ 24
Bibliography ........................................................................................................................ 24
Appendix ......................................................................................................................25
Snap Shots............................................................................................................................ 25
vii
List of Figures
viii
List of Tables
ix
Abbreviations
x
CHAPTER 1
INTRODUCTION
1.1. Introduction
KaKaaKi is a free cross platform which is an umbrella campaign for almost every
schools in Nepal to bring under one umbrella of techno institutionalization.
KaKaaKi is designed to cover the in depth functionalities of any Educational
Institute, from the perspective of various users carrying different roles and
responsibilities such as Principal, Management, Staffs, Teachers, Students and
Parents. All the data is managed in a time sensitive manner along with the data
protection policies agreed with our clients, so whenever required, the exact
information can be re produced as it is.
Kakaaki would be the best school app to download at current perspective because
it has:
User friendly control panel which is very easily managed by every class
teachers.
Timely updates of each student's information.
Guardian can easily know the progress and updates of school in a click on
their mobile.
School Calendars, Activities, Exam Routines and Announcements which can
be easily notified to everyone related.
Comprehensive online database for school, which can easily systematize
student's information, accounts detail, teacher's information and almost every
customized service.
24/7 support team, which will be there for you to solve every single issue
faced by you during the operation of the app.
1
biggest and most complicated problems. They incorporate best practices like
collaboration, feedback, transparency identifying requirements for a complete
solution. Impact IT services are offered both on and offshore, and delivered with
pride and passion. Impact IT‟s brilliance in service providing is exemplified by
the satisfaction of our most valuable clients.
The internship carries six credit hours in the VIII semester of Bachelor of Science
in Computer Science and Information Technology. The internship program is
designed to provide students engaged on the job training. It is a great opportunity
that provides us in-depth understanding about the field, market exposure and help
to recognize the potential career opportunities. It is a good platform for students to
apply their sound academic knowledge and skills gained in college in real world
applications. The following table highlights the internship duration schedule:
Particular Time
Start Date of the Internship August 17, 2017
End Date of the Internship January 12, 2018
Total duration 21 weeks
Position Mobile App Developer (Android)
Mentor Er. Arun Kumar Raut
Supervisor Mr. Shankar Pd. Sharma
Office Hour 10am to 6pm
Working Hour 8 hours per day
Working Days 6 days per week
Holiday Saturday
1.2. Objectives
An internship provides a variety of benefits to learn, improve and develop new
sets of skills, gain experience and know how exactly the real organization
works[1]. The main objectives of internship are:
2
To observe the business model of the organization.
To observe what skills are required to work in the field of technology.
To strengthen our professional skills and interpersonal relationships in
professional settings.
To introduce our potential future work environments so that we can decide
whether these meet career wishes and interests.
To learn about how the designed system and software works and how the
organization deal with the customer and how they provide the services.
To increase student earning potential upon graduation.
The major task of my five month intern period was to develop a system named
“KaKaaKi". It was developed in Web, IOS and Android platform and my portion
is Mobile Application Development for Android Platform. Here Firebase, has
been also introduced which is used as cloud messaging platform with tools and
infrastructure designed to help developers build high quality applications.
After joining the office at first, video tutorials of android application development
was given to study. After that, the applications, owned and developed by the
company were given to learn. When I was new to the organization, I was unaware
about the organization‟s structure and the models that are being used for the
development. The senior developing team of the company had given task to study
the system that the organization is following so that I can work in a team.
After learning the basic step of application development, a simple task was
assigned, to develop the map application using Google Map. After the completion
of this simple task I was assigned to design the UI part of the application
“KaKaaKi”. Along with the development of this application I had also learned
and applied firebase cloud messaging service for push notification.
1.4. Motivation
The four year degree of BSc. CSIT allows us to attain knowledge on various
aspects of Computer Science and Information Technology. After studying for
about three and half years, lots of theoretical knowledge was acquired. At the
3
same time, the internship is the one of the major highlight of the program to
expose the students to the professional world. According to the requirement of the
course, an organization should be chosen by students for internship [2]. It is the
opportunity to gain practical knowledge and experience in real life working
environment of an organization. Hence, as my interest I choose the internship
program of Impact IT.
Report Organization
Title Page
Recommendation Letter
Letter of Approval/Certificate
Acknowledgements
Abstract
Table of Content
Main Body
References / Bibliography
Appendix
4
CHAPTER 2
SYSTEM ANALYSIS
5
Figure 3: Use case diagram for Managing Requests
6
Figure 5: Use case diagram for Managing Users
2.2.2 Non-functional Requirement
A non-functional requirement is a qualitative requirement for a product,
service, system, process, document, location, infrastructure component or
facility. The following are examples of non-functional requirements in our
system:
Ambience
Availability
Appearance
7
Reliability
Weight
It is a light and portable application used in most for most of the android
systems.
Speed
Architecture
Feasibility study is made to see if the project on completion will serve the
purpose of the organization for the amount of work, effort and the time that spend
on it. Feasibility study lets the developer foresee the future of the project and the
usefulness. A feasibility study of a system proposal is according to its
workability, which is the impact on the organization, ability to meet their user
needs and effective use of resource.
The document provide the feasibility of the project that is being designed and its
various areas that were considered very carefully during the feasibility study of
this project such as Technical, Economical and operational feasibilities.
8
based on an outline design of the system requirement in the terms of input,
output, programs and procedures. The project is developed within latest
technology. Through the technology may become obsolete after some period of
time, due to the fact that newer versions of same software supports older
versions, the system may still be used. This project does not require the users
having technical background. Users having minimum technical knowledge can
use its mobile application and the web applications. The system has been
developed using technologies like PHP, JavaScript, Ajax, HTML, and CSS
Studio as the main development tool according to client‟s specification.
Firebase, a cloud real time system is chosen to be as the real time notification
provider of the application, due to its flexibility and reliability.
9
The primary focus of the project is to provide information to the potential users.
The user should be familiar with using the application. The user needs to login
into the application first. And they can directly browse the modules in the
applications.
A project will fail if it takes too long to be completed before it is useful. Typically
this means estimating how long the system will take to develop, and if it can be
completed in a given time period using some methods like payback period.
Schedule feasibility is a measure of how reasonable the project timetable is.
10
CHAPTER 3
SYSTEM DESIGN
11
Figure 6: Database Schema Design
12
3.2 Process Design
13
messages exchanged between the objects needed to carry out the functionality of
the scenario. Sequence diagrams are typically associated with use case realizations
in the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes
or objects that live simultaneously, and, as horizontal arrows, the messages
exchanged between them, in the order in which they occur. This allows the
specification of simple runtime scenarios in a graphical manner.
14
notifications and settings. While scrolling left to right or vice versa an automatic
request is made to the server and the server check for new updates in data. If any
changes in data are found then they are send to user and refreshed in customer
view automatically, if there is no any changes in data then same previous data
are loaded from local storage of device.
Parents
15
Figure 10: Functional Partitioning of Parent
System
The functions of system are:
1. Manage both Student and Teacher information
2. Provide necessary data via API
16
CHAPTER 4
1. Java
Java is a general purpose computer programming language that is concurrent,
class-based, object-oriented, and specifically designed to have as few
implementation dependencies as possible.
2. XML
Extensible Markup Language (XML) is a markup language that defines a set
of rules for encoding documents in a format that is both human-readable and
machine-readable.
3. Android Studio
Android studio is the official IDE for Google‟s Android Operation system,
built on jetBrains‟s Intelij IDEA software and designed specifically for
Android development.
4. SQLite
SQLite is a popular choice as embedded database software for local/client
storage in application software. It is arguably the most widely deployed
database engine, as it is used today by several widespread browsers, operation
systems, and embedded systems.
The desired system needs to have a lot of interaction with the end users.
The system needs constant interaction with end users, so best suited for
Prototype model. It might take a while for a system to be built that allows ease
of use and needs minimal training for the end user.
17
Prototyping ensures that the end users constantly work with the system and
provide a feedback which is incorporated in the prototype to result in a useable
system.
4.2 Testing
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software testing
can also provide an objective, independent view of the software to allow the
business to appreciate and understand the risks of software implementation. Test
techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs (errors or other defects) [5].
Software testing can be stated as the process of validating and verifying that a
software program/application/product:
As there was no automated software testing software available all the tests were
performed manually. Software testing is more than just debugging. The purpose of
testing can be quality assurance, verification and validation, or reliability
estimation.
18
Integration testing can expose problems with the interfaces among program
components before trouble occurs in real-world program execution. Integration
testing is a component of Extreme Programming (XP), a pragmatic method of
software development that takes a meticulous approach to building a product by
means of continual testing and revision. The purpose of this level of testing is to
expose faults in the interaction between integrated units. Test drivers and test
stubs are used to assist in Integration Testing.
S.N Test case Test case Test case Step Expected Actual Test
. id name desc result Result case
status
pass/fail
1 Login Validate To verify Enter the Login Login Pass
User login that login login successful successfu
Email & email and or an error l
password password message “In
on login and click valid email
page login or password”
button must be
displayed
19
2 Login Validate To verify Enter the Login Login Pass
Admin login that login login successful successfu
Email & email and or an error l
password password message “In
on login and click valid email
page login or password”
button must be
displayed
3 Password Validate To verify Enter An error An error fail
password that password message message
password and login “password “passwor
on login name invalid” must d invalid”
page click be displayed must be
login displayed
button
S.N. Test case Test case Test case Step Expected Actual Test
id name desc result Result case
status
pass/fai
l
1 Create Validate To Nothing An error Inserted Pass
Parents allocation allocate entered message successf-
details form separate and customer ully
customer click name not
email submit equal to null
and type button must be
for the displayed
customer
20
2 Create Validate To Nothing An error Inserted Pass
admin allocation allocate entered message successf
details form separate and admin ully
email click details
and submit email not
type for button equal to null
the must be
admin displayed
3 Create Validate To Nothing An error Inserted Pass
Academ allocate verify entered message successf
y table academy that data and company ully
allocation stored on click details
form database submit slug not null
button must be
displayed
4 View Check To Generat An error An error failed
details of verify ed message message
all data that data return null return
stored on will be null will
database displayed be seen
21
CHAPTER 5
5.1 Conclusion:
Internship gives the opportunity to grab the professional experience. This
internship program uplifted my skills and knowledge and gave me the opportunity
to work in the professional team. Another major thing that I learned is time
management and work management.
With this internship opportunity, I have gained much more insight into the web
development. This internship opportunities has help me gain the practical
knowledge required to implement the theoretical information obtained. I gain the
knowledge about the difference between the real world scenario and the college
level. The internship in Impact It PVT. LTD. has provided a great opportunity to
enhance knowledge and skills. It helped author to gain the experience of working
in real and practical field and most importantly working in team. Moreover, it
presented an opportunity to work in the project related to author interest and
specialization. The main objective of the internship is learning the things that is
necessary to get yourself into the real field of work. This internship has enhanced
author knowledge and skills. It has given author the opportunity to understand this
industry and how the work is actually done.
5.2 Recommendations
The "KaKaaKi" system should be in accordance with the expectations of users so
that it can be an effective instrument of defining for the customers the nature of
service provision and explicit standards of service delivery. For this, it is essential
to maintain a super administrator who can manage and govern all the information
provided in the application by administrator of the respective organization.
The application doesn't have all features of school management system. Also, the
real time database should be maintained in order to post the applications of
students like leave applications, general feedback letter to school etc. It may give
the reliable mode to earn trust of the parents.
22
And, the application being developed will be better if there was a feature to
provide parent‟s conversation to the school, and could make the conversation
through chat.
23
References and Bibliography
References
[1] Ohio State University. “Definition of Internship”. Internet:
http://polisci.osu.edu/sites/polisci.osu.edu. Jan 22, 2013 [Jan 23 2014].
[2] Kumar, Ranjit, 2005, Research Methodology-A Step-by-Step Guide for
Beginners, 2nd Edition, Singapore, Pearson Education
[3] “8th Semester Syllabus”. Internet: www.csitnepal.com. [Nov 03 2013].
[4] Somerville, Ian (2000).Software Engineering, 6th edition, Pearson
Education.
Bibliography
Ian Somerville „Software engineering‟ 7th Edition
24
Appendix
Snap Shots
25
Figure 14: Kakaaki Landing page Specification Section
26
Figure 16: Kakaaki Mobile App Login View
27
Figure 18: Kakaaki App Teacher Dashboard
28