home—lects—exams—hws
D2L—breeze (snow day)
project
Project
requirements
For this course,
teams of four students
will design a web application.
-
A reservation system:
Enter room-requests,
have them approved,
show all reservations for a given room,
show all reservations for a given client,
udpate a room's details.
Include a calendar view.
-
A specific variant of the above:
A scheduling tool for RU students to make (advising) appointments w/ a faculty member.
For example, spend an hour trying out a site like checkappointments.com
(setting up your schedule and having a friend arrange an “appointment” with you),
and see if you can make a site which is better for the specific task of RU student advising.
-
mp3 shop:
Browse inventory,
search for albums/artists/songs,
release files upon payment,
update inventory.
-
sports-team database:
Look up information about players and about teams;
administrators can to update such info;
users can have a list of favorites teams or players
and log in to see summaries.
Allow users to either make changes to data,
or suggest changes to be reviewed by an administrator.
-
A page for a (campus) club.
Perhaps one with events that people can sign up for;
or perhaps one with a bio sketch for each member;
…
You can also suggest your own projects instead of the above.
However, they must include the following features:
-
Your pages are reachable via
https://php.radford.edu/projn, where n
is your team-number (in {1,…,5}).
-
User authentification,
either as a client or a manager/administrator.
-
A back-end database to store information.
-
Pages for clients to
enter new records,
and view all their own records (possibly modifying/updating parts of them);
-
Pages for administrators to modify any records (with safeguards),
view appropriate
groups of records (e.g. all reservations for next week),
with a page for administrators to enter/modify any record,
a way for a client to enter/modify parts of their own record,
and
ways for administrators to view summary of many records.
-
Data validation performed (as appropriate)
on the client-side, server-side, and database back-end.
-
As appropriate, a unified appearance for all the pages.
-
You may use tools like dreamweaver,
as well as libraries like Node.js or PEAR packages you install.
Be sure to cite code you get from elsewhere
(e.g. a bunch of php/javascript for showing a clock/calendar),
and during your presentations be up-front about what libraries
and code you made use of.
(Discussing the difficulties of integrating others' code certainly
can be a worthy topic, as well.)
If you feel unsure whether you're borrowing too much,
just talk with me.
Note that the individual homeworks are where the course
ensures you know various specifics of coding;
the project is intentionally there to help you expand
your vision of what your sites can (or, should) do.
Checkpoints include:
-
Submit a proposal (10%): Mar.22 (Fri)
-
Team name,
-
members, with one name designated as the primary contact
-
a list of pages that site will contain,
along with:
-
what input fields each page has (if any),
and what data/validation will allow a successful SUBMIT;
(perhaps even the exact id/name attributes
for each input field)
-
what page-specific information that page is displaying (if any);
-
what successor page(s) each form can lead to
(with a ~one-sentence description of the criteria)
-
A database schema/ERD:
what tables,
what columns they have,
and one-to-two sample rows for each table.
Show primary and foreign keys.
(This can be hand-drawn, but neatly (using ruler etc).
Or you can use a tool such as Visio,
which might save time during updates and presenting later.)
You aren't locked in by this proposal;
it is intended to make sure you have thought through what you
need to do, and that the entire group understands
exactly what functions will be implemented.
-
Apr.12 (Fri):
Prototype (10%), with a class demonstration (10%):
-
A stub for each page,
with input forms and links
(validation not fully required).
-
An instantiated database with the indicated tables,
and at least four rows of sample (concocted) data in each
(exercising the range of cardinalities in the ERD),
and
at least two sample SQL queries that might
be eventually generated by the web form
(but not necessarily connected to the web forms).
-
For the presentation:
this is fairly informal — you don't need to dress up,
nor have powerpoint slides (though you certainly may, if you like).
But you do need each person to partake in the presentation,
make eye contact with everybody in the room (not just the professor),
and not have any misspellings on your web page or database samples.
-
The pages and database design you present are locked in at this point.
- May.03 (Fri)
Final project (40%), with a class demonstration (20%):
Full data validation and database connectivity.
In your demo, include a few moments to talk about
technical and managerial difficulties you encountered (expected or not).
- May.05 (Sun) 14:00:
Peer evaluation (10%):
Evaluate both other groups' presentations,
and your teammates.
project-team-feedback—itec325 project feedback
home—lects—exams—hws
D2L—breeze (snow day)