Inspiration

Personal gripes about how expensive parking is and how difficult it is to find cheap parking at UCI. Parking information is scattered across different permit rules, maps, and schedules, making it hard to know where and when one can park.

What it does

PeterPortal helps users find affordable parking near UCI. Users can explore parking on an interactive map, compare prices and permit requirements, filter results based on their preferences, and save their favorite spots. Students with a parking permit can select their permit type to see where and when they can park at no additional cost.

How we built it

We built the frontend using HTML, CSS, and JavaScript, with Leaflet and OpenStreetMap powering the interactive map. Users can select parking locations, view details, filter options, and save their favorite spots. We also adapted the interface for mobile devices with a swipeable parking list and a guided tutorial.

Our backend uses Python and FastAPI to serve parking information and support features such as searching and personalized parking recommendations. The frontend communicates with the backend through API requests, allowing the map and parking list to update based on the user’s preferences and selected permit. We integrated Supabase Authentication to handle account creation and login. We also organized parking information, including prices, permit requirements, and time restrictions, to help users understand where and when they can park. We deployed the frontend and backend on Vercel and set up GitHub Actions to automate deployment when changes are pushed. Separate deployment checks allow us to update only the frontend or backend when its files change.

Challenges we ran into

Our setup initially redeployed both the frontend and backend whenever changes were pushed, even if only one had changed. These unnecessary deployments caused us to reach Vercel’s daily limit. We improved the workflow so each part deploys only when its relevant files change. Features that worked on desktop sometimes overlapped or disappeared on smaller screens. We refined the swipe-able parking list, map popups, and tutorial to work across different screen sizes. UCI’s permit zones, prices, and time restrictions were challenging to present clearly without overwhelming users.

Accomplishments that we're proud of

We were proud of getting users to login, and letting users leave a review. We were also able to interact with the map to give the user available parking spaces. We were able to add parking spots that are limited, for potential users that are looking for specific parking.

What we learned

We learned how to handle a database, even if simple. We were able to collaborate in a team-based setting. In this environment, we were able to work together on building a full-stack project. We also were able to gain proficiency in Git, and GitHub.

What's next for PeterParker

We want to expand PeterParker to other colleges, adapting it to each campus’s parking locations, permit rules, and prices so more students can find affordable parking.

Built With

Share this project:

Updates

Submission history