Data Collection for Back-end Layer
We are a team of passionate programmers and driven problem solvers. Our goal for this project was to solve a problem students face on a daily basis. Out of all our options, there was one that stood out as the bane of students, teachers, and visitors alike: finding available parking!
What It Does
UTD Easy Parking provides valuable parking information to significantly cut down commute times. In contrast with complexity of pulling up the UTD Available Spaces website or using the UTD mobile app, our Alexa skill enables users to find relevant information through verbal input. Users simply activate the skill, indicate their current parking permit tier, and UTD Easy Parking describes the number of available parking spots for the three parking garages on the UTD campus.
How We Built It
We split project responsibilities by the different parts of the technology stack that used for Amazon Alexa. These include the Alexa Developer Console for the front-end user interactions, AWS Lambda for the middle layer of back-end processing, and a Python web-scraper as the other layer for back-end data collection.
The Alexa Developer Console interacts with the user through phrase recognition and intent activation. Once activated by saying the invocation, "Parking Assist", UTD Easy Parking requests the user's parking tier and waits for the user's response, their intent (e.g. "I have orange parking). It then coordinates with AWS Lambda to activate relevant callback responses, puling up the numbers of available parking spaces to pass back to the user. This information is accessed using a Python web crawler to index parking data provided by UTD's servers and database using various libraries such as
Beautiful Soup for HTML parsing.
Challenges We Faced
Another problem we faced was re-integrating our technology stack at the very end. We ran into issues of Python module dependencies and differing working environments. In the end, were overcame these by understanding lambda dependency control and consistent remote collaboration.
Accomplishments that we're proud of
We were ultimately very excited about the ending result. We were able to coordinate effectively with each other to keep updated on our individual parts. In the end, this score of team driven development was essential in successfully connecting the technology stack together to create the project.
What we learned
I improved my understanding with the Alexa Developer Console's system of invocations, intents, slots, and samples and learned more about the way front-end design and back-end functionality are integrated and developed.
I was able to fortify my knowledge on the Alexa Skill and AWS Lambda while developing the Alexa Skill and AWS Lambda.
I was able to sharpen both my fluency in Python and experience of general network systems through the development of one layer of our back-end. I also gained valuable understanding of the role AWS Lambda plays in conjunction to Alexa.
What's next for UTD Easy Parking
- Additional of intents enhance user experience
- Improved formatting and complexity for Alexa responses
- Data for individual parking tiers
- Improved user experience infrastructure (title cards, reply flexibility)