Content aggregator that collects content from various sources and displays them in one place. Users can customize their feeds to only show content from certain sources or topics. Key features include automated content scraping from RSS feeds and web pages, a user-friendly interface for managing sources, and personalized recommendations.
$ git clone https://github.com/MenachemBerkovich/Content-Aggregator.git-
MySQL Server installation with a database called
content_aggregator_db. -
Required tables in the
content_aggregator_dbdatabase:
+---------------------------+----------------+
| COLUMN_NAME | COLUMN_TYPE |
+---------------------------+----------------+
| addresses | json |
| id | int |
| last_password_change_date | varchar(19) |
| password | varbinary(255) |
| sending_schedule | int |
| sending_time | varchar(8) |
| subscriptions | json |
| username | varchar(8) |
+---------------------------+----------------++-------------+-------------+
| COLUMN_NAME | COLUMN_TYPE |
+-------------+-------------+
| categories | json |
| id | int |
| items_size | int |
| rating | float(7,2) |
| type | text |
| url | text |
+-------------+-------------+
See the requirements.txt file for the required Python libraries.
- Navigate to the downloaded Content-Aggregator folder.
- Make sure all the necessary configurations are set in the
/lib/config.pyfile:
SQL_USERNAME: str = os.environ["SQL_USERNAME"]
SQL_HOST: str = os.environ["SQL_HOST"]
SQL_PASSWORD: str = os.environ["SQL_PASSWORD"]
DATABASE_NAME: str = os.environ["DATABASE_NAME"]- Run the following command:
$ python3 contentaggregator- You should see the following output:
ready started server on 0.0.0.0:3000, url: http://localhost:3000- Open
http://localhost:3000in your web browser to access the user-friendly GUI. - Keep the application running, in order to receive system messages, as it is currently running locally.
Right now, the application supports email sending and XML-Based Feed only.
For any questions or inquiries, feel free to reach out via email: bermen.system@gmail.com