Skip to content

Evaluates the coverage health of a franchise by determining which locations (in a provided csv file) are farthest apart. Uses Kruskal's minimum spanning tree algorithm to filter pairs of locations that can pass through other locations.

Notifications You must be signed in to change notification settings

lfost42/franchise

Repository files navigation

Franchise Analytics

Evaluates the coverage health of a franchise by determining which locations (in a provided csv file) are farthest apart. Suggests areas that may need expansion or more coverage.

https://lfost42-franchise.herokuapp.com

My App

WALKTHROUGH

Minimal Viable Product:

A console application that parses through the provided csv file, calculates the locations that are farthest apart, and writes the result to the console.

OTHER FEATURES:

Completed:

  • Build a Class Library and move methods into classes.
  • Implement DAO (Data Access Object) to decouple the data access layer from the user interface.
  • Swap the UI and develop an ASP.NET Core MVC web application.
  • Make algorithm onclick.
  • Develop front-end
  • Add mapping for all locations.
  • Display locations and analysis results on a map.
  • Create a dictionary and appropriate crud methods.
  • Scaffold the Minimum Spanning Tree models and control classes.

Current Issue:

  • Mapping the locations revealed our algorithm needs to exclude locations that can connect through other locations. To fix this we need the following:
  • Build a distance matrix to load to enable GraphControl to implement the MST algorithm.
  • Extract 10 of the longest edges and evaluate the locations on a map.

Future Updates:

  • Option to export analysis
  • Add a dashboard

DASHBOARD

  • Number locations in file.
  • Average distance between each location.
  • Mean distance between each location.
  • Heatmap of distance variations within dataset.
  • Top 5 pairs of locations that are farthest apart from each other.
  • Option to export dashboard results.

OPEN REQUIREMENTS

DASHBOARD

  • Number locations in file.
  • Average distance between each location.
  • Mean distance between each location.
  • Top 5 pairs of locations that are farthest apart from each other.
  • Option to export dashboard results.

USER INTERFACE

  • Landing page
  • Options to run algorithm on full or filtered list (or both, different color indicators for map)

LOGIC DESIGN

  • csv parsing
  • mapping API
  • statistical charts

DATA DESIGN

  • location (object with latitude, longitude, name)

  • locations --> list of locations

  • distances - caching/csv output?

  • data access - locates CSV

  • parsing - parses through CSV list (or filtered list)

Origins

The project's minimal viable product culminated the C# segment of the Software Engineering course at True Coders (https://truecoders.io). We were to parse a csv file of approximately 300 Taco Bell locations and determine which two were farthest apart from one another.

About

Evaluates the coverage health of a franchise by determining which locations (in a provided csv file) are farthest apart. Uses Kruskal's minimum spanning tree algorithm to filter pairs of locations that can pass through other locations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published