Desktop Notifier is a comprehensive project comprising a React Native mobile application, an Express server with WebSocket support, and a Python desktop application. The system is designed to send real-time notifications to desktop applications based on specific project IDs.
This repository consists of five projects:
:root/index.js
: An Express server that handles WebSocket connections to send messages.:root/desktop-notifier-mobile-app
: A React Native mobile app that uses the Express server to send messages.:root/desktop-notifier-windows/gui_with_server
: A Python project with a GUI that sends mobile notifications to the desktop.:root/desktop-notifier-windows/gui_without_server
: A Python project with a GUI but without a server.:root/desktop-notifier-windows/without_gui_with_server
: A Python project without a GUI but with a server.
- Real-time notifications from a React Native app to desktop applications.
- WebSocket-based communication for instant updates.
- Notifications are filtered and sent to the appropriate project-specific clients.
- React Native App: Sends notifications to the server.
- Express Server: Manages WebSocket connections and routes notifications to the appropriate clients.
- Python Desktop Application: Listens for notifications from the server and displays them using system notifications.
- Node.js and npm installed.
- Python installed.
git clone https://github.com/sangamprashant/desktop-notifier.git
cd desktop-notifier
npm install
Create a .env
file in the root directory of the project with the following content:
PORT=8000
npm start
cd desktop-notifier-mobile-app
npm install
npm start
cd desktop-notifier-windows
python -m venv env
source env/bin/activate
pip install -r requirements.txt
python main.py
- Open the React Native app (Desktop Notifier).
- Enter the project ID (ID should be the same as the receiver's end).
- Enter the title and message.
- Send the notification.
- Ensure the Python desktop application is running on all devices.
- Each desktop application should register with the server using its specific project ID.
- Notifications sent from the React Native app will be received by the appropriate desktop applications.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.
- Ensure that the WebSocket connection URL in the Python script matches your server's URL.
- You can customize the notification icon by replacing
"icon.ico"
with the path to your desired icon file. - The project ID should be unique for each project to ensure that notifications are sent to the correct clients.
By following this guide, you'll be able to set up and run the Desktop Notifier project, allowing you to send real-time notifications from a React Native app to desktop applications using WebSocket and system notifications.
The UI is built using Tailwind CSS with NativeWind for styling.