Sunteți pe pagina 1din 23

Summer Industrial Training Report

on

CHATINGO
Submitted as a part of course curriculum for

Bachelor of Technology
in

Computer Science and Engineering

Submitted by

DIVYANSHU CHAUHAN
1302910058

Department of Computer Science and Engineering


K.I.E.T. Group of Institutions, Ghaziabad
Dr. A.P.J. Abdul Kalam Technical University,
Lucknow

Contents
1. Acknowledgement

2. Preface
3. Introduction to Industry
4. System Definition, Specification and Investigation
3.1 Introduction
3.2 Definition of Problem
3.3 Requirement Specification
3.4 Investigation
4. System analysis
4.1 Hardware and Software Requirements for Software Design
4.2 Hardware and Software Requirements for Software
Implementation
5. System Design
5.1 Data Modeling
5.2 Process Design
5.3 Intended benefits of prposed system
5.4 Limitation of system
6. Conclusion
7. List of figures
7.1 Context Diagram
7.2 Data Flow Diagram
7.3 New User Registration
7.4 User Login
7.5 Send Message
7.6 Receive Message
7.7 Sending Suscription request and verification
8. Appendix: Abbreviation
9. References

ACKNOWLEDGEMENT
This academic project work has been made with suggestion, guidance & help from many
individuals. I am deeply indebted to those who have contributed in this developmental
study.
Forwarding the vote of thankfulness, I record my appreciation to our esteemed A.P.J.
Abdul Kalam Technical University for having involved all of us students in practical
based syllabus. I would like to sincerely thank our Summer Training supervisor Mr.
SANJEEV KUMAR YADAV for providing his invaluable guidance and advices in
every step of my training and project making. Similarly I would like to acknowledge the
efforts of my trainer for this Summer Training Mr. Yogendra Kumar.
The support of my colleagues and others who helped me directly or indirectly in my
project cannot be forgotten at this juncture.

PREFACE
This report has been drafted in order to fulfill the requirements of the course curriculum
offered by the Department of Computer Science and Engineering, K.I.E.T college
affiliated by A.P.J. Abdul Kalam University.
With the consent of our group members, I had done my project on a Chat Engine for
Android OS. This project is almost complete as I have completed the study phase and
interface design.
I am doing this project for Android OS using Android Development Tools (ADT) in Java
programming language. I strongly believe that by working on this project I will be able to
learn the development process and different components of networking in widely used
mobile based OS Android. I am also strongly willing in using as most features of
networking and database management for Android platform.

Introduction to Industry
Aspirevision Tech Education committed to providing high-quality training to
Engineering Students other IT professionals. It was founded in 2011 by Mr. Abhishek

Singh Rathore & Mr. Ashvini Singh. Aspirevision Tech Education became Pvt. Ltd Firm
in 2015. Aspirevision Tech Education Pvt.Ltd. has its head offices in Kanpur & Corporate
Office in Noida.Aspirevision Tech Education currently offers Summer Training Program,
Winter Training Program & College Campus Training in India.
Aspirevision Tech Education Pvt. Ltd provide online Training for all courses in field
Computer Science Engineering (CSE) & Information Technology (IT) which gives
support to students through year in their project. We provide trainer led live online
training which reduces the cost and time for the students and working professionals.
We are the Learning partner of Microsoft which is one of the biggest brands in IT. The
high level of professionalism and experience of the companys Training staff is a
highlight of the training programs. Our Trainers includes some of Top MNCs developers
& training team and innovators in the field,. All our Training members have extensive
professional experience in the integration of complete technology based approaches in
their respective fields.

System Definition, Specification and


Investigation

Introduction
Android is quickly becoming one of the most popular tools for mobile application
development. It easily provides a range of benefits for mobile application developers. It is
easy to handle and implement. Moreover it is open-source based. The Software
Development Kit facilitated by Android assists the developers to a great extent and one
can start working on applications in an instant.
Mobile phones are now working as pocket fit PCs because of the advent of great userfriendly operating systems like the Googles Android. This platform is based on Linux
Kernel. Applications can be created for the smart phones without any hassle. There is
usually a high ROI involved too. Hence many mobile phone application developers are
coming to the fore and offering services at extremely affordable rates.

Definition of the Problem:


The desired application is supposed to run in an Android application. This application is
intended to facilitate the Instant Messaging between and two Android users. The users
should be able to share not only the normal chat messages and emoticons but Unicode
messages as well. Also the users should be able to communicate with graphical messages
created by their finger tips on the Android screen.

Requirement Specification:
There required specifications of the application to be developed are:
Facilitate Registration of a new user through the application in
desired internet domains.
Support Login to open the users profile that is with the users
particular contact list with the respective username.
The users should be able to send instant messages to each other.
The users should be able to set their status such as Available,
Busy, Away, etc.
This application should receive the messages instantly after
being sent.
This application should reflect the received messages and the
new status of the other users immediately.
The instant messages should support emoticons.
The android users should be able to communicate with Unicode.
The android users should be able to communicate with graphical
messages created by their finger tips on the Android screen.
This application should receive the graphical messages instantly
after being sent.
This application should reflect the received graphical messages
instantly on the user Finger Paint screen.

Investigation
Basic Investigation on Android

Android has come a long way since the opening of its application store,
the Android Market. Almost every major developer is releasing their
applications for Android. Because of this, Android is catching up quickly
and growing at a very fast rate. In addition, all the latest Smartphones
are using the Android engine. This increases the number of Android
user.
More and more phones are using the Android operating system
and many prefer Android because it allows many options for
users.
Android is open source. This allows Android app developers and
users to customize Android to their liking.
The distribution of applications flexible in the Android.
Worldwide market of android OS in 2009 was only 3.9%, It
becomes 22.7% in 2010 and rises to 38.5% in 2011.
This shows that Android is gaining more and more flame in these days
and users and products are increasing every day.

Investigation on Android App


Record shows that over 300,000 mobile apps have been developed in
three years. Apps have been downloaded 10.9 billion times. And

demand for download mobile apps is expected to peak in 2013.Here


are some reasons for the surge in number of Android app development
It is an open source platform which helps the developers to
invest more in their time and understanding clientele needs.
Performance stability and security is boosted as it is based on
Linux Kernel. The OS is hence very smooth to operate and less
chances of crashing down.
In case of Android app development, the porting of the
application becomes hassle free.
The investment involved is comparatively low along with
considerable reduction in time required for creating an
application.
Android is based on Linux which facilitates smooth accessibility
to a rich development environment.
Android facilitates swift information gathering and provides
accurate information.
The development tools are very easy to use.
The Google Android Application can be created with the help of a
professional Android application development service provider or
from some average application developer. But the professional
can get better results for you. Hiring an average mobile app
developer can backfire and lead to wastage of money, time and
resources.

Protocol

Most IM systems were designed in isolation using closed networks


and/or proprietary
Protocols, meaning each system can only exchange messages with
users on the same IM network. Users on different IM net-works often
cant send or receive messages, or do so with drastically reduced
features because the messages must be transported through
gateways that use a least common denominator approach to
message translation. The problem of isolated, proprietary networks in
IM systems today is similar to email systems in the early days of
computer networks. Fortunately for email, the IETF created early
standards defining the protocols and data formats that should be used
to
Exchange email. Email software vendors rapidly switched to the IETF
standards to provide universal exchange of email among all email
users on the Internet. Google introduced Google Talk, a service that
uses XMPP as its underlying protocol. Googles endorsement of the
XMPP protocol has greatly increased the visibility and popularity of
XMPP and helps pave the way for XMPP to become the Internet IM
standard.
The XMPP protocol benefits from three primary features that appeal to
administrators, end users and developers: an IETF open standard, XML
data format, and simple extensions to the core protocol. These benefits
combine to position XMPP as the most compelling IM protocol available
for businesses, consumers, and organizations of any size.

Networks
An XMPP network is composed of all the XMPP clients and servers that can reach each
other on a single computer network. The biggest XMPP network is available on the
Internet and connects public XMPP servers. However, people are free to create private
XMPP networks within a single companys internal LAN, on secure corporate virtual
private networks, or even within a private network running in a persons home. Within
each XMPP network, each user is assigned a unique XMPP address.

Data format
XML is one of the most popular data exchange formats in use today
and has become a standard part of most software systems. As a
modern protocol, XMPP uses the XML data format to transport data
over standard TCP/IP sockets, making the protocol and its data easy to
use and understand. Any developer familiar with XML can immediately
work with XMPP as no special data format or other proprietary
knowledge is needed. Existing tools for creating, reading, editing, and
validating XML data can all be used with XMPP without significant
modification. The XML foundation of XMPP greatly simplifies integration
with existing environments and eases the movement of data to and
from the XMPP network.

Chat server
As we are using the XMPP protocol the server should able to operate
on XMPP protocol. Server should able to handle the activates of
different users. User information will kept in server which validates the
user while login. Later on it receives the message from sender and
passed to the respective receiver.

Sqlite Server
Sqlite is database engine for cell phones, PDAs, MP3 players, set-top
boxes, and other electronic gadgets. Most SQL database engines are
implemented as a separate server process. Programs that want to
access the database communicate with the server using some kind of
intercrosses communication (typically TCP/IP) to send requests to the
server and to receive back results. SQLite does not work this way. With
SQLite, the process that wants to access the database reads and writes
directly from the database files on disk. There is no intermediary server
process. This can be used to save the chat history in users machine
which gives the availability of previous message even in absent of
network coverage.

System Analysis
Hardware and Software Requirements for
Software Design
Following are the Hardware and Software requirement for designing the system

Hardware Requirement

An Intel Core Processor 1 GHZ or better with a compatible

motherboard.
512 MB or more RAM.
A hard disk to store and save the files, including the program
A monitor to display the output.
A mouse and a keyboard for entering the data into the
system.

Software Requirement

A Windows XP/Windows Vista/ Windows 7/ Ubuntu 9.04 or

above Operating System


Android SDK manager
Eclipse or NetBeans (version 6.9 or above)
SDK Platform for suitable android version
Android Virtual Devices (AVD)
aSmack API for Android
Openfire Server module

Hardware and Software Requirements for


Software Implementation
Following are the Hardware and Software requirement of the system
An Android Phone
Android operating system of version 2.0 or newer(3 or newer
for Unicode support)

System Design
Data Modeling
A local database is maintained in the client to save the history. This database stores the
message received and send by the logged user. We have used one table called
chatmessage to save the chat historyof logged in users. This table contains the following
fields:_id , loggedin, seconduser, time,type, message. The data is retrieved
when the user opens the chat window that was exchanged earlier.

Process Design
Data Flow Diagram

Figure 1: Context Diagram

Figure 2:DataFlow Diagram

System Flow Diagram

Figure 3: New user registration

Figure 4: User login

Figure 5: Send message

Figure 6: Receive message

Figure 7: sending subscription request and verification

Intended Benefits of Proposed System

Less bandwidth consumption and fast connection.


User doesnt have to open browsers and go to specific site to
login and chat. He/She can directly login through the application.
Support for Romanized Unicode (Hindi devanagari) conversion.
Supports graphical communication through finger paints.

Limitations of the System

Live voice or video messaging are not supported by the


application.
File Transfer is not supported.

CONCLUSION
The main objective of the project is to develop a Secure Chat Application. I had
taken a wide range of literature review in order to achieve all the tasks, where I
came to know about some of the products that are existing in the market. I made
a detailed research in that path to cover the loop holes that existing systems are
facing and to eradicate them in our application. In the process of research I came
to know about the latest technologies and different algorithms.

Appendix A: Abbreviation

App : Application
IM : Instant messaging
XMPP : extensive messaging and presence protocol
SDK : software development kit
API : Application package interface
ROI : Return of investment
CDMA : Code Division Multiple Access
GSM : Global system for mobile communication
GPS : Global positioning system
EDGE: Enhanced Data Rules for GSM Evolutions
UMTS: Universal Mobile Telecommunication System
GPRS: General Packet Radio Service
IETF: Internet Engineering Task force

References

Android Development, http://www.developer.android.com


Open fire, http://www.igniterealtime.org/projects/openfire/
Stack overflow, http://stackoverflow.com

QUESTIONNAIRE
Q.1 Detail about Company profile.
Ans. During my summer break I didnt opt to any Internship in any
company rather than this I prefer to do Summer Training based on Android
OS applications.
So I had chosen MTA Education for my Summer Training which was
held in my college department itself.
Q.2 Quality policy defined by the company for software development.
Ans. MTA promote the value of Technologies as a profession to individuals
and organizations. MTA help Student to be more efficient and effective in
their work, through the certification of competencies. MTA enable students
to progress their career through a Professionals' Code of Ethics and a multilevel certification pathway that provides them with the skills and knowledge
they need to fulfill their growing responsibilities and to achieve increased
professionalism.
Q.3 Explain the software implementation process of the company.
Ans. Defining and maintaining a Body of Knowledge which allows students
to be certified based on best practices, full filling the international demand
and encourage to learn technologies to enhance the skills and meeting the
expectation of competitive world.
Q.4 Objective of your project/training. Could you achieve it?
Ans. The Objective was to gain knowledge about Android Applicaton
Development and developing such Android applications.
The Objective is achieved to a much greater extent.
Q.5 Which software development model was used to implement
project/training and why ?

Ans. Waterfall model was used to implement project/training because the


project is all simple implementation.

Q.6 What was your contribution in implementing the project/training?


Ans. I alone handle this whole project and pursued the training sessions with
a group of my friends.

Q.7 What would be impact of your project/training/product on society?


Ans. Its a simple and convenient application to use and occupy less
memory in android device.
Q.8 Future scope of your project/training.
Ans. As it requires less memory space thus it will be convenient to use in
future.

S-ar putea să vă placă și