Home page of the application
Listings of Rentable Locations
Registration Authentication Screen
Login Authentication Screen
Creation of New Listing
Tenant Information Interface
Arduino Lock/Unlock Integration with LED (Proof of Concept)
In university, our experiences with finding places to rent for reasonable prices, as well as finding landlords whose offers fit our needs has been quite difficult. So we thought, why not build an application to make that easier for us!
What it does
Tenants can easily find locations and residences offered by landlords catered to their own requirements. Optimize transactions between tenants and landlords to avoid dispute. landlords can remotely unlock and lock their homes so potential tenants can view their property without their physical presence Landlords have the ability to provide 24 hour visitation notice as well as unlocking abilities.
How we built it
We used Laravel, a PHP framework to build the backend for our application, and integrated the Stripe API to optimize the payment process, and rigourous authentication. For the storage of our data we used a MySQL database, and it’s manipulation was done using the the Eloquent ORM, a Laravel library . HTML, CSS3, and Bootstrap were used for the UI and front end functionality of the web interface. Through development we utilized Digital Ocean, a Cloud infrastructure provider to host our application. To create the remote locking system we used an Arduino along with Python and ngrok. Since there were no available arduino Wi-Fi or ethernet shields, ngrok was used in tandem with our python script to tunnel our arduino’s connectivity from a localhost to our online application. Given input from our applications API endpoint, the arduino, handled by the python script generates a 1 or 0 which was passed to a C script which determined whether the LED light attached to the arduino should turn on or off. This provides proof of concept of the long distance unlock functionality of this application.
Challenges we ran into
Proving a request sent by the web application to an arduino will yield a desirable result We had to mimic what it would look like if a landlord were to lock and unlock a door through an arduino driven motor. Instead, to depict our proof of concept, we substituted an LED light for the motor to prove that the motor could be turned on and off just like we could turn the light on and off. Tunnelling the arduino from localhost to a public domain without the use of a wifi or ethernet shield. Integrating the Stripe Payment API into our application We utilized the Guzzle HTTP library to interact with the Stripe PHP package and API directly.
Accomplishments that we're proud of
Integration of Stripe Connect into the application Arduino functional integration with our web applications API. Rapid Implementation of an authentication system
What we learned
How to bypass lack of ethernet and WiFi connectivity and connect to the Internet to solve our issue. Increased functionality of the Laravel framework The Eloquent ORM to manage our database Stripe Payment process and it’s API
What's next for RapidRenter
Inbuilt messaging service between landlord and tenant. Utilize motors instead of LED’s to display actual functionality rather than proof of concept for distance based unlocking system. Utilize supervised ML to provide a recommendation system. Further UI design improvements.