AI Traffic Prediction and Route Optimization System — Django Final Year Project with Source Code

AI Traffic Prediction and Route Optimization System — Django Final Year Project with Source Code

Predicts tomorrow's congestion at 16 Bengaluru intersections using LightGBM, scores routes against forecasted bottlenecks, and counts vehicles from uploaded images with YOLOv8. Full Django source code included.

Technology Used

Django 5.2 | Python 3.10 | LightGBM | scikit-learn RandomForest | YOLOv8 | Django Channels | Daphne ASGI | SQLite | Leaflet | Chart.js | pandas | OpenRouteService API

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
39991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

What This Project Actually Does

IntelliFlow looks at 952 days of real Bengaluru traffic data and answers one question: how bad will tomorrow be at Silk Board, Hebbal Flyover, Sony World Junction, and 13 other intersections?

Two models do the heavy lifting. A LightGBM classifier sorts each intersection into Low, Moderate, High, or Severe congestion for the next day. A RandomForest regressor predicts the actual vehicle count. Both run on 83 engineered features built from just 16 raw columns — lag values, rolling averages, day-of-week sine and cosine encodings, holiday flags, neighbouring-intersection congestion, weather. The feature pipeline lives in a single file called features.py and it's the same file used during training and at inference, so there's no train-serve mismatch to explain away in your viva.

On top of the predictions sits a dark-themed Django dashboard. Live Leaflet map with colour-coded markers. Route planner that takes your source and destination, pulls directions from OpenRouteService, then re-scores the ETA by penalising routes that pass within 500 metres of a predicted-severe intersection. Signal timing recommendations. Emergency vehicle reporting that broadcasts over WebSocket to every open browser tab. And a YOLOv8 module where you drop in a traffic photo and get back an annotated image with cars, buses, trucks and bikes counted separately.

Key Features

Next-day congestion forecasting

LightGBM hits 73.08% accuracy and 0.871 ROC AUC on a held-out test set that comes from a later time period than training data — a proper time-based split, not a random shuffle. The RandomForest regressor lands at R² 0.588 with MAE around 5,200 vehicles. Those numbers are printed honestly inside the app's own analytics page.

Live map with real-time updates

Leaflet with CartoDB dark tiles, circle markers in green, amber, orange and red. Django Channels pushes updates over /ws/traffic/, and if the socket drops there's an exponential-backoff reconnect plus a 60-second polling fallback hitting /api/predictions/. So the map never just sits there dead.

Congestion-aware route scoring

Type "Koramangala" and "Whitefield", the app geocodes both via Nominatim, fetches routes from ORS, then applies a penalty multiplier based on predicted congestion along the path — 1.0x for low, up to 1.8x for severe. Haversine distance decides which intersections a route actually touches. The fastest route on Google Maps isn't always the one this thing recommends, and that difference is the whole demo.

YOLOv8 vehicle detection

Drag an image onto /vision/, an AJAX call hits /vision/api/detect/, and YOLOv8n runs in a subprocess (needed because Ultralytics and ASGI don't get along in-process). You get back bounding boxes, per-class counts, and a heuristic flag if something looks like an emergency vehicle.

Adaptive signal timing

Each intersection gets a recommended green duration — 30s for Low, 45s Moderate, 60s High, 75s Severe. There's a manual override form and every override writes to a SystemLog entry, so the audit trail is visible in Django admin. The page carries a "decision support only" banner because no physical signal hardware is connected, and examiners appreciate that honesty.

Model transparency dashboard

Full leaderboards for all 31 trained models (16 regressors, 15 classifiers), a confusion matrix heatmap, top-25 feature importance bars, and a panel that states the model's limitations in plain language. This single page has saved more vivas than any amount of UI polish.

Role-based access

Admin and Operator roles on a custom user model. Operator sees the dashboard, map and intersections; the Django admin panel stays locked. There's a pytest test asserting exactly that.

Real-World Applications

Traffic police control rooms use dashboards almost exactly like this — the difference is they feed live sensor data instead of a historical CSV. Municipal corporations planning signal retiming schedules need next-day congestion estimates before they commit to a plan. Delivery fleets and cab aggregators route around predicted bottlenecks rather than current ones, which is the entire value of a t+1 forecast.

The vision module maps to camera-based vehicle counting at toll plazas and junction surveys, where somebody currently sits with a clicker counting cars for a manual survey.

Who Should Buy This

If you're a student with a project submission, final-year project, semester project, internship, or academic deadline coming up and you're looking for a genuine machine learning project, this is for you. Whether you're studying BCA, MCA, B.Tech, M.Tech, B.E. CSE/IT, B.Sc. Computer Science, B.Sc. IT, M.Sc. Computer Science, BCS, PGDCA, Diploma in Computer Science, Data Science, Artificial Intelligence, Software Engineering, or a related course, you can use this project as a practical foundation for your academic work. CodeAj is not limited to Indian students — students from universities and colleges around the world can explore and purchase projects that match their requirements.

Students working on major or final-year projects get more mileage from the detailed analysis included here: the 24 EDA and evaluation figures in ml/artifacts/figures/ — including ROC curves, residual diagnostics, ACF/PACF plots, and validation-vs-test generalisation checks — can be useful when preparing your project report, presentation, viva, or results chapter. If you're looking for machine learning projects with source code that go beyond a basic Jupyter notebook, the Django integration makes this project a practical web-based application rather than just a collection of ML experiments.

Not for you if your academic requirements specifically demand a React frontend, mobile application, or a different technology stack. This project uses server-rendered Django templates deliberately, keeping the setup straightforward and reducing unnecessary build steps during development and demonstration. If you need a different type of project, explore our wider Django projects collection and other project categories.

One Hard Thing, One Easy Thing

The hard part: the ML artifacts folder is roughly 1 GB — 31 pickled models, encoders, scaler, metadata JSON. It's not inside the repo because Git chokes on it. You download it separately and drop it into ml/artifacts/. Miss that step and the model registry refuses to boot, and the error message won't be obvious at 1 AM.

The easy part: everything else. SQLite, so no PostgreSQL setup. No Redis, because the channel layer is in-memory. Migrate, seed, predict, runserver — four commands and the dashboard is live at localhost:8000 with admin/admin123 already created for you. Even the API keys are optional; without them the app runs in simulated mode off 35 days of seeded data, and the vision module works fully offline regardless.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
You get all 31 trained models as .pkl files, plus the label encoders, the scaler, and the metadata JSON that defines the 83 feature columns. Training is done. The catch is size — the artifacts folder is roughly 1 GB, so it comes as a separate download link and you extract it into ml/artifacts/ before the first run. Skip that step and the model registry will refuse to load at startup.
Yeah. No keys needed. The app boots into simulated mode with 35 days of seeded traffic data, and the dashboard, map, intersections list, signal control, analytics and YOLOv8 detection all work fully. Only two things go quiet without keys: live TomTom traffic ingestion and the ORS route planner. Both have free tiers if you want them, and the free ORS key takes about two minutes to get.
It is. There's an 8,936-row dataset covering January 2022 to August 2024, 83 engineered features built from 16 raw columns, a time-based train-validation-test split with no leakage, and 31 models benchmarked against each other. The Django part is just how you show the predictions. If your guide wants the notebook, IntelliFlow_Traffic_Prediction.ipynb has the entire training pipeline with 24 output figures.
It's the question that comes up most, so prepare for it. Four-class congestion prediction one full day ahead is genuinely hard — random guessing gets you 25%, and the balanced accuracy of 67% with ROC AUC 0.871 shows the model separates classes well. Say it plainly: the split is time-based, so test data is from months the model never saw, and inflated numbers usually mean leakage. Examiners respect that answer far more than a suspicious 99%.
Partially. Intersection names, coordinates and map centre are easy to swap in the seed command. The models themselves learned Bengaluru's patterns though, so predictions won't mean much for another city unless you retrain on a similar daily dataset. Most students keep Bengaluru and list city generalisation under future scope — which is honest and also less work.
Plain python manage.py runserver works fine for your demo. Docker Compose is included with nginx and Daphne if you want to show deployment, but it's optional. One thing to remember: don't add Gunicorn workers or run multiple processes. SQLite and the in-memory channel layer both need a single process, and the WebSocket updates will break silently otherwise.
Report is included — abstract, literature survey, system design, feature engineering methodology, model comparison tables, results and conclusion. Plus the 24 figures from ml/artifacts/figures/, which cover ROC curves, confusion matrices, residual plots, correlation heatmaps and feature importance. Those drop straight into your results chapter.
First run downloads yolov8n.pt, about 6 MB, from Ultralytics. After that it's cached and detection takes a second or two. If you're demoing on college wifi, pre-download it beforehand by running python -c "from ultralytics import YOLO; YOLO('yolov8n.pt')" so you're not standing there watching a spinner while your examiner waits.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support