2. The idea
▹ Hyperlocal interaction increases
relevance of content
▹ Anonymity allows for one to speak
freely
▹ Hyperlocality + Anonymity leads to
relevant community content
▹ Untapped US high school market,
and international market
2
Jodel App (Germany)
3. MVC Diagram
3
Controller
View
Model
me_fragment.xmlStartfragment.xml
FragmentTabHost View
Notifications
Fragmen
View
MyStuff
Fragment
View
Write A Post View
Detail Post View
EventBus Events
Custom MemCache CacheManager
POJO for Retrofit
Server Response POJO
Server Request POJO
Comment
Request
Comments
GetMyNotifications
Like
Request
Post
Request
GetMyPosts
GetMyReplies
GetPosts
Posts
LIkes
Notifications
User
GetCommentsEvent
GetMyCommentsEvent
GetPostEvent
GetPostForEvent
GetPostsEvent
Adapters
CommentsViewAdapter
MyStuffArrayAdapter
NotificationsViewAdapter
PostsViewAdapter
YakPagerAdapter
Activities
Fragments
MainActivity
DetailPostActivity
PostActivity
StartFragment
MeFragment
Comments
Request
Post
GetMyPostsEvent
GetMyNotificationsEventMyStuff Frag
My
Notificatio
ns Frag
4. EventBus Events
Threaded Design Diagram (Retrofit + EventBus)
4
Controller
View
Model
me_fragment.xmlStartfragment.xml
FragmentTabHost View
Notific
ations
Fragm
en
View
MyStu
ff
Fragm
ent
View
Write A Post View
Detail Post View
Custom MemCache CacheManager
POJO for Retrofit
Server Response POJO
Server Request POJO
Comment
Request
Comments
GetMyNotifications
Like
Request
Post
Request
GetMyPosts
GetMyReplies
GetPosts
Posts
LIkes
Notifications
User
GetCommentsEvent
GetMyCommentsEvent
GetPostEvent
GetPostForEvent
GetPostsEvent
Adapters
CommentsViewAdapter
MyStuffArrayAdapter
NotificationsViewAdapter
PostsViewAdapter
YakPagerAdapter
Activities
Fragments
MainActivity
DetailPostActivity
PostActivity
StartFragment
MeFragment
Comments
Request
Post
GetMyPostsEvent
GetMyNotificationsEvent
MyStuff Frag
My
Notifications
Frag
getOrCreateUser
Thread
sendComment Thread
sendPost Thread
like Thread
voteComment
Thread
getPosts Thread
getMyPosts
Thread
getPostForEvent
Thread
getMyReplies Thread
getMyNotifications
Thread
getMyComments
Thread
6. Who Did What
▹ Activities
▹ Fragments
▹ User Actions
▹ Retrofit Integration
▹ POJO
▹ EventBus
▹ Backend API based on Postgres and Pyramid
Framework
▹ VagrantBox and Ansible for easy local testing
6
7. Lessons Learned
▹ Android is so broken (e.g,
extremely difficult to put listview
and other widgets within
scrollview)
▹ JSON to POJO converters are very
useful for Retrofit
▹ EventBus, Dagger, and Parceler are
useful libraries
▹ Remember to declare your activity
in AndroidManifest ;)
7