Carleton Classifieds: Building a Marketplace to Connect the Carleton Community Danielle Eisen, Sophia Maymudes, John Mullan, Josh Oettinger, Tresa Xavier
Zoom goes here 2
Goals for this Project ● Complete user research to see what needs of the Carleton community are not currently being met in the area of buying and selling ● Build a web-based classified ads system that effectively addresses all of the above requirements ● Complete usability testing on the system, implement feedback, and deploy to the Carleton community 3
Presentation Roadmap ● User research ● Design and architecture of the front end and back end ● Site demo ● Back end functionality ● Steps for the future 4
● Who We Interviewed User Research ● Questions ● Requirements Process & Requirements 5
Current Systems in Place For students: Free and For Sale For faculty/staff: CarlsList 6
Interviews ● Google Survey posted in Facebook class groups and on CarlsList ● In Person Interviews 7
Questions We Asked In our broad survey: keep it simple ● Are you a member of Free and For Sale /CarlsList? ● Have you ever bought items using the group? ● Have you ever sold items using the group? ● On a scale from 1 - 5 (1 = almost never, 5 = every day), how often do you check the group? 8
Who We Interviewed ● Five current Carleton students of varying class years ○ All had used Free and For Sale before, but for different purposes ● One Carleton faculty member and two staff members ○ One staff member was a recent alum, so we asked him questions about both groups 9
Questions We Asked In one-on-one interviews: go more in-depth ● What types of items have you bought/sold? ● What is the process for buying or selling items? ● What do you like about buying or selling items in the group? What do you dislike? ● Are there items you wish were sold or advertised in the group? ● Are there other avenues you’ve taken to sell/give away items or buy/request services? 10
Results: ● What People Liked: ○ Platforms provide Community ○ Sense of Trust associated with Carleton ○ Easy & Simple Process ● What People Disliked: ○ Hard to Tell If Items were sold ○ Hard To Search ○ Hard to Keep Track of Interested Buyers ○ Inundated with Emails or Comments 11
Results ● Unusual & Difficult to Get Rides 12
Main Requirements ● Buyers ○ Save Items For Later ○ Identify Sold Items Easily ○ Search for Type of Item ● Sellers ○ Create Post, Identify Buyers Quickly ● Ride Seekers / Ride Givers ○ Create Post & Get Notified on Response. 13
14
Frontend ● Wireframing ● Design Choices Design 15
16
17
18
Frontend Design Process ● Usability Testing ● Gleaned inspiration from Facebook & Amazon UI 19
Frontend Architecture ● React Javascript Library ○ Most popular frontend dev tools ○ Wanted to gain proficiency ● Designed Components using Bootstrap Library 20
21
● Using a framework ● Requirements to endpoints Backend Design ● Why Django? ● Database decisions Architecture & Decisions ● Hosting considerations 22
Using a framework ● Focus more on fulfilling requirements than details ● Integrates well with database & frontend 23
Fulfilling requirements with endpoints ● Requirements ○ Based on user research ● Endpoints ○ Users ○ Rides ○ Items ○ Navigation, etc. 24
Why Django? ● Uses Python ○ Sustainable ● Features ○ Authentication ○ Database connections ● Integrates well with React 25
Database Decisions ● PostgreSQL vs SQLite ● Familiarity ● Simplicity ● Compatibility 26
Hosting Considerations ● Server for database & site ● Main issue: continuity ● Carleton infrastructure? ● Virtual machine in the CMC 27
● Login with Carleton email The Site ● View/create listings ● View/create ride requests ● Save listings/rides Basic Structure & What We Have So Far 28
Structure of Site ● React for site appearance ● Redux for global state & persistent storage ● React-router for handling navigation within single-page application ○ Also handles authentication for pages 29
Login Flow 30
31
Creating a Listing 32
33
34
35
Creating a Ride Request 36
37
38
BACKEND: OVERVIEW models.py urls.py views.py 39
PLAYERS CLIENT SERVER REACT DJANGO HTTP POSTGRESQL 40
HTTP MESSAGES REQUEST RESPONSE PATH GET STATUS CODE METHOD POST BODY DELETE 41
DJANGO: URL MAPPER PATH itemposting/create/<title>/<description>/<price>/ URL CREATE_ITEM_POSTING MAPPER TITLE PATH 1 DESCRIPTION PATH 2 PRICE 42 PATH N
DJANGO: VIEW CREATE_ITEM_POSTING TITLE VIEW DESCRIPTION PRICE ENDPOINT 1 RESPONSE ENDPOINT 2 CREATE_ITEM_POSTING METHOD POSTGRESQL 43
CLIENT IDENTITY CLIENT SERVER REACT DJANGO HTTP POSTGRESQL 44
AUTHENTICATION STEVIE ABCD P. GOOGLE STEVIE ABCD P. 2 5 STEVIE 4 ABCD 1 P. CLIENT SERVER 3 ABCD 45
Next Steps Things we didn’t get to and hopes for the future 46
Future Site Functionality ● Upload photos for a listing ● Send email notifications to users ● Anything else next year’s team cooks up! 47
Roadmap to Release ● Add remaining functionality ● Perform usability testing ● Iterate using feedback from users ● Find a long-term server for site ● Make the Carleton community happy! 48
Thanks for watching! ● Extra special thanks to Sneha Narayan, our amazing advisor ● Thanks to: ○ Mike Tie and Andrew Wilson for all their help with the technical side of our project ○ All the students, faculty, and staff who we surveyed and interviewed for their insight 49
Recommend
More recommend