A comprehensive construction project management system that combines cost estimation and worker safety monitoring capabilities.
- Neural network-based cost prediction for construction projects
- Stage-based and building-based cost estimation
- Material requirements prediction
- Time estimation for construction stages
- Cost estimation in INR
- Real-time PPE (Personal Protective Equipment) detection
- Support for both images and video processing
- Detection of safety gear including:
- Safety Helmets
- Safety Vests
- Safety Gloves
- Safety Glasses
- Real-time alerts for missing safety equipment
- Video processing with frame-by-frame analysis
The system consists of two main components:
-
Cost Estimation API (Port 5001)
- Flask-based REST API
- Neural network models for predictions
- Standardized data preprocessing
-
Worker Safety API (Port 5000)
- Flask-based REST API
- YOLO-based object detection
- Support for image and video processing
- Real-time safety gear detection
- Python 3.8+
- Node.js 14+
- npm or yarn
- Git
- Clone the repository:
git clone <repository-url>
cd EDAI- Set up Python virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install Python dependencies:
pip install -r requirements.txt- Download required models:
- Place YOLO models in the worker_safety_model directory
- Place cost estimation models in the cost_estimation_FLASK/models directory
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Create a
.envfile with the following variables:
REACT_APP_COST_API_URL=http://localhost:5001
REACT_APP_SAFETY_API_URL=http://localhost:5000
- Start the Cost Estimation API:
cd cost_estimation_FLASK/src
python app.py- Start the Worker Safety API:
cd worker_safety_model
python app.pycd frontend
npm startThe application will be available at http://localhost:3000
GET /test- Health check endpointPOST /api/predict/stage- Stage-based predictionsPOST /api/predict/building- Building-based predictionsPOST /api/predict/all- Combined predictions
GET /test- Health check endpointGET /health- Detailed health statusPOST /process-media- Process images/videosGET /get-processed-media/<filename>- Retrieve processed media
Frontend/
├── src/
│ ├── Components/
│ │ ├── CostEstimation/
│ │ ├── Navbar.jsx
│ │ └── Footer.jsx
│ ├── Pages/
│ │ ├── HomePage.jsx
│ │ ├── AboutInputs.jsx
│ │ ├── PredictionForm.jsx
│ │ ├── EstimatedResult.jsx
│ │ └── Routes.js
│ ├── App.css
│ ├── App.jsx
│ └── index.js
├── public/
├── node_modules/
├── package.json
├── package-lock.json
├── tailwind.config.js
├── README.md
└── .gitignore
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For support, please open an issue in the GitHub repository or contact the development team.