Inspiration

We throw out over 2 billion tons of household waste a year globally. That's more than 60 tons of waste every second. The world is drowning in trash, and the waste generation rates are only increasing, according to the World Bank. By 2050 the amount of household waste will grow by a staggering 70%. That is, if we don’t change our disposable lifestyle!

The Reason We Decided on This Project in the First Place

The idea itself came from a veteran hackathoner who's worked on 90+ projects having never written a single line of Java (any Java-based hacks were handled by other teammates and not integrated code-wise into hacker's own part of the project). Given how Java is great for inventory management as a beginner project, we thought of how an entity might have huge impact simply through inventory management like a library. Rather than books, which can be purchased online, we thought about one-off items that take up space like a ladder or kayak that people may occassionally use and thus would prefer to borrow over buying them.

In the spirit of Rookie Hacks, said hacker started by using new IDE IntelliJ, coding in newly learned programming language Java, creating a GUI with Swing that injects cheer and colorful aesthetics (which observed Java projects tend to lack), and storing data in newly learned MySQL database. Since we're all looking to learn and expand our boundaries, said hacker even recruited a team of first-time hackers with little to no experience in Java and other technologies for this hack.

What it does

To reduce how many items go to the landfill, we created Check 'N' Go to offer a borrowing service to decrease the need to buy items, where less demand leads to producing fewer items to begin with, and we allow items to be used many times and to its fullest extent. Not only do we offer people access to items that make more sense to share than to buy outright, we help people save space that would be otherwise be used to store items.

How we built it

We coded the project in Java and used swing to design the GUI and MySQL database for the backend.

Challenges we ran into

With a majority of first-time hackers — first time using IDEs and coding in Java — it made for a very collaborative team effort and bootcamp in setting up our coding environment and troubleshooting why we encountered errors when compiling (e.g. undefined variables because variable wasn't declared correctly, undefined methods because forgot to extend JFrame library).

To liven up the design and feel for this hack, we added images and quickly learned that Java doesn't play nicely with SVGs, so we had to convert images to JPGs or PNGs.

We also initially had trouble connect our application to the local MySQL database due to missing drivers or lacking "support authentication protocol," and thanks to reviewing code together we were able to get past that and help one another get set up so that hack works.

Using a new IDE and realizing we're running the Main program for a code file that we're not actively coding was also a rock in the road that took some time to realize.

Additionally, coordinating meetings when teammates span timezones from ET to CET to IST was also a challenge, so we had to be on point with transitioning what needs to be done.

Accomplishments that we're proud of

We essentially made a working store management system

What we learned

We learned a ton:

  • Git - for some of us, we used git commands for the first time, so learning how to pull, push, create branches, and merge was quite the learning curve

  • IntelliJ - all of us were using in an unfamiliar IDE called IntelliJ to create this hack, so it took time to figure out how to setup and run the app

  • Java - we expanded our knowledge of Java, why it's useful, how to code in it, how to connect to the backend with queries for authentication and more; none of us have ever used Swing to create a GUI before, and we were all rookies at Java

  • MySQL - we learned how to have the app query a local database; MySQL was new to all of us

  • working on code separately and together - for some team members, this is the first time working collaboratively on a project where sometimes we coded together and sometimes we were given different tabs to create that then came together seamlessly in the final hack

  • scope management - designing a hack to meet the wants and goals of team members while allowing us to reach for the stars but also be realistic about what we can learn and implement in one week is an art in itself

What's next for Check 'N' Go

  • Displaying data from the database to the app
  • Integrating a way to collect payment through PayPal or other
Share this project:

Updates