1 of 24

SportCred

Sangwook, Sameer, Naomi, Nilay, Aviral, Malhar

2 of 24

Sportcred

An exciting, interactive app for sports fans to compete against other users to test their knowledge and voice their opinions for ACS points to rank as high as possible.

Users can participate in trivia, discussions, debates, and pick predictions to earn points and rank up.

3 of 24

Introduction

Naomi: Front-end for solo/multiplayer trivia page, debates page, and ACS history tracker

Sameer: Front-end for home page, profile page, the zone discussion board and navbar

Sangwook: Front-end for login page, post/comment pages, and picks selection page

Malhar: Database connection, backend for register process, profile information, the zone

Aviral: Back-end for login process, trivia page, ACS tracking

Nilay: Back-end for picks

4 of 24

Product

5 of 24

Quick overview of ‘non-features’

6 of 24

Trivia

7 of 24

The Zone -

Posts and Comments

8 of 24

Picks and Predictions

9 of 24

Process

10 of 24

Strategies

  • Divided our work to front end and back end.
    • Front end and back end each do their subtasks, and then work together to connect them at the end of the sprint.
  • Alongside daily standups, we held additional meetings every other day
    • Front end and back end shared their work and changes to the design

FRONT END

BACK END

11 of 24

Sprint Process - The Good and The Bad

Good

  • We had clear goals for what would be included in the app

  • Designated tasks allowed for specialization and fast production

  • Initial wireframe and CRC design proved to be of big help
  • Google docs to keep track of development

Bad

  • Change of tech stack cost valuable time and stopped production

  • Additional meetings were challenging to coordinate

  • Communication at times could have been improved
  • Time management

12 of 24

Software Architecture

13 of 24

Components and Responsibilities

Login

To access app

Forgot Password

Allows users to reset password

Register

Allows user to create an account

Analytics

Questionnaire for the user

14 of 24

Components and Responsibilities

Home Page

Provides navigation

Profile

Displays user’s profile

Radar

Displays user’s friends

ACS

Calculates ACS score

15 of 24

Components and Responsibilities

Trivia

Answer fun trivia questions

Notifications

Provides user updates on app

Analyze

Answer opinionated questions

Picks

Playoff predictions

16 of 24

Components and Responsibilities

Live

Shows live scores

The Zone

Allows users to discuss topics

Database

Stores users information

17 of 24

Tech stack

Front-end: Dart (Flutter), simultaneous iOS and Android development

Back-end: Python 3.8

Database: SQL (SQLite), everything is connected

18 of 24

Framework

  • MVC framework
  • Easier to visualize/implement components
  • 1 database and 1 REST API
  • Model: SQLite
  • View: Flutter (Dart)
  • Controller: Python 3 + SQLAlchemy

19 of 24

Architecture

System architecture via User Path, full UML can be found here

Login

Register

Forgot Password

Home Page

Database

Analytics

20 of 24

Home page

The Zone

Trivia

Picks

Live

Analyze

Profile

21 of 24

Profile

Radar

ACS

Database

22 of 24

Trivia

Database

Notification

23 of 24

Technical Challenges

  1. Changing the tech stack mid-sprint 1
  2. Asynchronous style of competitive components of the application (Trivia)
  3. Storing/displaying ACS-History

24 of 24

Questions