Inspiration

We wanted to create a project to help people's local community due to the current economic hardships. We also wanted to incorporate sustainability, green living, and strengthen the relationships of the members of the local community. We wanted to give people an opportunity to reduce their carbon footprint and give new life to their gently used items that they no longer need. As young Computer Science students, we don't have the most reliable income, so being able to find donated items in our local community would help us immensely.

What it does

In order for users to donate or be able to acquire items, you need to create an account first. After creating an account, the user can now both list their items and also contact the owners of the items for pickup. In order to list your items, you need to go to the Profile page and click the Donate Item button. Users can also find My Donated Items, Your Items Others Want and Items I Want. You can also look at your personal Statistics to see how many items you've donated, items you've claimed, your total Impact Points, and how many Blog Comments you've made. In order to make our project more engaging, users can gain Badges by interacting with our platform such as donating items, picking up items, and interacting with the Blog. In order to look for items, you can go to the Search for Items page and type in the item you are looking for. You can also use filters such as Category and Location. If you find an item that you'd like to get, you can click on the I want it! button to notify the donor that you're interested in their item. Once the donor is notified, they can either approve or deny your request for the item. Users can click on the Your Impact page to learn more about how you can directly impact our environment. You can also calculate your own environmental impact of donating items by using the Environmental Impact Calculator. Users can go to the Community Stories page to see testimonials from other users who donated or found items on our platform. The Our Blog page has some useful tips for upcycling, living sustainably, reducing your carbon footprint, and more. You can also engage with your community using Our Blog by liking the posts, finding them useful, and commenting on them. We wanted users to be able to directly interact with their community on our site. Implementing the interactive features of our project, like commenting on the Blog, uses innovation due to enhancing engagement features and community building. We also have an FAQ page for users to find useful questions and answers, and if their question isn't on that page, we have a Contact Us page that users can ask questions on.

How we built it

We did some basic mockups for our initial idea. We then built our program using several languages and frameworks such as Java, HTML, CSS, Springboot, Thymeleaf, and more. We stuck to the Model-View-Controller design pattern, making sure that specific inputs/output could be received/returned. We built our project iteratively, adding a few features at a time. We first built the empty pages, using HTML, filling out the bare bones. We then created our database and added categories within the database. We split up the work, having Lucas focus mainly on the backend with building out the database and creating services and adding their implementation. Emily focussed a lot on the front-end, building out the HTML pages, such as About Us and Community Stories to look nice and have the functionality we desired. Adison did a lot of full-stack development, adding features in both the front-end and the back-end, she added a lot of the profile functionality and pages such as Your Impact and Our Blog. We would do regular commits for each task we had assigned to us, and almost daily team meetings to discuss our progress and future plans and do some pair-programming.

Challenges we ran into

We faced several challenges while building out this project. One of our biggest challenges we faced was learning how to work with the Google Location API. We had to abandon those efforts in order to focus on more pressing tasks so that our project ran smoothly and focus on usability. We each faced our own personal challenges with learning new languages and frameworks, but overall, we are proud of the work we did. We struggled with implementing everything we wanted to. We took on a pretty large task and we were ultimately unable to implement every feature we desired.

Accomplishments that we're proud of

This is the first hackathon that any of us have done, and we are very proud of the end product of our project. We're very proud of how well put together the website's focus is and how professional it looks. We each had our challenges we faced when building this website from scratch, and so we each individually feel proud of ourselves and our group as a whole for completing our project. We are all very proud of the work we put in to get complete this project, even if there are a few things we wish we could've added.

What we learned

We learned that writing code can be fun when it's not required for an assignment. We each learned new languages/frameworks and learned how to effectively integrate all of our newly learned skills. We learned how to work together as a team and have clear communication and collaboration while building our project. We learned new skills using GitHub and conventional commits so that each team member could understand the changes we pushed. We weren't very familiar with the use of databases, and we've never built a whole project from scratch. It's been very interesting and fun completing this.

What's next for Sustain N Share

We would be so happy to see Sustain N Share fully fleshed out and available for people to use! We just built out a prototype of our idea and would one day love to have real people be impacted by our platform. Each of us are passionate about being environmentally conscious and helping our neighbors. After all, we are inheriting this world and would love to see it flourish.

Built With

Share this project:

Updates