Increment3 - Vamsikrishnachalla/ase-spring2017-project GitHub Wiki

Project Increment 3

Project Title: Course Buddy

Team Members:

Vamsi Krishna Challa

Girish Kumar Reddy Nagella

Shankar Pentyala

  1. Introduction:

Course buddy is an interactive application which acts as lifeline between students and the teaching fraternity.Student fraternity has a tendency to work along deadlines and many of the times, they tend to forget the deadlines and lose marks even having competency to complete on time. Not only deadlines, many of the student fraternity has a feeling of introvert of not being able to directly interact with the teaching fraternity.

Our COURSE BUDDY application tries to lessen the gap between teaching and student streams and also provide an interface for free flow of communication. Giving it a social media touch, would easily attract the students to make use of it.

Many times we face difficulty in finding out means to talk to our teaching faculty because of lack of availability of information. Myself, I am example how a student face difficulty in reaching faculty to break many barriers regarding the subject. As an international student, I was very much astonished at the etiquette of the college and I pulled myself backward from making a step ahead to clear my doubts regarding subjects. In the initial days, I was not able to find means of communication to reach out the faculty to be able to clarify my doubts regarding the subject and course curriculum.

So goes a saying, “Failure is the stepping stone of success.” As a blind follower of that, we tried to utilize this project opportunity to build an interface that would address the problems faced by us.

  1. Project Goal and Objectives:

2.1. Overall goal:

Our goal is to develop a application “COURSE BUDDY” which is an interface between students and faculty. This interface is made using android software development kit and various other services which are needed for smooth running of applications.

2.2. Specific objectives:

Course buddy is used purely for educational purpose. Students login into the application to be able to talk with tutors, teaching assistants and also their course buddies without compromising their privacy.

2.3. Specific Features:

a.) Not compromising student’s privacy:

Many doubts of students can actually be solved by talking with their friends. But in an international institution we may not be able to easily mingle with students. Our course buddy would create a discussion forum without disclosing student’s identity and it would facilitate the student to clarify their doubts easily.

b.) Talk with tutors and teaching assistants on a single platform:

Instead of using mail based communication to reach out to professors and using mail based or spreadsheet based communication to reach out to teaching assistants, this interface provides a unique platform to reach out both of them at a single click.

2.4. Significance:

This application in creating an healthy environment where learning evolves from different aspiring minds and would help each other to excel themselves by taking help of their professors, teaching assistants and their friends.

Project Plan:


3.1. Schedule for different Increments:

3.2. Project timelines, Members and responsibilities:  Below are the issues that were created under each increment.  These tasks are assigned to team members.
 Once the respective task is accomplished, the issue is moved to closed state.

1

3.3. Burndown chart:

2

3.4 Velocity Graph:

3

  1. First Increment Report:

In this increment we have designed UI mockups by designing wireframes and by keeping them in mind, we have designed login pages, course selection page and choosing the option to talk with anyone of the professors or teaching assistants or course buddies.

4.1. Existing services / REST API:

In this current increment we have not used any of the api’s. In the future increments if we need any of them for enhancement of our app , we’ll email and chat api’s.

4.2. Detail design of features:

4.2.1 Wireframes:

Login page: after user opens the application, one would be asked to enter the credentials to enter into the application.

q

The user should have already be registered i.e., the details of the user must be already available with us as it is related to university and the details of student would be uploaded on a pre hand for authentication.

This wire frame comes once the login is successful. In this wire-frame we will be able to see the options to choose the courses In which we have enrolled.

w

Upon selecting the subject, we would get the option to talk with one of the required persons which we are needed to talk to like:

  1. Professor

  2. Teaching assistants.

  3. Course buddies.

This is the wireframe for choosing the option to talk or else log off from the application.

e

4.2.2 User Stories:

Class diagram:

r

Sequence diagram:

t

Software architecture diagram:

y

4.3. Implementation:

Home page for application:

a

s

d

f

g

h

j

k

l

Enhancements made to the previous versions:

In this increment we have implemented

1.Firebase implementation for Chat and share activities.

Below are the screenshots of fire base:

z

x

c

v

b

  1. We have also implemented in-app calling feature to be able to call to the other user:

a. In this step user will be prompted to enter his sso

b. Now user will be prompted to enter his friend’s sso, sso of his friend with whom he is interested to talk.

c. Now upon entering friend’s id user will be able to redirect to call screen where he will be allowed to make a call and talk to him.

d. Upon clicking on call barring button, the call would come to an end.

1

2

3

4

5

6

3.We have also implemented file sharing functionality which allows users to pick an image from gallery and send it to other user:

a) Upon opening the app, User gets the messages and images from his previous chat.

b) User can type in his message and tap the message icon to send message to other users.

c) User can tap on Gallery icon to pick the image he wants to send.

d) Upon picking the message, User taps on send image to send image to other users.

1

2

3

4

5

6

7

8

9

10

11

4.4. Unit Testing:

The below are the unit cases for second phase of the project:

  1. User login verification.The user should provide valid email id and password to login.Upon successful login, user needs to be moved to home page.

  2. User login validation with invalid credentials.User will enter wrong credentials.As the user have entered wrong credentials, access should be declined.

  3. User login verification without details.User will not enter any credentials. User should not be granted access as he had not entered any credentials.

4.Correct navigation to choosen page. User will give login credentials. Upon successful login, the page should navigate to course selection page.

5.Navigation after choosing the course. User will select the course he is enrolled in.Upon choosing the course, user needs to be navigated to talk with tutor, ta and discussion forum page.

6.Navigation to Chat Screen page.User will select the option to either talk with tutor or TA or to engage in discussion forum.Upon Choosing the Option, User needs to be navigated to Chat Screen page.

7.Cloud database based authentication.User will be allowed only upon successful authentication match on his credentials.User will provide his sso id and password and gets logged in on successful check

8.Image sharing functionality. One user will send images to other person within the app Upon clicking gallery icon user will be redirected to gallery and choose the image he wanted to send.

9.Call function implementation. User will be able to call to the other user by using in-app calling functionality.User needs to provide friends sso and click on call icon so as to be able to call his friend

4.5. Deployment:

• We have deployed our application on an emulator as well as on Device and have taken screenshots.

• We have explained about implementation in detailed in the above sections.

4.6. Project Management:

Technologies used: Android SDK, JAVA SDK,.

Software used: Android studio.

APIs used: Firebase, Sinch.

In this increment we have completed the following work:

  1. UML DIAGRAMS
  2. Created increments in Zen Hub
  3. Created wireframes using creately.
  4. Login form modified with material design
  5. Used spinners for drop down of courses and chat options.
  6. Added linear layout with the material design of the screens login, courses, connect activities.
  7. Added navigation.
  8. Courses and Options page.
  9. Implemented Chat Screen.
  10. Implemented app-to-app calling functionality
  11. Implemented app-to-app image sharing
  12. Implemented authentication using fire base.

Contributions:

Vamsi Krishna Challa: 33.33% (calling function implementation)

Shankar Pentyala: 33.3% (cloud based user authentication)

Girish Kumar Reddy Nagella: 33.3% (sharing pictures implementation)

lkj