There are likely many times you’ve tried buy, sell or donate things around campus. Perhaps you were interested in buying a used bike, or finding someone who’d give you a ride to the airport next weekend, or figuring out who might want your old bed frame so you didn’t have to move it once you graduated. Chances are you would have tried to ask your friends if they had any leads, or maybe post your request on social media. While those strategies can certainly yield success sometimes, it’s likely that the set of people around you who could fulfill your request is larger than the set you were able to reach.
Many cities and campuses have addressed this need by popularizing the use of a web-based classifieds bulletin. Craigslist is a pretty famous example of such a system - however, there isn’t a Northfield/Carleton instance of that site.
One of my 2019-2020 comps groups did some work to change that by building the first iteration of Carleton Classifieds. The current version of the system they built includes many of the features that you'd expect on such a platform - users can create listings for items they want to sell, and buyers can look through these listings, and contact the relevant seller to make a purchase or exchange.
However, there are several opportunities to expand this system beyond its baseline features. Here are a couple of examples:
Often, people are flexible on the price that they are willing to sell an item for. In the current iteration of the system, sellers are required to list an item for a certain price, and buyers can express interest based on that. A potentially useful extension to this could be features that allow for real-time price negotiation, or bidding on active listings.
Many different kinds of people are present in the broader Carleton community, and may have different needs from a classifieds system. For example, faculty and staff may be much more likely to use such a system to find babysitters or dogwalkers, and students may be more likely to use it to find rides to the airport. The current version of the system considers 'buyers' and 'sellers' as the main categories of user. This can be extended to include a richer set of user categories, such as "student", "college employee", or "Northfield resident", which could allow listings to be shown to (or hidden from) particular user groups.
The project
In this project, you will create the second iteration of the Carleton Classifieds system by familiarizing yourself with the existing project and implementing additional features. This will entail the following steps:
Go through the existing codebase and accompanying documentation, and familiarize yourself with how its built. The current version of this system is built in Django and React; expect to learn more about these frameworks.
Conduct usability tests and heuristic evaluations of the current version of the system (this was hard for the last group to do because of the pandemic). What's working well? What's not? Use this information to iterate on the design of the user interface.
Decide on at least two additional features your team will add to the project (either from the suggestions I had above, or something else entirely), and implement them.
Continue refining your design with extensive unit testing, and additional usability tests. Maintain documentation.
Work with Andrew Wilson and ITS to deploy the system so that people at Carleton can actually use it!
Recommended experience
Background from CS 257 (Software Design) or equivalent experience is essential for this project. CS 344 (Human Computer Interaction) would also come in handy.