Bluesky, an innovative social media hub where users share posts, including news articles, is dedicated to upholding the integrity of information. This project monitors Bluesky posts, extracts URLs, and evaluates their credibility in real-time using NewsGuard's rating system. The findings are presented via a frontend application, providing users with valuable insights into the quality of news information on Bluesky.
Below are the steps to set up your project locally and get it up and running smoothly.
This project requires Node.js and npm. To make sure you have them available on your machine, try running the following command.
$ npm -v && node -v
Next, install Python3. On a Unix-based OS, the system's default Python installation is normally Python 2. To make sure you have it downloaded on your machine, try running the following command.
$ python3 --version
$ pip3 --version
If pip3 is not installed after installing Python3, then run the following command, and check again if it is installed.
$ python -m pip3 install --upgrade pip
$ pip3 --version
Finally, install Shiny for Python, and verify that it is downloaded on your machine.
$ pip3 install shiny
$ pip3 show shiny
- Clone the repo
git clone https://github.com/CSDL-UMD/bluesky-project.git
- Install npm packages
npm install
- Create a folder named "Messages" to store text files for posts, likes, and reposts. Additionally, create a folder named "NewsGuard" and include the following CSV files:
all-sources-metadata.csv
metadata.csv
- Enter your Bluesky and Database credentials in
.env
BLUESKY_USERNAME = 'Username' BLUESKY_PASSWORD = 'Password' DB_HOST = 'Remote Server' DB_USER = 'Database' DB_PASSWORD = 'Database Password'
To start collecting data from the firehose, run the following command:
pm2 start index.js --name "bluesky"
Check that it is running successfully through the following command:
pm2 list
To view the frontend application, run the following command.
python3 -m uvicorn app:app --host 0.0.0.0 --port 3000 --reload
Access the application by entering http://127.0.0.1:3000/ in your web browser.