2. Our Motivation 0102
The aim of our project is to create a team chat tool for team work
Challenging, but achievable goals
Doing things the right way
Build something that maters
Continuous Learning
Recognition of efforts
3. Our Work Breakdown Structure 0103
How we have divided up our work and process
4. Our Work Breakdown Structure 0104
How we have divided up our work and process
Network Backend,
Research and GUI
Design, Structure,
Integration and
GUI
GUI, User Acceptance
Testing and Documents
Zhonghua
Qin
Denis
Akhmetov
Jian Liu
5. Our Development Process 0105
We use Extreme Programming (XP)
Designing
We design as simple as possible at any given
time
Testing
We like and we use Facebook approach:
Each coder is responsible for his code and
push
Refactoring
We often refactor code to extend
new function and integrate new code.
Collective ownership
Anyone can improve any
system code anywhere at any time.
Continuous integration
We integrate and build the app many times a
day (small releases)
Version Control
We use GitHub as our version control system
Pair Programming
We always work together online
6. Our Lessons Learned 0106
With the languages, tools and frameworks we have used
// Java is a mature programming
language. The new version Java 8
has many new features including
Lambda Expressions, Default
Methods, Streams and Optional
which can improve coding Efficiency.
We use these useful features in our
project //
// Unstable work of
Android Studio and
AVD //
7. Our High-Level Software Architecture 0107
User
GUI
FacebookServer API
XMPP
aSmack
Facebook
Server
+ Data
10. 0110Our Backend Design
Under the hood of our app
Connect to Facebook
Login with Facebook account
Set Status
Get Friend List with their statuses
Chat Manager: sent and listen
messages
Notification
Ringtones
Bitmap Graphics
Get User Profile Picture
Facebook Graph API
Android API
aSmack API
Backend
12. Our Features 0112
Photos Search from chat
history
Auto add task
Allows users to receive images
from others Allows users to search text
In group chat, anyone can create
a work task which will
automatically
appear in every teammates’ task
list. When someone finish it, he
can
check it as the work has been
done and other teammates will
see the
result
Auto add task to local
calendar
Private chat during a
group chat
In group chat, anyone can post
up an announcement, like a
meeting will be set up in a
certain time. After that, other
ones will automatically catch this
announcement and add it to
local calendar schedule.
In group chat, when you want to
have a private talk with
someone, you can just hold on
pressing his head portrait until a
menu appeared, then select
‘Private’ to talk to him privately
without leaving group chat
window.
Texts Location Groups
Allows users to exchange
messages with Facebook
without mock server
Allows users to share location
information to others
Allows users to create a group
chat and chat in a group
13. Follow Us on Social Media 0113
and keep in touch
Team#1@twitter Team#1@facebook Team#1@behance
Team#1@devianart Team#1@wordpress Team#1@google
Team#1@pinterest Team#1@dribble Team#1@vimeo