Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: ai-monitoring-system
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://4990-project.vercel.app
- Size: 7.35 MB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 4
- Releases: 0
Metadata Files
README.md
AI-Powered Monitoring System
Transforming old devices into smart, AI-driven security monitors using real-time video streaming, detection, and notifications.
Description
The AI-Powered Monitoring System is a web-based application that allows users to view real-time video streams from repurposed devices, receive alerts when a person is detected via AI, and manage their monitoring setup.
This frontend interacts with a backend Python-based video processing system that handles detection using YOLO, and with Firebase for authentication, database, and notifications.
Features
- Live Video Streaming: Peer-to-peer video feed via WebRTC.
- AI Detection Alerts: Receive browser notifications when a person is detected.
- Firebase Integration:
- Firestore for call session management and token storage.
- Firebase Authentication for user login/logout.
- Firebase Cloud Messaging (FCM) for real-time push notifications.
Setup & Installation
Prerequisites
- Node.js and npm
- Firebase project setup with:
- Firestore
- Firebase Auth
- FCM enabled with a Web Push certificate
- The backend Python server must be running (see backend README)
Installation
bash
git clone https://github.com/your-username/AI-Powered-Monitoring-System.git
cd AI-Powered-Monitoring-System/web-app
npm install
npm start
Testing
To test the system:
- Start the backend Python server and begin streaming.
- Open the frontend, log in, and click Join Call.
- Once connected, approach the camera or move into its field of view.
- The YOLO model will detect a person approaching and trigger a push notification.
- Ensure notification permission is granted in your browser.
If no notification appears, check the browser's notification settings and the console for any errors.
File Overview
src/pages/Viewer.js: Main streaming page with notification logic.src/hooks/useFCM.js: Handles FCM token registration and foreground alert display.firebase-messaging-sw.js: Service worker for background push notifications.utils/config.js: Firebase setup and configuration.
Deployment
The frontend is a standard React app and can be deployed using:
- Firebase Hosting
- Vercel
- Or served locally at
http://localhost:3000
Notes
- Make sure the backend is started before joining a call.
- Tokens must be stored correctly in Firestore (
users/{userId}/fcmTokens). - Browser must grant notification permissions to receive alerts.
License
MIT License.
Owner
- Name: ai-monitoring-system
- Login: ai-monitoring-system
- Kind: organization
- Repositories: 1
- Profile: https://github.com/ai-monitoring-system
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit. # Visit https://bit.ly/cffinit to generate yours today! cff-version: 1.2.0 title: AI Monitoring System Public Website message: >- If you use this software, please cite it using the metadata from this file. type: software authors: - given-names: Cameron Vandermeersch - given-names: Tanzim Hossain - given-names: Nafiz Hasan - given-names: Yousef Kart repository-code: 'https://github.com/uhelp-dev/4990-project' url: 'https://4990-project.vercel.app/' license: MIT version: '1.0' date-released: '2025-04-01'
GitHub Events
Total
- Public event: 1
Last Year
- Public event: 1
Dependencies
- 1402 dependencies
- @babel/plugin-proposal-private-property-in-object ^7.21.11 development
- css-loader ^7.1.2 development
- postcss-loader ^8.1.1 development
- sass ^1.81.0 development
- sass-loader ^12.6.0 development
- style-loader ^4.0.0 development
- tailwindcss ^3.4.14 development
- @testing-library/jest-dom ^5.17.0
- @testing-library/react ^13.4.0
- @testing-library/user-event ^13.5.0
- animate.css ^4.1.1
- cors ^2.8.5
- express ^4.21.2
- firebase ^11.0.1
- react ^18.3.1
- react-dom ^18.3.1
- react-icons ^5.3.0
- react-intersection-observer ^9.13.1
- react-router-dom ^6.28.0
- react-scripts 5.0.1
- react-webcam ^7.2.0
- rsuite ^5.74.2
- web-vitals ^2.1.4