Inspiration
If you're a disorganized person like I am, you must be hoarding a lot of things in your closet. Honestly, I would do anything to get rid of most of the unused stuff that I keep with me, but I always worry that they could be used for more. I can't help but think about the old adage "One man's trash is another man's treasure.
What it does
We all have stuff in our house that we simply no longer use. Along with that, everybody appreciates free, and affordable stuff that they desperately need no matter how used it is. What if there was a person who would take this stuff out of our house for free which ends up reducing clutter? Not only do we reduce clutter, but somebody may get something they desperately need for free!!
SustainOasis takes advantage of these facts to build a virtual marketplace where people pass around used items for free that they no longer use.
How we built it
This project required full-stack development. For the front-end, we relied on Javascript React, and HTML to make the user inputs. In order to support our platform, we designed a User Widget that displays the profile information of the user, a Post Widget that contains all the posts in the feed, and a Filter Widget which provides options to filter the feed.
For the backend, we relied on Javascript libraries, which include MongoDB, Mongoose, Express, and Node. These libraries allow the user to do various actions within the site's server and databases.
Through the use of salt encryption, we allowed users to create an account, utilize their account, and log in and out of their account in a secure manner. This allows the user's necessary information to be kept private, while also ensuring that they're the only people allowed to access their account.
We created intuitive interfaces that allowed the user to customize their experience. Our website offers several features for making exchanging fun and easy to use. We implemented trading tags like give and receive to indicate the category of the request. We also provided fulfilled and open tags to keep track of the status of the post.
Using our sophisticated algorithms, they could filter and search through the posts.
We also added various features like dark and light mode, mobile mode, an option to change handles, friending options, and uploading pictures, all allowing for a nice interactive user experience.
Challenges we ran into
Until now, we have been backend engineers so working on the front-end and middleware programming was a bit of a struggle. Working with buttons and filters that required requests to MongoDB was a little challenging. Also, designing an intuitive and appealing layout has been an underestimated task that resulted in overwhelming issues for us.
Accomplishments that we're proud of
Designing and developing an end-to-end project that works has given us a lot of confidence in our ability to carry out a project as well as intuition behind the ins and outs of completing a project. We believe that we are now capable to build full-fledged apps from scratch or ignite our ideas into a potential start-up.
What we learned
Typically, the design process of the APIs between front-end and back-end is not well thought out in the early stages of the product which will lead to multiple revisions as the functionality changes. It is really important to plan thoroughly before implementing as it saves time and effort in incremental development.
Initial iterations were focused primarily on feature development and not code consistency. Working with others and identifying issues made us realize the importance of unit testing and component testing.
What's next for SustainOasis - Where we can reduce waste by sharing items
We would like to use NLP techniques for searching through the database of posts in order to match give and receive requests. We would also like to add recommendation algorithms to make the feed cater to the user's preferences and history. Additionally, we look forward to using AI filtering based on geolocation.
Log in or sign up for Devpost to join the conversation.