Sprint 3: Server-Side with PHP and SQL

Due: October 26, 2021 at 11pm

Purpose: This sprint will help you practice the following skills, reinforce knowledge, and experience server-side web development.


In this sprint, you will work in your project groups to implement server-side web components written in PHP to perform some of the functionality of your project. While it is possible to embed HTML into your PHP code for all server responses, you will additionally be required to implement at least one response that returns a JSON object instead. By planning for your server to respond with format-independent data (JSON, instead of HTML), it will help with development, maintenance, and evolution since it provides for additional separation of concerns. Specifically, it will help us when connecting our server-side PHP with client-side JavaScript as well as transforming our client side to Angular.

You are encouraged to add enough service and behavior to your application to start to fulfill the vision that you set out in your project proposal.

You will also continue to ensure that your code is valid HTML5 (to ensure optimal compatibility) and that it meets Section 508 standards (to ensure accessibility of your site).

Sprint Requirements

Please consider the following as minimum requirements only. You are strongly encouraged to get creative and do more than this, but this is what will be required to receive full credit.

Minimum Requirements

These requirements must be implemented in PHP (thus, your file must be .php).

Grading Rubric

Total: 160 points + 10 extra points

Note: All partners must be present at the demo. Otherwise, 10 points will be deducted and you are required to reschedule the demo.


Upload all of your .php, .html, .css, and any image files to the Sprint 3 assignment on Gradescope. Gradescope will accept a zip file, individual uploads, or a GitHub repository for your submission. You must include your partner in the group submission on Gradescope for both partners to get credit for the assignment.

Your program will be graded during an interactive session in which you demonstrate it to the course staff (instructor and/or TA). You will have to sign up for a demonstration slot in order to do this. A sign up page will be available for you to use as the deadline approaches. Sign up early so that you get a time slot you want.

If you do not do a demonstration, you will receive no credit for the sprint.

Part of your grade will be based on explaining code segments and/or design to the instructor or TA. Come to the demonstration prepared to talk about your code.

Even though you will be demonstrating the files after the deadline, all the code must EXACTLY match the code that was submitted, and cannot have been modified after submission deadline. Several randomly selected assignments will be tested by installing the submitted files back onto the server before running the program. If it is determined that your code was modified after submission deadline, you will not receive credit for it.

Note: Making your submission available to the course staff is your responsibility; if we cannot access your files and your site on the cs4640 server, then we have to assign a zero grade. Be sure to test access to your files before the due date.

Important Note: All code in this assignment must be your own! You are free to use the course handouts and examples as a starting point. You may refer to online resources with proper citation but you CANNOT take any code from the web or any other source. Assignments that are found to have done this will be given a zero and submitted to the Honors Committee. You may not use code you have submitted for another course.

Reminder: Special Helper Extra Points

1 point for each project helped, up to 10 (total) extra project points

For each sprint, if you get help from your classmates (excluding your project partner), when you submit your assignment, please make a note (helper.txt) that:

Note: Extra points will not be awarded if any of the above information is missing.