Web Application
The web application is the final deliverable for the project. At this point, you’ll populate your database with representative (or real-world) data and integrate your website to create a fully-functional web application.
Although minor deviations from your proposal are expected, significant changes – such as reducing functionality – require review and approval from the instructor.
- Expected duration
- 10 hours
- Deadline
- 2359 on Lesson 40
- Points
- 75 points
Learning Objectives
- Generate representative data and populate your database
- Construct a web application that combines your database and website
Help Policy
- Authorized Resources
- Any, except classmates working on other teams
- Notes
- Never copy another person’s work and submit it as your own.
-
You must document all help received from all sources, including the instructor and instructor-provided course materials (such as the textbook).
Assignment
Complete your web application so that it provides the functionality described in your proposal. At this point, your database should be fully populated with representative information with the web application providing a way for users to interact with that database.
You must create a file that contains the SQL commands to create your database
(i.e., all the tables) and to populate it with data. Prior to grading, this
file will be executed to ensure that the machine used for testing is configured
appropriately for your web application – that is, the database exists and
contains representative data such as that shown in your project
demonstration. This
file must have an extension of .sql
and be named after your application. For
example, if the name of your project is the unimaginative “awesome-project,”
then the file name should be awesome-project.sql
. See the REST API
exercises for
an example of such a database script.
Submission
Create an archive of your website and submit that archive using Canvas. In addition, submit a file that contains the SQL commands to (re)create your database; this file may be “hand written” SQL commands or a “dump” created by the database management system (DBMS) as long as that dump is readable by someone who is familiar with SQL. Include your documentation statement with your submission.
You must schedule a half-hour block to demonstrate your website to the instructor within one week of the due date. Please schedule your demonstration as early as possible to facilitate the timely submission of final grades. Expect to exercise all aspects of the application’s functionality during this presentation.
Grading
The following grading rubric will be used for this assignment:
Description | Points |
---|---|
In-class demo | 5 |
Database schema | 10 |
Representative data | 10 |
Security | 10 |
Functionality | 25 |
Alignment with proposal | 15 |
Failure to schedule a demonstration with the instructor will incur a 20% penalty!
More detail for each component is as follows:
Criteria | Superb (100%) | Proficient (90%) | Competent (75%) | Marginal (50%) | Unsatisfactory (25%) |
---|---|---|---|---|---|
In-class demo | Engages audience, provides an overview of key functionality | Provides overview of key functionality | Provides overview of some, but not all functionality; delivery may be “flat” | Limited overview, unenthusiastic | |
Database schema | Implements schema correctly in SQL | Implements schema correctly but with minor deviations | Implements schema but with a major deviation | Implements schema but with multiple major deviations | Implements a portion of the schema |
Representative data | Substantial amount of representative data for all database tables | Sufficient data to demonstrate functionality; includes most, but not necessarily all, of the database tables | Sufficient data to demonstrate functionality | Data limited to some portions of the database schema | Data extremely limited or non-existent |
Web security | No issues, all inputs handled correctly | Minor issues, but no obvious vulnerabilities | Major issue, such as an SQL or XSS vulnerability | Multiple major issues, including exploitable vulnerabilities | No security controls present |
Functionality | No issues, commensurate with a professional website | Minor issue, such as UI challenges | Multiple minor issues | Major issue, such as an inability to complete CRUD operations for some data | Multiple major issues |
Alignment with proposal | Provides all functionality described in proposal | Minor deviation from proposal | Multiple minor deviations from proposal | Major deviation from proposal | Multiple major deviations from proposal |