Microsoft Hackathon Project - TraveLog

TraveLog is an android app that allows users to log their journey when they're out and about (to new places, events, etc.). The app utilizes Microsoft Open365 Graph APIs.


User Stories

The following functionalities are completed:

  • [x] User can authenticate using the Microsoft Open365 Account
  • [x] User can view their profile information (using the Navigation Menu)
    • [x] User can see their Name, Profile Photo, Email, Phone Number
    • [x] User can view a list of their Friends (Contacts)
  • [x] On the Homescreen, user can swipe between different categories of their logs (sections in the notebook)
    • [x] In each section on the homepage, user can see a list of the log entries (pages in that section)
    • [x] User can click on a single log entry to view the detail of that Log
    • [x] User can view the text & HTML content along with rich media such as Images that are part of that Log entry (page).
    • [x] User can share this log entry via [Microsoft Graph Email API] with their friends.
    • [x] User can long click on a single log entry to view more options such as:
    • [x] Share the Log with other apps (using ShareIntent)
    • [x] Copy a URL to that Log entry
    • [x] Delete the Log entry from that section
    • [x] User can create a new Log entry in that section by adding at least a Title and Description
    • [x] User can create a plain text Log entry
    • [x] User can add images to the Log entry
    • [x] User can create a new Category on their Homepage (by using the Toolbar action)

The following Microsoft Graph APIs were Used are used:

General Feedback

  • The team present was really helpful at debugging/answering queries.
  • The GitHub sample repository is helpful but not fully comprehensive.
  • Registration process was too dispersed
  • The documentation for some of the APIs were incorrect/incomplete.
  • Provide an explicit resolved URLs for the image content instead of providing byte streams
  • The [/me/notes/pages] endpoint creates a new notebook and not a section inside the existing primary notebook

Open-source libraries used

  • Retrofit - For network calls
  • Picasso - Image loading and caching library for Android
  • GSON - For deserializing the JSON to POJOs etc.


Copyright [2015] [Team TraveLog]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Built With

Share this project: