Skip to content

vuolo/USAF-Project-Management-Dashboard

Repository files navigation


Logo

USAF Project Management Dashboard

Senior Design Spr/Fall 2023

Authors

  • Gani Begawala
  • Sophia Caffery
  • Jonathan Gilbert
  • Maxwell Graeser
  • Michael Vuolo

...and the original Senior Design Team that initially released the project

About The Project

Project Screenshot

This project is an extension of a previous year's Senior Design Project located here.

We were tasked with improving the original source code, with the initial requirements proposed by our sponsor:

  • Data Visualization
    • Tailored Gantt Charts (With Multiple Projects)
    • Dependency Visualizations
  • User-Tailored Dashboard Views
    • Based on User Roles/Interests
    • Implementation of Tiles
  • Incorporation of AI-Based Solutions
    • Prediction of Issues
  • Resolution of Backlog List Items
    • Using Agile Approaches
To start off - we switched the previous team's tech stack up a bit. Here's what we changed:

  1. Switched our framework from React Router to Next.js
  2. Converted all JavaScript files to TypeScript
  3. Added Prisma for SQL Injection prevention (a serious issue that was present in the previous team's source code)
  4. Replaced Express with tRPC to ensure API type-safety from the front-end client to the back-end server
  5. Switched from React Bootstrap to Headless UI for more style customization

Usage

To run locally, follow the following steps:

  1. Download the SQL script that sets up the database table (Note: It's not hosted here yet, so use this file for now)
    • Make sure to create two users named usaf and usaf_admin with appropriate privileges
  2. Run npm install to install the node packages
  3. Duplicate .env.example and rename it to .env, and fill it in with the appropriate contents
  4. Run npx prisma db push to push the new database schema (that includes authentication) to the SQL server
  5. Run npm run dev to start the local development server

Tech Stack

Front-End

Back-End

Database