LeviButcher / wvup-tcs

WVUP Tutoring Success System built using dotnet core and react.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CircleCI

Tutoring Center System

This project was developed by both Sean Rickard and Levi Butcher. It allows Students at WVUP to Sign Into the tutoring center using their WVUP Id card or their email. Tutoring Center Faculty can then later search sign ins or generate reports such as how many sign ins happen during a given time period.

Working with TCS

It's recommended to use vscode while working with TCS for the best experience. At least with the frontend.

Tools

frontend

  • Flow: Provides static type checking to Javascript
  • ESlint: Static code analysis for Javascript
  • React Testing Library: All react tests are written using it
  • Prettier: Code formatting of HTML, CSS, and Javascript

backend

  • XUnit: Testing library for C#

If you want to understand the folder structure, check out the Structure Document

Contributing Code to TCS

In order to merge code into master that will be deployed to production, a contributor must ensure all tests are passing locally in for both the frontend and backend. You can run 'dotnet test' and 'npm test' in the frontend and backend folders respectively to check the tests. Be aware that you must have a Postgres database connection string set up to run all the backend tests. If your tests pass then you will be able to make a pull request into master. Your branch will be checked for the following which will cause the pull to fail if one of these checks don't pass:

  • Flow Type checks: Invalid type is being passed in somewhere then this check will fail
  • Backend Compile Warning: If the backend compiles with warnings then this check will fail
  • Frontend Unit Test: If a frontend test fails then this will fail
  • Backend Unit Test: Same as frontend test check.
  • Backend Integration Test: This test runs the backend Integration tests, if one of them fails then this fails

These Checks are ran on CircleCi in our CI/CD pipeline.

TCS Deployment

TCS is deployed automatically using CircleCi, DockerHub, and Watchtower. Check out the deployment diagrams

About

WVUP Tutoring Success System built using dotnet core and react.

License:MIT License


Languages

Language:C# 61.0%Language:JavaScript 35.7%Language:TSQL 2.8%Language:HTML 0.3%Language:Dockerfile 0.2%Language:CSS 0.1%Language:Shell 0.0%