actionable is a website/web application that gives users the ability to find protests and gatherings around issues that they care about, near their inputted location, and within a specific timeframe. actionable also gives users common tips and tricks for protests (before, during, and after them), and access to current events via a newsfeed.
I am extremely interested in social movements, and how they are born and thrive. However, as someone who loves going to protests myself, I know how hard it is to find a centralized place where one can find these gatherings that match one's interests, and furthermore, how hard it is to get advice on how to protest. It was also incredibly important to me that this resource remained detached from any sort of account system, or tracking – privacy, especially when it comes to social movements, is paramount. So, I set out to create that place: actionable.
actionable has the following features:
- Protest Finder – Search for protests that you care about near you.
- Resources – Find handy resources to keep you safe and maximize your protest efficacy.
- News – Stay on top of current events, and find links to some of the most reputable news sources.
- Dynamic scaling of content for all screen sizes.
One needs the following libraries to be able to run actionable:
- urllib3
- requests
- pandas
- datetime
- Flask
- Flask_Session
- sqlite3
To install these libraries, use pip, then in a new terminal window, type:
pip install [library]
.
In a new terminal window, execute the following commands, replacing the element in the square brackets with the path of the actionable folder:
cd [actionable folder]
export FLASK_APP=app.py
flask run
To visit the website, go to the outputted url.
Describe and show how to run the tests with code examples.
One can navigate the website intuitively, especially the index, resources and news pages. The application aspect, the protest finder, is used as follows:
- Navigate to the protests page, usually by using the navigation bar at the top.
- Scroll down, then fill out the form as follows:
- Select your protest issue.
- Input your five-digit zipcode. If your zipcode is invalid, the site will take you back to the homepage.
- Select your desired timeframe.
- Click the button that says
Find Me Some Protests
.
Then, one will be able to see the protests that matched one's selections.
Hakeem Angulu, Harvard College Class of 2020 hangulu@college.harvard.edu
I'd like to thank all who helped and inspired me to tackle this project, including:
- The CS50 Staff, especially my TF, Derek Wang
- My friends and family, who kept me sane during the development process
- Websites like kettle and Laura Makes Stuff for the design inspiration