Skip to content

lord-arbiter/RoadDamageDetection

Repository files navigation

Crowd Quested Intelligent Road Monitoring System

Technologies Badge

📝 Description

Crowd Quested Intelligent Road Monitoring System is a sophisticated solution for real-time damage reporting and visualization. This system leverages the power of Convolutional Neural Networks (CNN) and YOLOv5 for precise damage detection, offering an innovative approach to road monitoring.

🎥 Demo

Demo Video Screenshot 2024-08-02 at 7 05 10 PM image

🚀 Technologies

  • MERN Stack: MongoDB, Express.js, React, Node.js
  • Machine Learning: CNN, YOLOv5
  • APIs: Google Maps API
  • Backend Framework: FastAPI
  • Frontend: React

🔧 Installation

Quick Start with Docker (Recommended)

The easiest way to run the entire application is using Docker Compose:

  1. Clone the repository
git clone https://github.com/adiabb05-1317/Road-Guardian.git
cd Road-Guardian
  1. Run with Docker Compose
docker-compose up --build
  1. Access the application

That's it! The application is now running with:

  • React frontend on port 80
  • Node.js/Express backend on port 3001
  • FastAPI (YOLOv5 inference) on port 8000
  • MongoDB database on port 27017

Manual Installation (Alternative)

If you prefer to run services individually:

Backend Server (Node.js + Python)

cd newBackend
npm install
pip install -r requirements.txt

# Terminal 1: Start Express server
npm start

# Terminal 2: Start FastAPI server
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Frontend Server

cd newfrontend
npm install
npm start

MongoDB

# Make sure MongoDB is running locally on port 27017
mongod

🎯 Usage

  1. Open your browser and navigate to http://localhost (or http://localhost:3000 if running manually)
  2. Sign up for a new account or log in
  3. Navigate to the Detection page
  4. Upload an image of a road
  5. Click "Detect" to run YOLOv5 inference
  6. View detected potholes and road damage
  7. Fill in location details and submit a complaint to the database

🔑 Environment Variables

Copy .env.example to .env and configure if needed:

cp .env.example .env

Default values work out of the box with Docker Compose.

🛑 Stopping the Application

docker-compose down

To remove all data including the database:

docker-compose down -v

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors