Repo (pronounced ree-poh) for team muddkippers at HackMIT 2022.
At Harvey Mudd College, our emails are full of scattered “ISOs”—indicating someone is “in search of” something. “OSIs” are similar, but instead mean someone’s looking to give something away. Unfortunately, these requests often clutter student inboxes, are scattered, and cannot be easily searched or filtered. ISO streamlines the process of giving and getting, creating a centralized hub for ISO/OSI requests. By implementing a karma based system for requests, college students everywhere are incentivized to offer OSI’s and fulfill ISO’s, encouraging students to minimize new purchases and offload extra items to others. Additionally, students can easily see a requests’ location, type, and description, making ISO/OSI-ing faster than ever. By reducing the need to buy new and taking waste off students’ hands, ISO is the next step towards sustainability and generosity on college campuses. More info: https://tinyurl.com/muddskipslides
Tools used: React Native, Python, Rust, Actix, Expo, OpenSSL, NLTK, TextBlob, Pandas, Numpy, Plotly, Seaborn, scikit-learn, Babel, Node, Github, SQL, Twillio, Figma
Our API is live at isoapp.dev! Click for a sample our paginated feed. It's hosted on a VPS in Newark.
Here is a recorded description and live demo of our project, and here are some screenshots:
Find an individual post by UUID
{
results: {
post: post_object, // Post object
},
}Returns a page of posts from the feed. The index is the page number, starting at 0.
{
results: [], // Array of posts
next: 1, // Index of next page or null
}Requires the following:
{
user: User, // User object
post_uuid: "UUID-V4", // UUID of post to claim
}Accept a user's JSON object as request body and returns the user's information.
{
uuid: "UUID-V4", // User's UUID
token: "String", // User's token
phone_number: "E.164", // User's phone number
current_location: [0.0, 0.0], // User's current location
karma: 0, // User's karma
posts: [], // Array of user's posts UUIDS
verified: true, // Whether user is verified
}Accept a post's JSON object as request body and returns the post's information.
{
title: "String",
post_type: "PostType",
owner_uuid: "String",
time_type: "TimeType",
tags: ["String"],
location_string: "String",
}Accept a user's JSON object as request body and returns the user's uuid. Sends a verification code to the user's phone number using Twilio.
{
phone_number: "E.164", // User's phone number
country: "String", // User's country
}Accept a user's JSON object as request body and returns the user's full User object, if Twilio verification is correct.
{
code: "String", // Verification code
uuid: "UUID-V4", // User's UUID
}
