KnoxTrafficCenter is an internal web application for monitoring traffic cameras, incidents, construction events, and weather alerts in the Knox County, Tennessee area. The application integrates with the Tennessee Department of Transportation (TDOT) Smartway API to fetch real-time traffic data.
- Framework: ASP.NET Core 8.0
- Frontend: Razor Pages with Bootstrap
- API: REST API controllers for alerts and other data
- External Dependencies:
- TDOT Smartway API
- Video.js for video streaming
- Bootstrap Icons
- Controllers/ - API endpoints for alerts (incidents, construction, etc.)
- Models/ - Data models including Camera and TDOT API models
- Pages/ - Razor pages for the web interface
- Services/ - Services for interacting with the TDOT API
- wwwroot/ - Static assets including CSS, JavaScript, and libraries
- TDOTAPIService - Core service that communicates with the TDOT Smartway API
- Camera - Represents traffic cameras with video and image streams
- CameraGroup - Groups of cameras organized by location
- TDOT API Models - Models for handling TDOT API data (Camera, Event, Location)
The application provides REST API endpoints under /api/alerts for:
- Incidents
- Construction events
- Weather alerts
- .NET 8.0 SDK
- Visual Studio 2022 or Visual Studio Code
- Node.js (for npm packages)
- Clone the repository
- Restore NuGet packages:
dotnet restore - Install npm dependencies:
npm install - Run the application:
dotnet run --project KnoxTrafficCenter - Access the application at
https://localhost:7240orhttp://localhost:5200
- API settings are loaded from the TDOT config endpoint
- Application settings can be modified in
appsettings.json - For local development, use
appsettings.Development.json
- The project uses Swagger for API documentation, available at
/swaggerwhen running the application - User secrets are configured for sensitive information (API keys)