Skip to content

C964 - Capstone Project for WGU. Full stack application built with Rust & Angular

License

Notifications You must be signed in to change notification settings

matthewalltop/ADHD-Analytics

Repository files navigation

C964 - Capstone for WGU Computer Science Program

Project Overview

This project will be the last submitted at WGU to earn my Bachelor of Science in Computer Science. I have chosen to use this opportunity to explore the data science & machine learning ecosystem that is currently present in the Rust community.

For the evaluator:

Project Folder Structure

  • .github - Contains GitHub actions workflows to build/test/lint the project.
  • data - Contains data files - specifically, the hyperaktiv dataset, sourced from Kaggle
  • docs - Contains documentation artifacts
  • src - Contains Rust source code for the project.
    • algo - Contains application of machine learning algorithms.
    • api - Contains API handlers for axum.
    • enums - Contains enum mappings & trait impl for Hyperaktiv dataset
    • frames - Contains data frames built on top of the hyperaktiv data. This is where data is enriched through cleaning & transformations.'
    • http - Contains elements for API interop - request & response models + trait implementations
    • plots - Contains a collection of visualizations built on top of frames and experiments
    • predict - Contains machine learning model training implementations.
    • traits - Contains Rust traits used to extend dataframes - clean, filter, translate, and query data.
  • web - Contains Angular web application serving as frontend for the project.

Rust Crates Used For Data Product

  • Linfa is used to apply machine learning algorithms. This is standing in for Python's scikit-learn, in this context.
  • Polars is used for IO & DataFrame processing. This fills the functionality pandas would provide in a Python environment.
  • Plotlars is used for visualizations of data frames. Plotlars, specifically, is used to bridge functionality between the plotly and polars crates, greatly simplifying the process of converting polars data frames into graphical formats. This crate provides what the matplotlib library would in a Python environment.

Frameworks and Libraries used for Front End

  • Angular with Typescript was used to build the frontend project, contained in the web folder.
  • PlotlyJS is used for the visualizations. This works in conjunction with the backend Plotlars crate to show the data visually.
  • BulmaCSS was used to style the application.

About

C964 - Capstone Project for WGU. Full stack application built with Rust & Angular

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published