Inspiration
Our inspiration for the Volunteer Opportunities Hub came from a shared desire to create a platform that simplifies the process of finding and engaging in volunteer work. As passionate advocates for community service, Luke M and Chanak G wanted to connect individuals with meaningful opportunities that align with their interests and skills.
What it does
What Volunteer Opportunity Finder does:
- Takes user input (Ex. [Hiroshima, Akitakata] [Educational, Free, Teaching])
- City
- Area
- Relevant keywords
- Scrapes the first 20 relevant google searches, extracts the:
- Website url
- Name of the organization
- Brief description
- Relevant images The info from these sites is displayed in one page
How we built it
We took a multifaceted approach to building the Volunteer Opportunities Hub. One key aspect was the creation of a robust API using Spring Boot. This API served as the backbone of our platform, allowing for seamless communication between the front-end and back-end components.
In parallel, we developed the Volunteer and User Input objects, which served as the core data models for our system. These objects encapsulated essential information and facilitated the organization and retrieval of data.
To generate relevant search queries, we implemented a Query Generator module. This component dynamically constructed search queries based on user input, allowing for precise and tailored search results.
A significant component of our project involved web scraping using Jsoup. This allowed us to extract pertinent information from various volunteer websites. By parsing through each site, we collected details such as volunteer opportunities, descriptions, locations, and contact information.
Luke M played a crucial role in the front-end development, spearheading the implementation of JavaScript, HTML, and CSS. His expertise in these areas contributed to creating a visually appealing site using the CSS Grid Masonry layout. This layout effectively displayed volunteer opportunities in an elegant and organized manner. In compliment, Chanak G worked tirelessly on scraping and parsing through information with Jsoup to not only display relevant information, but to ensure that it was in a format that could be used in the front end. In addition, he worked on all other parts of the back end, aside from Spring Boot.
Through all of this, our collaborative efforts and utilization of diverse technologies resulted in the creation of the Volunteer Opportunities Hub, a comprehensive platform connecting individuals with meaningful volunteer opportunities.
Challenges we ran into
We found it challenging to use the Jsoup library, as we really had no prior experience with it. Every time it seemed we understood what we needed to do, another problem presented itself. To collaborate, we used the JetBrains CodeWithMe feature, which was riddled with lag and excessive CPU usage. Additionally, working with the JavaScript on the website was quite the challenge. Often times, there were issues with synchronicity and properly collecting data and then presenting the data to the users.
Accomplishments that we're proud of
We are proud of making a web scraper, which is arguable one of the cooler things one can do with code (ethically, of course). Chanak is proud of completing his first hackathon which, while stressful, proved to be an enriching experience. Luke is proud to have successfully making a beautiful website regardless of his inexperience with JavaScript, HTML, and CSS.
What we learned
We learned that it's important to look at the documentation, especially when you are new to a library. We also learned the importance of communication, as Luke and Chanak are in different time zones.
What's next for Volunteer Opportunities Hub
- Extract the exact address from the sites and display it in the cards
- Handle sites which have multiple volunteer opportunities presented
- Host the website somewhere(GitHub pages)
- Easier access
- Forge partnerships with organizations, nonprofits, and community groups
- Provide skill development resources
- Broaden the ability of volunteers to have an impact
- Mobile application development
- Greater audience reached
- Track and showcase the collective contributions of volunteers to their communities
- Use this to encourage others to participate in volunteer and service oriented activities
Built With
- css
- html
- java
- javascript
- jsoup
- lombok
- springboot
Log in or sign up for Devpost to join the conversation.