Final Project: Dynamic Application Prototype
This page is a public draft.
Its contents may still change.
Your Final Project for CS 343 is to collaborate with your teammates to build a Dynamic Application Prototype (DAP 👊).
Project Overview
Teams of students will create a useful frontend web application that:
-
Is Vanilla
Is written in vanilla HTML/CSS/JS, doesn’t use any frameworks like React/Svelte/Vue.
You are permitted to use existing client-side libraries (Ex: Chart.js, Grid.js).
-
Is deployed Publicly
Does not require any packages to be installed locally.
-
Has Responsive Design
Looks good on both desktop and mobile.
-
Meets A11y Guidelines
Passes audit for WCAG 2.1 AA.
-
Persists Data
Uses
localStoragefor data persistence. -
Exports and Imports Data
Supports export and import of data.
-
Integrates with a “3P” API
Better Together…
Your app will make requests to existing third-party (“3P”) services on the web to provide functionality that might not be possible in a client-side-only app.
Deliverables
- Planning – due Monday, March 30th
- Design Narrative
- Design Sketches
- Implementation – due Monday, April 20th
- GitHub Repository
- Presentation – during Finals Week
- See Final Exam Times for your section
Planning
For this first project milestone, you will come up with an idea and direction. You will also create an annotated design sketch of your application’s layout. In the end, you will submit two pdfs with your proposed project ideas.
See more details on the Planning Milestone Details page.
Implementation
You will collaborate with your teammates to build the project you’ve planned. It is ok to deviate from the original plan (it’d be surprising if there was no deviation whatsoever). We will employ a Team-Based Claims System (1000 Points Maximum) to grade the Implementation component of the project. This means your team will periodically demonstrate that you have progressed toward the goal. Specifically you make the claim that your project implements or satisfies a claim as outlined in the Implementation Grading Scheme.
See more details on the Implementation Milestone Details page.
Presentation
During your section’s Final Exam Time, your team will give a 10–12 minute presentation of your project.
See more details on the Presentation Milestone Details page.
Logistics
After forming your teams, you should:
- Make your team known to your professor by the means they have indicated (e.g. in Canvas, GitHub Classroom, or otherwise)
- Do all your work for all parts of this project in the repository the professor specifies (e.g. one the prof [or github classroom] created for you).
Acknowledgements
- Current CS 343 Instructors for their collaboration on this assignment.
- Dr. Michael Kirkpatrick for his contributions to this project spec as it has evolved over the years.
- Prof. Phil Riley for his claims system.