Penn Chats is a project inspired by LunchClub (https://lunchclub.com/), a platform that facilitates online social networking, created for the student community of MCIT Online, an online master's program offered at the University of Pennsylvania. The project aims to provide an easy way for the student community, where members are spread across different geographies, to form connections amongst one another.
The project outcome is a web application that pairs students given a predetermined set of criteria such as time availability, enrolled coursework and career aspirations. These categories will come with pre-populated options for students to select from.
Upon receiving matching preferences from users, the application will put students into groups and notify them via email of the date and time they would meet.
A new user would interact with the website in the following ways:
- Create a new account
- Update user profile
- Submit a form that contains matching preferences
- Be notified of matches
- Return to website to see matching result
- Check profiles of peers
The website employs the Blueprint library in Flask and is broken down into three components: core, students, meetings.
Includes the home page and about us page
Includes the register, login, logout, edit profile, sign-up for Penn Chats, and Student Profile pages
Includes the generate and results pages
Main entities of the database include:
- Students
- Courses
- Interests
- Time Options
- Networking Goals
- Weekly Signups
- Meetings
- Unmatched Students
Penn Chats is developed using Python and the Flask web framework, with PostgreSQL as the back-end database solution.
The design principles of the algorithm:
- Set the number of students per meeting to 2-5 people
- Prioritize primary time preference & networking goal
- Handle unmatched students separately