{"id":31442297,"url":"https://github.com/sudhan1112/incident_management_system","last_synced_at":"2026-04-29T20:33:12.955Z","repository":{"id":285492478,"uuid":"958131778","full_name":"Sudhan1112/Incident_management_system","owner":"Sudhan1112","description":"🚨Incident Management System A full stack application for tracking, managing, and reporting incidents across an organization. Build using React js,  Python Fast API, Uvicorn ","archived":false,"fork":false,"pushed_at":"2025-09-26T17:39:35.000Z","size":234,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T19:25:37.513Z","etag":null,"topics":["fastapi-crud","python3","reactjs","tailwind-css","uvicorn"],"latest_commit_sha":null,"homepage":"https://vibe-copilot-project.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sudhan1112.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-31T17:39:12.000Z","updated_at":"2025-09-26T17:39:38.000Z","dependencies_parsed_at":"2025-09-26T19:25:41.479Z","dependency_job_id":"f780e30e-4dca-4f2f-bbb9-7bc709b1451f","html_url":"https://github.com/Sudhan1112/Incident_management_system","commit_stats":null,"previous_names":["sudhan1112/vibe_copilot_project","sudhan1112/incident_management_system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sudhan1112/Incident_management_system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sudhan1112%2FIncident_management_system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sudhan1112%2FIncident_management_system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sudhan1112%2FIncident_management_system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sudhan1112%2FIncident_management_system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sudhan1112","download_url":"https://codeload.github.com/Sudhan1112/Incident_management_system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sudhan1112%2FIncident_management_system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277740230,"owners_count":25868904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-30T02:00:09.208Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi-crud","python3","reactjs","tailwind-css","uvicorn"],"created_at":"2025-09-30T18:55:52.038Z","updated_at":"2026-04-29T20:33:12.947Z","avatar_url":"https://github.com/Sudhan1112.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚨 Incident Management System\nA full-stack application for tracking, managing, and reporting incidents across an organization. This system enables efficient incident documentation, categorization, and analysis to improve safety and operational response.\n\n![Incident Management System]![image](https://github.com/user-attachments/assets/bf196f2c-3cfb-4f47-bf75-17bcd63123d7)\n)\n\n![Incident Management System Form data]![image](https://github.com/user-attachments/assets/e42f7a3b-11a8-4676-a781-7eb85fe3ff97)\n\n## 🎮 Demo\n\n### Frontend Deployment\n[Live Demo](https://vibe-copilot-project.vercel.app/)\n\n### Backend Deployment\n[API Endpoint](https://vibe-copilot-project.onrender.com)\n\n### Demo Video\n[Watch Demo](https://drive.google.com/file/d/1o-rxT_Js--jFpS0OP2RqxhfU9skY7MY1/view?usp=sharing)\n\n## 💻 Tech Stack\n\n### Frontend\n- **React** - UI library for building the interface\n- **Tailwind CSS** - Utility-first CSS framework for styling\n- **Firebase Storage** - Cloud storage for image uploads\n- **Axios** - HTTP client for API requests\n\n### Backend\n- **FastAPI** - Modern, high-performance web framework for building APIs\n- **Python** - Backend programming language\n- **Uvicorn** - ASGI server for serving the FastAPI application\n\n## 🏗 Architecture\n\nThis application follows the **MVC (Model-View-Controller)** architecture pattern:\n\n**Frontend:**\n- **View** - React components for rendering UI elements\n- **Controller** - IncidentController for handling user actions and state changes\n- **Model** - Local state management using React hooks\n\n**Backend:**\n- **Routes** - API endpoints for HTTP requests\n- **Controllers** - Business logic for handling requests\n- **Models** - Data definitions and database interactions\n\n## 📁 Project Structure\n\n```\nincident-management-system/\n├── frontend/\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── IncidentForm.jsx       # Form for creating and editing incidents\n│   │   │   └── IncidentList.jsx       # List display of all incidents\n│   │   ├── controllers/\n│   │   │   └── IncidentController.js  # Logic for handling incident operations\n│   │   ├── models/\n│   │   │   └── IncidentModel.js       # Data model for incidents\n│   │   ├── services/\n│   │   │   └── FileUploadService.js   # Handles image uploads to Firebase\n│   │   ├── config/\n│   │   │   └── firebase.js           # Firebase configuration\n│   │   ├── styles/\n│   │   │   └── styles.js             # Styling constants\n│   │   └── App.js                    # Main application component\n│   ├── .env                          # Environment variables\n│   └── package.json                  # Dependencies and scripts\n│\n├── backend/\n│   ├── app/\n│   │   ├── controllers/\n│   │   │   └── incident_controller.py # Incident API logic\n│   │   ├── models/\n│   │   │   └── incident_model.py      # Data model for incidents\n│   │   ├── routes/\n│   │   │   └── incident_routes.py     # API endpoints definition\n│   │   └── main.py                    # FastAPI application entry point\n│   ├── .env                           # Environment variables\n│   └── requirements.txt               # Python dependencies\n│\n└── README.md                          # Project documentation\n```\n\n## 📦 Installation\n\n### Prerequisites\n- Node.js (v16+)\n- Python (v3.8+)\n- Firebase account (for image storage)\n\n### Frontend Setup\n```bash\n# Clone repository\ngit clone https://github.com/yourusername/incident-management-system.git\n\n# Navigate to frontend directory\ncd incident-management-system/frontend\n\n# Install dependencies\nnpm install\n```\n\n### Backend Setup\n```bash\n# Navigate to backend directory\ncd ../backend\n\n# Create virtual environment\npython -m venv venv\n\n# Activate virtual environment (Windows)\nvenv\\Scripts\\activate\n# OR (macOS/Linux)\nsource venv/bin/activate\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n## 🔐 Environment Variables\n\n### Frontend (.env)\n```\nVITE_FIREBASE_API_KEY=your-api-key\nVITE_FIREBASE_AUTH_DOMAIN=your-auth-domain\nVITE_FIREBASE_PROJECT_ID=your-project-id\nVITE_FIREBASE_STORAGE_BUCKET=your-storage-bucket\nVITE_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id\nVITE_FIREBASE_APP_ID=your-app-id\nVITE_FIREBASE_MEASUREMENT_ID=your-measurement-id\nVITE_API_URL=http://localhost:3500\n```\n\n### Backend (.env)\n```\nDATABASE_URL=your-database-url\nSECRET_KEY=your-secret-key\nCORS_ORIGINS=http://localhost:5173\n```\n\n## ⚡ Running Locally\n\n### Frontend\n```bash\n# Start development server\nnpm run dev\n# App will run on http://localhost:5173\n```\n\n### Backend\n```bash\n# Start FastAPI server\ncd backend\npython -m uvicorn app.main:app --reload --port 3500\n# API will run on http://localhost:3500\n```\n\n## 🔌 API Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/incidents` | Retrieve all incidents |\n| POST | `/incidents` | Create a new incident |\n| PUT | `/incidents/{id}` | Update an existing incident |\n| DELETE | `/incidents/{id}` | Delete an incident |\n| GET | `/incidents/{id}` | Get a specific incident by ID |\n\n## 🚀 My Approach\n\nIn developing this Incident Management System, I focused on creating a clean, modular architecture that separates concerns and makes the codebase maintainable:\n\n1. **Component-Based UI**: Created reusable React components for the form, list view, and individual incident cards.\n\n2. **Controller Pattern**: Implemented a controller layer in the frontend to handle business logic separately from UI components, improving maintainability.\n\n3. **State Management**: Used React's useState and useEffect hooks for local state management, with a centralized approach through the IncidentController.\n\n4. **Image Upload**: Integrated Firebase Storage for reliable image uploads with progress tracking.\n\n5. **Backend Architecture**: Built a clean FastAPI backend with distinct layers for routes, controllers, and models.\n\n6. **API Design**: Created intuitive RESTful endpoints for CRUD operations on incidents.\n\n7. **Responsive UI**: Used Tailwind CSS to ensure the application works well on various device sizes.\n\n8. **Error Handling**: Implemented comprehensive error handling in both frontend and backend.\n\nThe system architecture allows for easy extension with new features and ensures that different parts of the application can evolve independently.\n\n## 🔮 Future Enhancements\n\n- **User Authentication** - Role-based access control for different incident management permissions\n- **Dashboard Analytics** - Visual representations of incident data and trends\n- **Email Notifications** - Automated alerts for new incidents and status changes\n- **Mobile App** - Native mobile applications for on-the-go incident reporting\n- **Offline Support** - Service workers for offline functionality\n- **Export Functionality** - Report generation in PDF or Excel formats\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n---\n\nCreated with ❤️ by Sudhan\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhan1112%2Fincident_management_system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudhan1112%2Fincident_management_system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhan1112%2Fincident_management_system/lists"}