1. Overview
In this assignment, you will create a User Profile & Registration Form using pure HTML (no CSS, no JavaScript).
You will use Git Flow to manage your project development.
You will:
-
Build the HTML form in your Git repository
-
Use Git Flow branches:
-
development in dev branch
-
testing/staging in beta branch
-
final production in main branch
-
-
Publish your form using GitHub Pages, which must be served from the main branch
-
Submit only the GitHub repository URL on Moodle
2. Learning Objectives
You will learn to:
-
Create structured HTML forms
-
Use common HTML5 input types
-
Apply semantic form architecture (
fieldset,legend,label) -
Organize work using a simple Git Flow workflow
-
Publish static HTML from the main branch using GitHub Pages
3. Task Description
Create a single HTML file that contains a User Profile & Registration Form.
Your file must be named:
This file must exist in the main branch at the end.
4. Form Requirements
Your form must include the following elements and sections:
πΉ A. User Information
Use <fieldset> + <legend> for this group.
Required fields:
-
Full name β
<input type="text" required> -
Email β
<input type="email" required> -
Password β
<input type="password" required> -
Phone β
<input type="tel"> -
Birthdate β
<input type="date">
Each input must:
-
Have a
<label for=""> -
Use a proper
id="" -
Include appropriate validation (e.g.,
required,maxlength, pattern if needed)
πΉ B. Preferences Section
Use another <fieldset> + <legend>.
Include:
-
Gender β radio buttons (Male / Female / Other)
-
Hobbies β at least 3 checkboxes
-
Country β a
<select>with at least 5 options
πΉ C. Profile Setup
Include:
-
Profile picture β
<input type="file"> -
Bio β
<textarea rows="3"> -
Favorite number β
<input type="number" min="1" max="100">
πΉ D. Form Buttons
At the bottom of the form:
-
Submit β
<input type="submit"> -
Reset β
<input type="reset"> -
Regular button β
<button type="button">
No JavaScript required or allowed.
5. Technical Requirements
-
β HTML only (no CSS, no JS)
-
β At least 2
<fieldset>groups -
β At least 10 total inputs
-
β Every input must have a valid
<label> -
β Clean indentation and readable structure
-
β Must render correctly in a browser
6. Git Flow Requirement (Important)
You must follow simple Git Flow branching:
1. dev branch
-
All development work happens here
-
All new code is written in
dev -
Frequent commits are expected
2. beta branch
-
Merge
devβbetawhen development is feature-complete -
This branch represents βtesting/stagingβ
3. main branch
-
Merge
betaβmainonly when the work is fully ready -
This is the production branch
4. GitHub Pages
-
Must be published from the
mainbranch -
Ensure
index.htmlis located in the root ofmain
7. What to Submit on Moodle
Submit only the GitHub repository URL, e.g.:
The instructor will check:
-
Branch structure
-
Commit history
-
Git Flow usage (dev β beta β main merges)
-
GitHub Pages working from
main -
HTML file correctness
8. Grading Rubric
| Criteria | Points |
|---|---|
| Correct form structure & required input types | 4 |
Proper semantic elements (form, fieldset, legend, label) |
3 |
Validations (required, min/max, etc.) |
2 |
| Git Flow followed correctly (dev β beta β main) | 3 |
| GitHub Pages published from main branch | 2 |
| Code readability | 1 |
| Total | 15 |