Increment2 - Vamsikrishnachalla/ase-spring2017-project GitHub Wiki

Project increment 2

Project Title: Course Buddy

Team Members:

Vamsi Krishna Challa

Shankar Pentyala

Girish Kumar Reddy Nagella

  1. INTRODUCTION: COURSE BUDDY 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.

2. Project Goal and Objectives:

2.1. Overall goal:

Our primary goal is to develop a hybrid 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 at a single click.

2.4. Significance:

This application in creating a 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.

3. Project Plan:

3.1. Schedule for different Increments:

cd

#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.

cc

#3.3. Burndown chart:

w

#3.4 Velocity Tracking:

e

#4. Second 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 used Firebase services. In the future increments, we may stick with firebase or use other services.

4.2. Detail design of features:

4.2.1 Wireframes:

The wireframes for second phase of project are shown below: Login page: after user opens the application, one would be asked to enter the credentials to enter into the application.

Wireframe

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 wireframe comes once the login is successful.

In this wireframe we will be able to see the options to choose the courses In which we have enrolled.

Wireframe

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.

Wireframe

Upon Selecting an option, you will be redirected to chat screen,

Wireframe

4.2.2 User Stories:

Class diagram:

r

Software architecture diagram:

t

Sequence diagram:

y

4.3. Implementation:

Home page for application:

1

we need to enter the ser name first, or else it would prevent from logging in:

2

if we try logging in, without entering password, it prevents us from signing in and requests us to enter password:

3

if we enter an invalid password, it would prompt to us:

4

On successful login, we would get the option to choose the course:

5

6

On selecting the course, we would get an option to talk with anyone:

7

8

On selecting the option, A chat Screen opens up.

c1

c2

c3

c4

c5

c6

#4.4. Unit Testing: The below are the unit cases for second phase of the project:

s.no Test case title Expected outcome Result

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 Pass

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

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

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

5 Navigation after choosing the User will select the course he is enrolled in.Upon choosing the course course, user needs to be navigated to talk with tutor, ta and Pass 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 Pass needs to be navigated to Chat Screen page.

#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. • GitHub link for source code and documentation :

https://github.com/Vamsikrishnachalla/ase-spring2017-project/tree/master/project-increment-2

#4.6. Project Management: Technologies used: Android SDK, JAVA SDK. Software used: Android studio. 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.

#Contributions:

Vamsi Krishna Challa: 33.33%

Shankar Pentyala: 33.3%

Girish Kumar Reddy Nagella: 33.3% meta