Inspiration

Selected this theme (Educational Tools) out of the three options, for my main inspiration. Knowing that finding relevant volunteer opportunities is difficult for high school students.

What it does

Locates relevant websites that post openings for volunteer opportunities (for all ages), using web scraping code it acquires the relevant data and creates a consolidated json dataset that the web application uses to allow for data analysis and visualization.

How we built it

For the back end, Python code using Selenium and Beautiful Soup libraries for web scrapping. After that, core Python to consolidate and create the JSON data set for the front end. For the front end, HTML, CSS, Javascript using D3.js libraries to load the JSON dataset, clean and prepare the data for visualization and create an interactive bar chart by location and number of volunteer opportunities. Upon, selection of a specific bar, dynamically create an HTML table containing all the relevant detail and information for that location.

Challenges we ran into

Firstly, web scrapping of certain websites returned a 403 error which was overcome by using the Selenium Python library that creates an instance of the web driver from the particular vendor, in my case, Microsoft Edge. D3 is highly complex and advanced and took considerable time and effort to produce the desired results.

Accomplishments that we're proud of

Able to work around 403 error in web scrapping while on a tight schedule and keep debugging and searching for solutions. The final application works well and would be a good foundation for further development.

What we learned

Patience is key to ensuring a good outcome. It pays to have a plan and map out your steps before staring.

What's next for Student Volunteer Opportunities Finder

Adding more cities and regions, more filters, and a more streamlined operation.

Share this project:

Updates