Skip to content

spin-vt/bdk

Repository files navigation

What is BDK?

The Broadband Data Kit (BDK) is a tool developed by the SPIN Lab at Virginia Tech to aid you in completing your bi-annual FCC required BDC filing by providing an intuitive and automated solution. Features we provide are:

  • Visualization: Get a clear overview of your network data. See which fabric locations are served by your network, ensuring you have a comprehensive understanding of your coverage.

  • Dynamic Map Editing: We understand that networks are ever-evolving. With our dynamic map editing feature, you can update and document the fabric locations your network serves as they change over time.

  • Automated Reporting: Once you input your data and specify the locations you cover, BDK will generate a customized report, formatted and compliant with FCC guidelines, ready for submission.

Where to begin?

We offer multiple ways to utilize BDK:

  • Web Service: If you're primarily interested in the service, visit BDK Web Portal at "bdk.cs.vt.edu".

  • Local Deployment: For those who prefer a local setup, you should clone this repository. Then create a .env file with all your information and run the main branch. If interested in development, consider using the READ-ME approach in the develop branch.

How does it work?

The core workflow of BDK is outlined as follows:

  1. Upload Network Data: Provide your network data in KML format. Use line-strings for wired connections and polygons for wireless coverage. Additionally, upload your Fabric dataset.
  • This tool was developed with Fabric Version 2, and is in the process of being updated for Fabric Version 3
  1. Coverage Computation: We analyze the provided datasets to identify which locations in the Fabric dataset are covered by your network.
  • For wireless data, please note that as of August 2023, we do not employ LiDAR for coverage determination.
  • For wired data, we calculate coverage by identifying all locations within a 100m radius of the fiber route, ensuring an accurate estimation.
  1. Visualization: After processing, your data is displayed on a map. This interactive feature lets you zoom in to specific locations, enabling you to validate the tool's accuracy.

    The map will be color-coded in the following manner:

    Color Hex
    Purple #800080 Your Network Coverage
    Green #008000 Served Fabric Locations (BSL)
    Red #FF0000 Unserved Fabric Locations (BSL)
    Orange #FFA500 Non-BSL Locations
  2. Editing: If discrepancies arise or adjustments are required, use the integrated editing tool to make necessary changes.

  3. Report Generation: Once you're satisfied with the accuracy and coverage details, simply click the 'Export' button on the navbar to download your comprehensive report.

Demo

A video demonstration of how to use this tool will be provided at a later date

Tech Stack

Category Technology/Libraries
Client 🌐 Next.js
Server 🚀 Flask
Database 📦 PostgreSQL
Asynchronous Processing 🔄 Redis & Celery
Production Tools 🐳 Docker & 🌐 Nginx & 🦄 Gunicorn
Third-Party Libraries 🗺️ Maplibre GL JS & Tippecanoe

Contributing

Contributions are always welcome!

To get started, please refer to our contributing.md.

It's crucial to adhere to this project's code of conduct to maintain a positive and inclusive environment. We maintain a list of potential optimizations and tasks in the Github Issues section. Feel free to pick one from there, or suggest your own improvements!

Authors

  • Professor Shaddi Hasan

    • Duration: Summer 2023 - Present
    • GitHub: @shaddi
  • Vineet Marri

    • Duration: Summer 2023 - Present
    • GitHub: @vineetm3
  • Zhuowei Wen

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10