RSS Line Notifier is an automated notification system that sends weather alerts for specific conditions of Taiwan via Line Notify, built with Node.js and Express.
- Fetches and filters RSS feeds from the Central Weather Administration
- Sends filtered alerts to Line Notify
- Stores and avoids duplicate notifications using MongoDB
- Provides API endpoints for manual triggering and monitoring
- Deployed on Render with scheduled execution via Uptime Robot or Cron-job.org
- Node.js
- Express.js
- Axios
- MongoDB
- Line Notify API
- RSS Parser
- Node.js (version 20.10.0)
- MongoDB (version 6.8.0)
- Line Notify Token
- RSS feed URL
- Clone the repository:
git clone https://github.com/yuch3nchen/rss-line-notifier.git
- Install dependencies:
npm install
- Set up environment variables in a
.env
file:
RSS_URL={your_rss_url}
LINE_NOTIFY_TOKEN={your_line_notify_token}
MONGODB_URI={your_mongodb_uri}
PORT=3000
LOG_LEVEL=info
To start the server:
npm start
To manually trigger the notification process, send a GET request to:
/api/run-cron-job
To change the filter conditions for RSS feeds:
- Open
app.js
in the project root directory. - Find the following line:
const conditions = [ "全台", "高雄", "高屏", "南部", "解除", "以南", "西半部", ];
- Modify this array with your desired keywords.
- Save the file and restart the application.
This project is configured for deployment on Render. Follow Render's documentation for deploying Node.js applications.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
If you have any questions or suggestions, please feel free to contact me:
- Email: [email protected]
- GitHub: @yuch3nchen