Project Info
This project did not submit a demo video on Devpost.
Inspiration
It is always a gamble to know when to go to the fitness center or the library because you never know whether it is busy or not. In addition, due to poor web management, it is very hard to know whether a location is open or not.
What it does
Tracks the busyness of the current UCSC location. It also checks whether the location is currently open.
How we built it
We used Python for the backend and Kivy for the frontend. To look into the project, visit the GitHub for more information.
Challenges we ran into
There wasn't a direct Google API for us to use to track busyness. We were planning to add all the dining halls to our app, but most dining halls do not have enough info we need to make it feasible.
Accomplishments we're proud of
We managed to pull data from the Google Map's API and link it to our application. In addition, we were able to combine the data into an application that can be used by others.
What we learned
How to integrate Kivy and API calls to create an application that can help students check the busyness of each location. Also, manage the data received from the Google APIs and convert them into information for the user.
What's next
Create this application as an executable so that it is more user friendly Implement graphs to show trends in the area chosen. Add more locations that have the busyness feature Using app activities to further increase the accuracy of predicting traffic Users able to add locations
UCSC Location Busy Tracker
It will measure the busyness of people in a given location in UCSC. Shows hours of operation, if it is currently open, and how busy it is currently. It has a UI for ease of use; just click on the location and get the most recent data.
Directions:
- Go to terminal and clone this git into your folder and type in the command below
-
git clone git@github.com:achang93/UCSC_Location_Busy_Tracker.git - Go to terminal
- Make sure pip3 is installed already
- visit https://www.activestate.com/resources/quick-reads/how-to-install-and-use-pip3/ for more information
- Install Kivy:
-
pip3 install kivy
-
- Install Google Maps:
-
pip3 install googlemaps
-
- Install Geopy:
-
pip3 install geopy
-
- Make sure pip3 is installed already
- Make sure to create your own API key before running the program. With the use of the API key, you can access the Google Maps APIs. To learn more about creating an API key, visit https://developers.google.com/maps/documentation/javascript/get-api-key.
Once you have created an API key, you have to edit the "counter.py" file to input your API key (it will be at line 61).
Once you have everything set up and installed, run the program counter.py on the terminal with the command:
python3 counter.py
Front end:
To create the application for the user, we decided to use Kivy to help the user access different locations to check the busyness and operational hours. We implemented buttons that take the user to different locations.
Back end:
We used the Google Maps API and Python to help gather data on how busy the location is at the current time and also whether it is operational at that time. We also checked cases with respect to the time the user checked the information so we could check whether it was opening on the same day or not. We also included a feature to tell the user that the location will close in the next hour if the time they accessed it is within one hour of the closing time.
Challenges:
- placing buttons in the proper area
- Adding images and aligning them to the corresponding buttons
- checking whether to use today's or tomorrow's operational hours with respect to the the time the user accessed the application
- not all locations in UCSC have the busyness feature, so the places that can be added are limited
- Many API calls decrease the performance of the application, so there is a 1-2 second delay after pressing a button
Future Work:
- Add more features from the Google API into the application to help the user obtain more information about the location
- Decrease the execution time of each API call so that the user experience is smoother
- Add more UCSC locations that have or do not have the busyness feature, and then can be implemented if it does have that feature
Analysis
View
Metric
- 36
- 11
- 10
- 7
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
1 of 1 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
12 KB
Source files
7
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
achang93/UCSC_Location_Busy_Tracker
18 files · 3.1 MB · @ ec2e82c
Structure
Application logic
8 files · 44%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python70%
- Markdown23%
- XML7%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.