Welcome to the GRRSS repository! This repository contains the source code for a feature-rich RSS aggregator application built using Ruby on Rails and Go, with RabbitMQ handling the data flow in between. The frontend is developed using the React Component API, with Bootstrap for styling.
- Aggregates RSS feeds from various sources.
- Provides a seamless user interface for managing and reading RSS content.
- Efficient data processing using Go and RabbitMQ.
- Real-time background updates.
- TBD: User authentication and authorization.
- TBD: Notifications.
Check out our LIVE DEMO of the GRRSS application, hosted on a Raspberry Pi 4. We've set up a tunnel to the IONOS hosting provider to ensure a smooth user experience.
To build and run the GRRSS application using Docker Compose, follow these steps:
- Clone this repository to your local machine.
- Open a terminal and navigate to the repository's root directory.
docker-compose up --build
To shut down the application, use:
docker-compose down
To remove the database volume, if needed:
docker volume rm grrss_db-data
For development, follow these steps:
- Set up environment variables in
ror/.env
anddocker-compose.yml
. - Run the following commands:
docker-compose up -d rabbitmq db
ror/bin/rails db:prepare
bin/dev
To update the cron jobs, execute:
ror/bin/bundle exec whenever --update-crontab -s 'environment=development'
To verify if the cron jobs are working, monitor the syslog using:
tail -f /var/log/syslog
To clear the cron jobs, use:
ror/bin/bundle exec whenever -c
To run tests, follow these steps:
- Start the required services:
docker-compose up -d rabbitmq db
cd ror
bin/rails db:prepare
- Run the tests:
bin/bundle exec rspec spec