This is a Paired Programming Project. It is the second in a three part semester project working toward a class federation of travel websites. Teams will be assigned through Canvas by close of Friday 3/9/18. You will have a new partner, and one of the first challenges of his assignment is deciding how best to integrate exiting code from your respective project 1 sites.
This project extends the previous project in five major ways:
All pages must use the FuelPHP Framework. The database must use models for access. Database entried can be stored in a text file for now. Be ready to change this in project 3 by simply using a different model class.
Please refer back to the Project 1 requirements. Unless there is some explicit reason that a requirement for Project 2 supercedes Project 1, assume those original requirements are still in effect. For example, do not take away the ability for a Customer or Administrator to add comments. An administrator may also edit any previously left comment and even delete a comment. Comments are now persistent.
Once an administrator is authenticated with the site, they can initiate a process of adding an Attraction. That process will require submission of a name, new text description, and the uploading of an image. The text will all be entered into a database of your construction. The file name of the iamge will also go in the database.
A customer can add and remove brochures from a shopping basket and submit an order. Once submitted, the customer and the administrator(s) receive and email version of the order.
If a designated user looses or forgets a password, a special recovery process through email will be impmemented. What is critical is the user carry out the entire process in the same browser session.
The appearance of your site must be professional. We recognize that at one level 'Professional' is a vague term, but you are an experienced consumer of web content and should have your own understanding now of what is and is not a well designed site. We will of course discuss this in class and if in serious doubt, ask. As a guide, here are some general hints:
This project, as will be the case with all projects in this course, is a team programming exercise involving groups of two. In the working world, it is rare that one selects one's teammates, and so it will be here (except if electing to use your one pair choice). New teams will be formed for each of the projects assigned through the course of the semester. You will be able to see your assigned team from within Canvas. It is up to you to then contact each other and make arrangements to work together.
Each team member will submit a single tar file "eid1-eid2.tar" with all the required files. Submission will be through Canvas.
Do not use any web development application, for example Dreamweaver, to create your site. You are doing this work to gain experience writing HTML, CSS, PHP and Bootstrap. Also, always remember that your work will be tested with Chrome on department machines.
You have all been told this before in other classes, but it needs to be stated here clearly. There is a lot required of you before you will have a full and complete solution to this assignment. Also, there are elements where we will not cover the material associated with this part of the assignment until later. You are being given several weeks to work on this and you are expected to start work immediately. Development is an incremental process and you and your team partner need to start setting intermediate goals; and then making those goals. If you wait until one week before this assignment is due then one of two things will happen. By far the most likely outcome is you fall far short of the requirements. Much less likely, you will demonstrate a rare talent for coming through in the eleventh hour; please do not count on this second option working.
Please provide the following accounts:
Username | Access Level | Initial Password Hash | |
---|---|---|---|
aaronper | customer | aaronper@cs.colostate.edu | 449a36b6689d841d7d27f31b4b7cc73a |
aaronadmin | admin | Aaron.Pereira@colostate.edu | d31bfd85d0a81046f70304ebfecdffbf |
bsay | customer | bsay@cs.colostate.edu | 790f6b6cf6a6fbead525927d69f409fe |
ct310 | admin | ct310@cs.colostate.edu | a6cebbf02cc311177c569525a0f119d7 |