InnoHours.Android

Description

This is a mobile application that simplifies the interaction of students and professors with office. It will help students to enrol for office hours to professors via a mobile device. This mobile app could make lifes of students and professors easier.

Contents

Development Plan

Development Plan

Business Goal

Build an application for mobile platforms where students can easily see professor’s available office hours and remotely apply for them; professors can specify the office hours that students can apply to. In addition, everyone can see their actual schedule in a handy way.

Roles and resposibilities

Stakeholder's Name Roles Responsibilities
Developer Develop apps and server Backend, developing app features
Designer Design the app App sketches, creating app design
User Test features, create a schedule and use other features Use application
Owner See users activity Moderate user activity, report bugs to developers, check for forbidden activity

Project Glossary

  • Backend (server) - the part of code that is not visible to end user
  • Frontend (application) - the part of the service responsible for the functioning of its internal part which which end user directly interacts
  • Developer - a specialist who develops backend and frontend
  • Designer - a specialist who develops the design of applications for Android operating system
  • User - an assistance in integrating testing features, creating a schedule and using other features
  • Owner - an individual who moderate user activity, report bugs to developers, check for forbidden activity
  • Schedule - a plan for carrying out classes, giving lists of intended events and times
  • Office hours - hours that the professor could spend to additionally explain material and answer the questions for individual students

Technical Stack

  • Kotlin programming language

Requirement Analysis and Specifications

Features

ID User Story Title Priority
1 Scheduling low
2 Registration and authorization hight
3 Push-notifications medium
4.1 Create office hours hight
4.2 Apply for office hours hight
5 Filtering data for users low

User Stories

User Type User Story Title User Stories
Student, Professor Filtering data for users As an authorized user, I want to see a filtered schedule for me only in the more user-friendly interface
Student, Professor Scheduling As an unauthorized user I want to see the entire schedule
Student Apply for office hours As an authorized user I want to apply to the professor’s office hours, if the professor allows
As an authorized user I want to send a request for personal office hours to the professor
Student, Professor Push-notifications As an authorized user I want to receive notifications about classes, office hours and can set them
Student, Professor Registration and authorization As a user I can register into the application by entering my email password and confirming the password
As a user, I want to login in by entering my nickname/mail and password
Professor Create office hours As a user, I want to create a schedule for all office hours of my courses that will be visible to all students
As a user, I want to see list of student that was requested for my office hours
As a user, I want to have the possibility to decline requests
Student, Professor Scheduling As an authorized user I want to see the entire schedule of other users
Student, Professor Push-notifications As an authorized user I want to receive notifications about classes, office hours and can set them
Student, Professor Registration and authorization As a user I can register into the application by entering my email password and confirming the password
As a user I want to login in by entering my nickname/mail and password
As a user I want to request professor permissions

Non-functional requirements

  • The registration confirmation email message must be delivered within 5 minutes
  • The office hours slot must have maximum available slots for students
  • The schedule may be filtered by grade, group and visualized more readable way
  • Unauthorized users should not have an opportunity to apply for office hours

Architecture

We use MVC for web server and MVVM for android application as it is the most popular approach Link to the board (1st page)

Prototype Screenshots

InnoHours_page-0002
InnoHours_page-0001
InnoHours_page-0003
InnoHours_page-0013
InnoHours_page-0006
InnoHours_page-0007
InnoHours_page-0009
InnoHours_page-0011
InnoHours_page-0012
InnoHours_page-0014 InnoHours_page-0008

Milestone

Milestone Timeline Status
Alpha 31/08/2021 - 06/09/2021 Done
Beta 18/09/2021 - 25/09/2021 Done
Gamma 04/10/2021 - 09/10/2021 In progress

RUP Artifacts

Link to the artifact

Authors

Alisa Ivanova
Alexey Smolyakov
Ilnur Davletshin
Arina Kilmukhametova