{"id":27380144,"url":"https://github.com/danishayman/fireextinguishertrackingsystem","last_synced_at":"2026-05-10T02:03:38.530Z","repository":{"id":282797988,"uuid":"947706143","full_name":"danishayman/FireExtinguisherTrackingSystem","owner":"danishayman","description":"The Fire Extinguisher Tracking System (FETS) is a comprehensive web-based solution designed to manage and monitor fire extinguishers across facilities.","archived":false,"fork":false,"pushed_at":"2025-05-02T18:11:05.000Z","size":90979,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T09:57:35.015Z","etag":null,"topics":["asp-net","asp-net-web-forms","aspnetwebforms","css","html","mailkit","mimekit","mssql","sql"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danishayman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-03-13T05:47:28.000Z","updated_at":"2025-05-02T18:11:08.000Z","dependencies_parsed_at":"2025-05-02T18:39:23.795Z","dependency_job_id":null,"html_url":"https://github.com/danishayman/FireExtinguisherTrackingSystem","commit_stats":null,"previous_names":["danishayman/fireextinguishertrackingsystem"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danishayman/FireExtinguisherTrackingSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danishayman%2FFireExtinguisherTrackingSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danishayman%2FFireExtinguisherTrackingSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danishayman%2FFireExtinguisherTrackingSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danishayman%2FFireExtinguisherTrackingSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danishayman","download_url":"https://codeload.github.com/danishayman/FireExtinguisherTrackingSystem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danishayman%2FFireExtinguisherTrackingSystem/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265705617,"owners_count":23814488,"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","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":["asp-net","asp-net-web-forms","aspnetwebforms","css","html","mailkit","mimekit","mssql","sql"],"created_at":"2025-04-13T14:19:17.640Z","updated_at":"2026-05-10T02:03:37.164Z","avatar_url":"https://github.com/danishayman.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧯 Fire Extinguisher Tracking System (FETS)\n\nA comprehensive system for tracking, managing, and maintaining fire extinguishers across multiple plants and locations.\n\n## 📋 Features\n\n- **Multi-Plant Support** - Manage extinguishers across different plants and levels\n- **Expiration Tracking** - Monitor expiration dates and schedule services\n- **Visual Mapping** - View extinguisher locations on uploaded floor plans\n- **Service Management** - Track service history and replacement status\n- **Email Notifications** - Automated reminders for upcoming expirations\n- **User Management** - Role-based access control for different permission levels\n- **Activity Logs** - Comprehensive audit trail of all system activities\n\n## 📸 Screenshots\n\n### Dashboard\n![Dashboard](screenshots/dashboard.png)\n![Dashboard](screenshots/dashboard2.png)\n![Dashboard](screenshots/dashboard3.png)\n*Main dashboard showing fire extinguisher status overview*\n\n## 🛠️ Technical Stack\n\n- **Database**: Microsoft SQL Server\n- **Frontend**: ASP.NET\n- **Backend**: ASP.NET\n\n## 🔧 Database Setup\n\n### Prerequisites\n\n- Microsoft SQL Server 2019 or newer\n- SQL Server Management Studio (SSMS) or equivalent SQL client\n\n### Installation Steps\n\n1. Open SQL Server Management Studio and connect to your SQL Server instance\n2. Open the `DATABASE/FETS_DATABASE.sql` script file\n3. Execute the script to create the database and all required tables\n4. Verify the database has been created with all tables:\n   - ActivityLogs\n   - EmailRecipients\n   - FireExtinguishers\n   - FireExtinguisherTypes\n   - Levels\n   - MapImages\n   - Plants\n   - ServiceReminders\n   - Status\n   - Users\n\n### Web.config Configuration\n\n1. Locate the `Web.config.example` file in the root directory\n2. Create a copy of this file and rename it to `Web.config`\n3. Open the new `Web.config` file and update the following settings:\n\n#### Database Connection\n\nUpdate the connection string with your SQL Server credentials:\n\n```xml\n\u003cconnectionStrings\u003e\n  \u003cadd name=\"FETSConnection\"\n    connectionString=\"Data Source=YOUR_SERVER;Initial Catalog=FETS;User ID=YOUR_USERNAME;Password=YOUR_PASSWORD;Connection Timeout=30\"\n    providerName=\"System.Data.SqlClient\" /\u003e\n\u003c/connectionStrings\u003e\n```\n\nReplace:\n- `YOUR_SERVER` with your SQL Server instance name (e.g., `localhost` or `DESKTOP-PC\\SQLEXPRESS`)\n- `YOUR_USERNAME` with your SQL Server username\n- `YOUR_PASSWORD` with your SQL Server password\n\n#### Email Configuration\n\nConfigure the email settings for notifications:\n\n```xml\n\u003csystem.net\u003e\n  \u003cmailSettings\u003e\n    \u003csmtp from=\"your-email@example.com\"\u003e\n      \u003cnetwork host=\"smtp.example.com\" port=\"587\" userName=\"your-email@example.com\"\n        password=\"your-email-password\" enableSsl=\"true\" /\u003e\n    \u003c/smtp\u003e\n  \u003c/mailSettings\u003e\n\u003c/system.net\u003e\n```\n\nReplace with your actual email service details to enable the notification system.\n\n### Initial Configuration\n\nAfter installing the database:\n\n1. Add initial plant locations through the application or direct SQL\n2. Create admin user(s) to access the system\n3. Set up email notification recipients for service reminders\n4. Define fire extinguisher types and status codes\n\nExample SQL for basic setup:\n\n```sql\n-- Add plants\nINSERT INTO Plants (PlantName) VALUES ('Main Plant'), ('Secondary Plant');\n\n-- Add levels for plants\nINSERT INTO Levels (PlantID, LevelName) \nVALUES (1, 'Floor 1'), (1, 'Floor 2'), (2, 'Ground Floor');\n\n-- Add extinguisher types\nINSERT INTO FireExtinguisherTypes (TypeName)\nVALUES ('CO2'), ('Dry Chemical'), ('Foam'), ('Water');\n\n-- Add status types with color codes\nINSERT INTO Status (StatusName, ColorCode)\nVALUES \n('Active', '#00FF00'),\n('Expired', '#FF0000'),\n('In Service', '#FFA500'),\n('Replaced', '#0000FF');\n```\n\n## 👥 User Roles\n\n- **Administrator**: Full system access\n- **Plant Manager**: Access to manage specific plant locations\n- **Technician**: Limited access for service updates\n- **Viewer**: Read-only access to system data\n\n## 📊 Database Schema\n\nThe system uses the following main tables:\n\n- **Plants**: Defines different plant locations\n- **Levels**: Floors or areas within each plant\n- **FireExtinguishers**: Core inventory of all extinguishers\n- **Status**: Possible states of extinguishers\n- **ServiceReminders**: Tracks service schedules and reminders\n- **Users**: System users with role-based permissions\n\n## 📅 Maintenance Schedule\n\nRecommended maintenance cycle:\n\n- Daily: Check for expired extinguishers\n- Weekly: Review upcoming service needs\n- Monthly: Audit extinguisher locations and statuses\n- Quarterly: Update floor plans and location maps\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanishayman%2Ffireextinguishertrackingsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanishayman%2Ffireextinguishertrackingsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanishayman%2Ffireextinguishertrackingsystem/lists"}