CSCI E-15 Web Server Frameworks with Laravel/PHP

← Projects

Project 1 Workflow setup + PHP foundation

Submitted as part of your Week 3 assignment (Due Tue Feb 14 11:59pm)


For this first project you will create a basic string-processing application.


The goal of this project is to:

Note: Consider this first project a “warm-up” for the semester. For Projects 2 and 3 you’ll have the opportunity to build an application with greater utility/creativity.

String processors

1. (Required) Is palindrome?

Indicates whether the input string is an alphabetic palindrome (letters same forwards and backwards). Case insensitive. Non-alphabetic characters are ignored.

Example strings and results:

"racecar" => Yes
"Racecar" => Yes
"racecar!" => Yes
"!racecar!" => Yes
"Hello World" => No
"!!" => No
"!@#$" => No

2. (Required) Vowel count

Indicates a count of how many vowels (aeiou) are in the input string. Case insensitive.

Example strings and results:

"the quick brown fox jumps over the lazy dog" => 11
"Hll Wrld" => 0
"AeIoU" => 5

3. (Optional) Letter shift

Processes an input string such that each letter is shifted +1 position in the alphabet.

So a becomes b, b becomes c, [...], z becomes a.

Capitalization should be retained so A becomes B, B becomes C, [...], Z becomes A.

Any non-alphabetic characters should be left as is.

Example strings and results:

"The zoo is open" => "Uif app jt pqfo"
"foobar@1" => "gppcbs@1"
"aAb" => "bBc"

4. (Optional) Create your own...

Design one additional processor that is similar in concept to the above tasks in that it provides some calculation and/or takes some input and produces some altered result.



This project will be submitted/due with your Week 3 assignment (due Tue Feb 14 11:59pm). In that assignment I will have prompts asking you for your submission URLs (Server URL, Github repo URL, URL of last commit).

All final commits should be made before you submit your Week 3 assignment. Small commits made after the assignment deadline (e.g. a small bug fix, a typo correction, etc.) will be considered when grading, but any notable commits will not.


Getting help

You are allowed/encouraged to post questions about this project/your code in the forum. You are also allowed/encouraged to utilize the PHP documentation, Google, StackOverflow, etc. to assist with project development/troubleshooting.

Be sure to read the course policy on original work and academic integrity to make sure you are responsibly using outside resources and getting the most out of this project.


It is expected that projects will follow all best practices discussed in lecture/notes, even if they are not explicitly mentioned in the specifications above. Failure to do so may result in point deductions.