Project Overview - Social Connection Web App
Apply what you learn in workshops by building a full-stack application to foster social connection on campus. We've split this project into 9 assignments, one to go along with each workshop. Completing these assigments enables you to further develop your technical skills, make a project that looks great on a resume, and improve your Discover program application.
The Problem
Making new friends can be scary and challenging. Especially at Northwestern, where students come from around the globe with very diverse interests and experiences. For most, it’s their first extended time away from home, friends, and familiarity.
How do students navigate finding community and friendship on a campus of >8,000 while also facing difficult classes, uncomfortable living arrangements, and crappy dining hall food? Northwestern offers many imperfect solutions – roommates and dormmates, PA groups, student orgs, group homework assignments, campus events, frats, sororities, and the like. But the vast majority of people a student will meet won’t share their interests, background, or sense of humor. Finding a community where one feels like they truly belong remains a difficult task for Northwestern students.
That brings us to the primary concern of this project: How can we use software to streamline the search for social connection on campus?
The Project
Your task is to invent and build a web application that helps foster social connection on campus.
Your web application must have the following features:
- The ability for students to make accounts and profiles
- The ability for students to view and filter the profiles of other students by some criteria
- The ability for students to save the profiles of other students they are interested in connecting with, and view the profiles they saved
- Some way for connections in-app to become connections out-of-app (like a way for connections to contact each other)
These feature requirements are intentionally left very broad. We leave it up to you to think about how you will implement these features in a way that fosters social connection. Feel free to be as creative, as out-there, as funny, or as serious as you want it to be.
Here are some questions to consider that may help you get started:
- How did I find my friends?
- What do me and my closest friends all have in common?
- What information about someone would best indicate whether we would be friends?
Here are some example ideas (that you are totally free to use):
- Connect people based on shared classes
- Connect people based on their favorite memes
- Connect people based on buzzfeed quiz results
- A literal dating app
The Goals
There are 4 primary goals we aim to achieve by assigning this project to companion the 2024 DISC Fall Workshop Series:
- Students get practice using the most popular web development tools (Figma, React, Node/Express)
- Students get experience working on all parts of a tech stack (UX, frontend, backend, CI/CD)
- Students get a project that looks great on a resume
- Students are prepared to execute on a high level during the 2024 Winter/Spring Discover Program
The Schedule
This project is designed to be gradually created over the course of 9 weeks in a sequence of 9 homework assignments, to go along with each workshop of the 9-week Fall Workshop Series.
Here’s rough outline of how the project will be broken down:
- Create a figma wireframe of the user interface.
- Create a rough draft implementation of the wireframe using HTML & CSS.
- Set up a development environment and public git repository for the project.
- Begin building the user interface using React & JSX.
- Add routing and connect to a fake DISC-provided backend.
- Improve the performance of the frontend and maintainability of code.
- Build the real backend using Node & Express.
- Deploy the backend and connect it to your frontend.
- Add a bonus feature* and deploy the frontend.
- *Bonus features may include, but are not limited to, third-party user authentication, global state management, server-side rendering, location services, and recommendation algorithms.
You can also view the assignment schedule on the Schedule page.
Deadlines
Assignments will be released week-by-week during the workshop they correspond with. Assignment 1 will be released during Workshop 1, Assignment 2 during Workshop 2, etc.
For each assignment (there are 9 total):
- If you want it to be considered as part of your Discover program application, you must submit it as part of your Discover program application. This means it needs to be finished by the Discover program application deadline. This deadline is TBD, but you can expect it to be around the start of Winter Quarter 2025.
- Submitting all assignments demonstrates commitment, which is the most important factor in the Discover program application.
- Submitting good work demonstrates technical competence, which is the 2nd most important factor in the Discover program application.
- If you want feedback from DISC exec on your assignment, you must turn it in within 1 week of it being assigned. Basically, you must turn it in before the start of the next workshop.
- It is strongly recommended that you turn in your assignment by the 1-week deadline. Because (1) you don’t have to cram later and can enjoy your winter break and (2) you can improve your final submission for the Discover program application based on feedback from DISC exec.
Submissions
Every assignment will have different submission instructions. Be on the lookout for the assignment details, which will be released every workshop.