Skip to content

Data aggregation and analysis for High School Rifle Shooting Programs.

Notifications You must be signed in to change notification settings

TAS-scorchedshadow/Rifle_Shooting_Major

Repository files navigation

Riflelytics

Table of Contents

  1. Introduction
  2. Functions
    1. Api
    2. Auth
    3. Plotsheet
    4. Profile

Introduction

Riflelytics provides Australian rifle shooters with access to a digital record of their shooting history at riflelytics.com. It is based off the Flask framework.

-- Created by Ryan Tan, Henry Guo, Dylan Huynh and Rishi Wig

Functions

Api

Function Name Description Parameters Output
/submit_notes POST
Adds the given notes to the databse
[stageId: integer,
fieldVal: string]
{success: 'success'}
/get_avg_shot_graph_data POST
Collect shots for use in the averages/standard dev line graph
userId: integer {scores: int[], times: int[], sd: int[]}
/get_users POST
Generates a list of names used to complete the autofill fields. Used in autofill.js

Returns a list of dictionaries
List of {label: string, value: string}
/get_shots POST
Collect shots for use in the recent shots cards
[userId: int,
numLoaded: int,
dateRange: string]
{scores: stage.format_shots()['scores'],
totalScore: string,
groupSize: int,
distance: string,
timestamp: '%d %b %Y %I:%M %p',
std: int,
duration: UNKNOWN,
stageId: int,
sighters: UNKNOWN}
/get_target_stats POST
Provides database information for ajax request in ajax_target.js
MAY BE REDUNDANT
stageId: integer {success: 'success'} | {error: 'userID'}
/get_all_shots_season POST
Collects every shot in the time-frame selected by the user
{distance: string,
userID: int,
dateRange: string}
{target,
boxPlot: int[],
bestStage: {id: int, score: int, time: string},
worstStage: {id: int, score: int, time: string}}
/submit_table POST
Updates a user object(given by ID) with the new information provided in the user profile table
[userId: int, dictionary of table fields] {success: 'success'}

Auth

auth

PlotSheet

PlotSheet

Profile

Profile

User

Function Description Parameters Output
generate_username Generates unique username and appends it to user.username user: User(self)
user.fName, user.sName must be defined
N/A
get_school_year Determines the user's school year based on their graduation year and current year user: User(self)
user.gradYr must be defined
On Success
int: gradYr
Excepts Error if
GradYr is undefined
season_stats Returns {mean, median, std, groupSize, duration} of a shooter at a specific distance. If no stages are found all the about fields will equal 0. user: User(self)
distance: string
On Success
{mean, median, std, groupSize, duration}

About

Data aggregation and analysis for High School Rifle Shooting Programs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published