Inspiration
The nationwide protests and demonstrations following George Floyd's death were the main inspiration behind our project. The Black Lives Matter movement is one of the biggest social movements we've seen since the Civil Rights Movement, and its impact continues to rouse the desire to fight against injustice within people. Our goal was to create a program that would make these protests easily accessible to people by searching for protests by location, saving the time necessary to search through unrelated pages to find each protest individually. Furthermore, by giving individuals an easy way to access and search for protests, we hope to increase political involvement.
What it does
Our program takes an input of location into a search bar. When used, the program outputs a list of protests in the area, showing the name of the protest, its date, and its details.
The user can save each protest they like into a "saved" list, which can be accessed to display all saved protests. The user will also be notified of each individual protest they have saved on the day of the protest, and they are notified whenever a new individual protest is posted in their area.
How we built it
We built our program using Visual Studio, using the Live Share feature to have all four of us working on the project at the same time. For the language, we chose Python, for the ease of its web scraping abilities.
To build the web scraper, we used the Beautiful Soup library to scrape the data from a website that displays protests, inputting them into the program and displaying them with each search.
We debugged the program using a separate errors file to store and test errors.
Challenges we ran into
As most of us were beginners to Python, we had some trouble learning the syntax and methods necessary to reach our goal. We ran into many issues that involved errors in both the front-end and the back-end of the code.
One of the key challenges we had while developing the app was the notification system. We wanted to notify the user every time there's a new protest in their area, but we couldn't find any indication as to which protest postings were new and which were old.
Accomplishments that we're proud of
We're especially proud of how each of our members, despite having minimal knowledge of Python, were able to learn enough to build, test, and execute a functioning and useful program.
What we learned
We learned how to use the Beautiful Soup library to scrape data from websites while also learning to store, open, and modify the scraped data. We also learned some of the basics of Python program development: GUI building, back-end, and syntax. Another module that we learned which was critical to our success was the pickle module, which allowed us to save various important information onto the user's computer to be used in the future.
What's next for Protest Finder
In the future, we hope that Protest Finder can become more optimized to filter out each search depending on the cause. For instance, a BLM protest and a school funding protest would be two separate issues that would display only when called with the correct tags.
Built With
- beautiful-soup
- datetime
- pickle
- pyqt5
- python
- visual-studio
- win10toast

Log in or sign up for Devpost to join the conversation.