Giter VIP home page Giter VIP logo

colab's Introduction

Colab

This is a project for mobile apps and services class at Georgia Tech.

It's an Android app designed to help students to collaborate with classmates easily, discuss problems together, and find study partners who are nearby. When a student logs onto this application, their classes are automatically added to their profile. They are able to see other students who are also using the application and are in their same class as well as where on campus they are located.

How it works

Technologies: Apart from developing an Android app, I also working on MySQL database, writing a RESTful API, PHP.

The application first checks whether the current user is a legitimate Georgia Tech (GT) student, by veryfing his GT credentials during login. The credentials are verified by the CAS server (central authentication server) from Georgia Tech. CAS doesn't have API, it does the authentication only through the browser and issues session id.

So after user launches the app and presses login button, the apps open automatically browser with webview with CAS login page. After successful authentication, CAS issues session id, which is returned to our app. This session id is used during usage of the app, especially during calls to our API that requires CAS session id.

Once the user is authenticated, the home screen would be populated with related course data from the database (Screenshot 2). In the background, there're HttpPost and HttpGet requests to the RESTful API on the server side. Currenlty these are:

  • Get information about current user
  • Get his courses
  • Get list of other students for each class
  • Post user's location to remote DB
  • Get chat messages, if there are any

User can see the availability of other students (green - online, orange - away, red - offline). After selecting any of other students, the user can see a profile of other user and start chatting with him.

Screenshots

ScreenShot ScreenShot

ScreenShot ScreenShot

Use case:

As an example of this application in use: a student is sitting in the library, trying to finish his homework assignment that is due at midnight. Time is running out and he is still stuck on one of the problems. He pulls out his smartphone and opens Colab where he can see that one of his classmates, Katie, is online very close and is just two minutes walking distance away. The student is then able to message Katie and with her help he is able to finish the assignment with clear understanding of the material. Applications such as Facebook could arguably be used for this purpose, but social media sites can serve as a great distraction to students and most of the time communication is only easy with our “Friends” or people who we have already met. This application allows communication with any student in the class who decides to also utilize it even if two people are not “Friends”. Once the user has found a student who is also in the same class, he is able to send them a message in order to meet up which is made convenient by the location feature. If there happens to be no other students online, then the user also has the option of posting the question to the class forum which can be advantageous for students living/studying off campus. Students may also set their visibility on or off to ensure control over privacy.

colab's People

Contributors

pkwiecien avatar hoyin29 avatar avillasenor3 avatar

Watchers

Oliver Goldbart avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.