Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

309 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAVIS3 Overview

savisLogo

SAVIS3 is a website built at the request of Prof. Rafael Diaz who teaches at California State University, Sacramento. SAVIS3 aims to provide an open-source educational platform for students around the world to help them better understand statistics. This platform provides a myriad of visualization tools, allowing users to actively engage with various statistical concepts and enhance their comprehension.

One Proportion Confidence Interval

savis_regression

This feature helps in estimating a range where the true population proportion lies based on a sample proportion. Here, we take in success and failure and show the proportion of success and the calculation involves the sample size with a chosen level of confidence (eg. 95%). We are able to see mean, standard deviation, lower and upper bounds of the intervals.

One Mean Confidence Interval

savis_omci

One Mean Confidence Interval calculates the confidence interval for the entered data. The first component allows for the data to be entered into the data. It also displays the count for each point as a scatter plot. The second part takes a sample and runs the desired simulation. The third section allows for custom upper and lower bound to be added. The fourth section displays graphs where it checks if it covers the mean of the actual in the sample collected when the bounds are added into consideration.

Correlation Feature

savis_correlation

The correlation feature allows users to analyze the relationship between two sets of data. It provides both manual and file upload options for inputting data and generates correlation coefficients along with visual charts for analysis.

Two Proportion Hypothesis Testing

Two Proportion Hypothesis Testing feature first loads data and generates a graphical representation comparing two proportions. It then runs simulations to assess the significance of the observed difference, and finally, it analyzes the Sampling Distribution of Difference of Proportions to determine the likelihood of the observed results occurring by chance alone.

Linear Regression Visualization

Linear regression is a statistical method used to model the relationship between two or more variables by fitting a linear equation to observed data. In our project, we employ linear regression to analyze the linear relationship between a dependent variable and one or more independent variables, enabling us to make predictions and understand the underlying patterns in the data.

Two Mean Confidence Interval

Two Means Confidence Interval feature in our Angular application allows users to load, analyze, and visualize data for two distinct groups, calculating and displaying confidence intervals for their mean differences. Users can interactively adjust data, run simulations, and explore statistical results through dynamic charts, enhancing understanding of data distributions and variability.

Two Proportions Confidence Interval

A two-proportions confidence interval graph typically displays the difference between two sample proportions along with its confidence interval, often represented as a horizontal line or bar. The graph highlights the point estimate of the difference and the range within which the true difference is expected to lie, based on the specified confidence level.

Pre-requisites

  • NodeJS
  • NPM
  • Angular CLI

Installation

  1. Clone to repository to your local machine.
  2. Cd into the Savis3 directory.
  3. Run npm install to install all the dependencies.

Testing

Unit Testing

Running unit tests

Run ng test to execute the unit tests via [Jest] https://github.com/jestjs/jest.

Running all test

Run npm run test:coverage to execute a test for all the features with a unit test. Once all the test has ran the results will show up in the terminal as well as in the file Savis3 -> coverage -> index.html.

Functional Testing

Running end-to-end functional test

Before running tests, the Angular project needs to be deployed into a local server using ng serve. This command compiles the application and starts a development server

Run npm run cypress:open to execute the automated tests via [Cypress] https://github.com/cypress-io/cypress

Once Cypress is open select "E2E testing" then select the preferred browser then Start.

Every feature/component has its own spec, clicking on them will start the automated tests for that specific feature or component.

Deployment

The project is setup with Github Actions to automatically deploy the project to Github Pages. To deploy the project, simply push your changes to the main branch and the deployment will be triggered automatically.

You can visit the deployed project at savis3.

If you forked the repository, you can deploy the project by changing the Firebase API keys in environment directory and running firebase init and firebase deploy commands. A more detailed instruction video can be found here: Firebase Deployment

Developer Instructions

This project was generated with Angular CLI version 12.2.18.

Development server

Run ng serve or npm run start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run npm run build to build the project. The build artifacts will be stored in the dist/ directory.

To package the project for Linux, Windows, and Mac, run npm run electron:package. This will create savis3-darwin-x64, savis3-linux-x64, and savis3-win32-x64 directories in the Savis3 directory. Zip the contents of the directory and distribute the zip file.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

Contributors

About

SAVIS3

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages