Project One: Onboarding
Project Description
You will create a single-page design that features a sign-up process to get new users to join some type of project, such as an email list, a software beta test, or an open-source community. Focus on designing for an effortless, engaging entry of personal information; and friendly, frictionless client-side tests and alerts for malformed, missing, or incomplete information. The goal of this project is to experiment with patterns of interaction that persuade someone to sign up for whatever it is you’re offering, which is not at all an easy task.
Project Goals
- Create a touch-friendly, mobile-first responsive web design
- Experiment with design and interaction patterns for pleasing user experience
- Design progressively enhanced page using at least two media queries
- Apply design principles including typography, color, and material design
- Engage in agile, iterative development; documented with plenty of commit comments
Deliverables & Milestones
-
First Deliverable: Create a Basecamp post describing your work
in progress. Title the post with your name and project number (example Daniel Krieglstein: Project 1). Your post should
include:
- The URL to your GitHub repository, and the URL to your Github Pages live link
- Two questions eliciting feedback on from fellow students
- Second Deliverable: Give constructive comments to help at least three other students.
-
Third Deliverable: Edit your original Basecamp post under Project 1 by fixing your code
based on feedback from the professor and fellow students. Additionally, add the following:
- Add a 3-4 sentence self-critique memo of your project and your progress in class to this point
Requirements
- Project must be built with only one valid well-formed HTML file, one valid CSS file, and one JavaScript file.
- All source files in UTF-8/Unicode character encoding.
- No code-generators like WYSIWYGs, Bootstrap, or other off-the-shelf frameworks
- HTML, CSS, and JavaScript files should both be indented with 2 spaces per level of indent; indent all CSS style rules inside the declaring block, and further indent all rules and blocks inside your media queries
- Must pass HTML and CSS validators!
- HTML requirements:
- Only structural, semantic uses of HTML elements and attributes. Absolutely no table markup, break tags, or any other use of HTML to achieve a particular page layout.
-
At least three HTML form elements, written in conjunction with
<label>
tags and thefor
attribute - Semantically structured text-based HTML content to accompany any media elements (image, audio, video)
- CSS requirements:
- CSS file should open with a set of reset styles. Meyers, and the Form section of Normalize.
- Use at least two min-width media queries to enhance your mobile-first styles for larger screens
- JavaScript requirements:
- JavaScript that throws no uncaught errors and is loaded unobtrusively (no JavaScript event attributes in your HTML, in other words; attach events to any elements requiring interaction)
- JavaScript that uses only asynchronous methods and callbacks
- Git requirements:
- A Git repository with frequent commits and meaningful commit messages that accurately reflect each set of changes that you make
- GitHub repository must contain only the files and commits from this project