Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ynstf/file-monitoring-and-alerting-system
https://github.com/ynstf/file-monitoring-and-alerting-system
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ynstf/file-monitoring-and-alerting-system
- Owner: ynstf
- Created: 2024-01-10T22:27:42.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-01-14T00:41:46.000Z (12 months ago)
- Last Synced: 2024-01-14T06:04:08.484Z (12 months ago)
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Real-time File Monitoring and Alerting System
## Overview
This project implements a real-time file monitoring and alerting system. It utilizes Flask for the web server, Socket.IO for real-time communication, and Watchdog for file system monitoring. Users can select a directory to monitor, choose between email and desktop notifications for critical file changes, and receive instant alerts when the specified critical file is modified.
## Features
- Real-time file monitoring with WebSocket communication
- User-friendly web interface to select directories and configure alerts
- Choice between email notifications and desktop notifications (on PC)
- Optional configuration of a critical file for immediate alerts
- Cross-platform desktop notifications using the `plyer` library## Technologies Used
- Flask: A web framework for Python
- Socket.IO: Enables real-time, bidirectional, and event-based communication
- Watchdog: Monitors file system events
- Plyer: Cross-platform API to access features commonly found on various operating systems## Installation
### Clone the repository:
```git clone https://github.com/ynstf/File-Monitoring-and-Alerting-System.git```
Install dependencies:
```pip install -r requirements.txt```Set up your environment variables by creating a .env file:
```[email protected]```
```PWD=your-email-password```Replace [email protected] and your-email-password with your actual email and password.
### Run the application:
python interface.py
Visit http://localhost:5000/ in your browser.
### Configuration
- **Select Directory** : Use the web interface to choose the directory you want to monitor.
- **Alert Method** : Choose between "Email" and "Notification on PC" for receiving alerts.
- **Your Email** : If you choose "Email," enter your email address.
- **Critical File (optional)** : Optionally specify a critical file for immediate alerts.## Screenshots:
### interface:![interface](https://github.com/ynstf/File-Monitoring-and-Alerting-System/assets/107154559/06c1c763-a57e-4d6c-98d1-6e6aa2b11c53)
### web:
![web](https://github.com/ynstf/File-Monitoring-and-Alerting-System/assets/107154559/620935a4-cbd4-422d-ab44-186c9511612e)
### alerts:
#### emails:
![mail](https://github.com/ynstf/File-Monitoring-and-Alerting-System/assets/107154559/900ea3f9-001f-4775-a5ce-0ffcb48f5685)
#### window:
![alert win](https://github.com/ynstf/File-Monitoring-and-Alerting-System/assets/107154559/6d70ba5f-7d5e-48b8-b517-bf6cf8c48a45)## License
This project is licensed under the [MIT License](LICENSE).