Merge into one RSS
mior is a lightweight web service to filter and merge multiple RSS feeds into one. It provides a pure web-based, responsive user interface to manage the upstream feed sources. A merged RSS is provided to user to fetch the merged results, which gathers all filtered items in upstream feeds.
The frontend is built with Next.js and MUI, and uses Yarn as its package manager. We recommend installing Node.js with fnm (Fast Node Manager).
curl -fsSL https://fnm.vercel.app/install | bash
Install Node.js and Yarn package manager.
cd frontend/
fnm install
npm install -g yarn
Install dependencies and start dev server.
yarn install
yarn dev
To build into static HTMLs:
yarn build
The backend server is developed with Rust language and Rocket web framework. If this is your first time to build Rust projects, please install rustup and it will set up all the environment automatically.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Additionally, openssl library is required by Rocket.
# On macOS
brew install openssl
# On Debian/Ubuntu
sudo apt-get -y install pkg-config libssl-dev
Compile and start up the server:
cargo run
To build into binary in release mode:
cargo build --release
By default, the backend server listens on http://localhost:8000 and the frontend (Next.js dev server) listens on http://localhost:3000, but the Next.js dev server has been configured to redirect API requests to the backend (see next.config.js).
In practice, we recommend you to debug from the http://localhost:3000 in order to take advantage of the Fast Refresh feature of Next.js.