By Kalynn Kosyka, Computer Science & Data Science ’19
Currently, Smith College is going through major renovations which resulted in many staff members being relocated. The Campus Directory Map will allow the user to query on name, department, and/or person type (faculty, staff, student) from the college directory. After querying, the user will be directed to a page that contains a visualization of the location of members throughout Smith (e.g. mapping people’s campus addresses that satisfy the query). Underneath the map, there is a list of people that satisfy the query along with their information: name, address, department, and person type.
Launch the full application here.
This application is not only good for the renovation period, but also day-to-day use: It allows users, such as new students, to learn and easily navigate to locations of their professors and gain insight on Smith College (e.g. general idea where the Computer Science department is located).
When creating this program, I had started with the initial JSON file to gain access to all of the faculty, staff, students and their information. Information was then stored in a table through Postgres for organizational purposes and efficiency. Then I went through a lot of data clean up such as fixing typos in order to ensure consistency (e.g. “Young Library” vs. “Young Science Library”). Once I finished the clean up, I would identify the coordinates of the person’s location through another table – Master Smith Campus Directory Buildings through SQL. If I found any errors, I would do some more clean up and merge, and repeat until everything was fully clean. After the clean up, I put the data on a server (Geoserver) that would allow the web to access the information, which is where the user interface is. I created the front end page through HTML and Javascript with Leaflet.
With this experience, I definitely faced some challenges. My largest challenge, also a tad tedious, was the data cleaning. There were a lot of typos and inconsistencies that aren’t easy to catch at first glance. For example, there were some people who had the same Building location, but one had an additional space which both the queries and I did not catch. Another challenge, is figuring out what would be the most efficient way to store the data. Originally, the person’s campus address was connected with their room number (e.g. “Ford 305”), but I decided to split the values since I need the building for the coordinates. However, it is also easier to concatenate the information than split. Of course it is not hard to fix entries, but it gets tedious when there are hundreds of errors, and some of them are unique to itself. There are of course more errors and challenges, but those were the bulk of it. Fortunately, through this experience, I learned more about database systems and learning to use Geoserver data on front end pages.
We hope in the near future to get this project embedded in Smith College’s actual Campus Directory as an extension to visualize people’s location on Smith.