Skip to main content
Version: 2024sp

Assignments

Assignments will be released here after lecture! There will be 5 assignments total, including a final project spanning the last few weeks of the class.

You are allowed max 3 slip days (out of 6 total for all assignments and the final project) per an assignment.

The class is scheduled to finish well before finals week.

Assignment 1: Due on CMSX by Mar 4 at 11:59pm

Assignment 2: Due on CMSX by Mar 11 at 11:59pm

Assignment 3: Due on CMSX by Mar 25 at 11:59pm

Assignment 4: Due on CMSX by Apr 8 at 11:59pm


Independent Project Starter Templates

Frontend Starters

If you're trying to create a new frontend React project on your own, cd into a directory of your choice, and then use one of our starter templates (highly recommended):

The following command creates an incredibly simple React project:

pnpm dlx degit cornell-dti/trends-mono/frontend-starter your-project-name

The following command creates a more advanced React project with a component library, icons, and routing built in for you:

pnpm dlx degit cornell-dti/trends-mono/frontend-starter-advanced your-project-name

Note that neither of these projects include a backend!


Why use our custom frontend templates?

In the past, people recommended using Create React App. However, in recent years, popular opinion has turned against this specific starter: in fact, it was removed from the official React documentation recently. Since we're literally "Trends in Web Development", we want to use the latest and greatest tools, and that means not using Create React App.

Well, where are the Trends pointing towards? Past semesters of Trends used Next.js, a popular React metaframework (that is, a framework built atop another framework) that adds a lot of useful features to React. However, the future of Next.js is increasingly unclear: it's heavily opinionated, with a business focus on locking its users into its ecosystem, increasingly slow and unnecessarily complex, and just increasingly controversial.

So, we've created our own lightweight starter template built atop Vite, an incredibly popular, fast, and un-opinionated build tool by Evan You, the creator of Vue.js. Using industry standard technologies like React Router and easy-to-get-started-with libraries like Mantine and Lucide, we've created a starter template that's easier to use, easier to understand, and easier to build upon.

Disagree? That's fine! You're free to use whatever React-based metaframework you want for your project, whether that's Next.js, Remix, Create React App, or something else.