Recently, our friend organized a party bus for all of the Introduction to Computer Science TAs here at UNC, but reserving the bus cost her over $250, which meant that she was financially in the red a couple weeks before the event and unsure whether enough people would come to cover it. On the other hand, attendees were afraid to commit to the event because if enough people didn't sign up, they would have to pay a larger portion of the $250. Wouldn't it be great if you could say you were "going" to an event only if the price is below a certain amount? It's like a limit market order on the stock market. For the host, wouldn't it be great to have a true head count: the number people who are willing to come AND pay?
What it does
Pay Your Pals removes the financial uncertainty from an event. In essence, it requires a payment promise in order to attend. Pay Your Pals allows host to make event webpages and set an overall price for the event. Hosts can then share their unique event link with their friends, who can then submit their payment information and the maximum amount they are willing to pay to attend the event. The cost per person that someone is charged at the “transaction time” specified by the host (usually a day before the event, so the host has enough money to buy event supplies) is reduced for each person who signs up. This incentivizes people to encourage their friends to come to the event, as well – no worries, hosts, you can set a maximum number of attendees! Pay Your Pals charges attendees at the requested transaction time (default one day before the event) if it is under their max payment amount specified by the attendee.
How I built it
React-App written in Typescript, HTML, and CSS Used Github to work synchronously, branching features to development and pushing development to master. Event and Credit Card information is submitted to Amazon Web Services upon submission of the HTML forms. Tables were created in database and modified or accessed using python CGI scripts and a REST API that we implemented Event pages are populated by pulling event information from the database. Each event is granted its own unique URL using routing with react. Destinations have the following format: www.PayYourPals.net/event/:
Challenges I ran into
Setting up AWS Relational Database Integrating Softheon AI Delaying Payments with Softheon. To resolve this, we had to store credit card information in our database MERGE CONFLICTS!
Accomplishments that I'm proud of
DATABASE Creating our own REST API
What I learned
How to create an API Routing with react Payments are difficult
What's next for Pay Your Pals
Pay Your Pals was built to only grow in complexity, already using Facebook login that accesses account information that could be later used to spread events; not to mention, Pay Your Pals links can be easily inserted into event pages on Facebook. Encrypting credit card information using some type of AES algorithm PYP ultimately will use Softheon to handle transactions, as we are already registered with their API.