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.
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.
The core workflow of BDK is outlined as follows:
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
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.
-
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.Color Hex Purple Your Network Coverage
Green Served Fabric Locations (BSL)
Red Unserved Fabric Locations (BSL)
Orange Non-BSL Locations
-
Editing: If discrepancies arise or adjustments are required, use the integrated editing tool to make necessary changes. -
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.
A video demonstration of how to use this tool will be provided at a later date
| 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 |
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!
-
Professor Shaddi Hasan
- Duration: Summer 2023 - Present
- GitHub: @shaddi
-
Vineet Marri
- Duration: Summer 2023 - Present
- GitHub: @vineetm3
-
Zhuowei Wen
- Duration: Summer 2023 - Present
- GitHub: @ZhuoweiWen