Project 4: Open-ended application (with database)

The final project in this course brings together the skills we've learned throughout the semester to create a fully functioning web application that uses Laravel and interacts with a database.

This project is mostly open-ended with the following key requirements:

You can, but are not required to, implement a user login/registration system that correlates to data in your application (this will be discussed in Week 13).


Application inspiration

Past student applications

More inspiration

Ambitious ideas

If you have an idea for an application you've been wanting to create, but it feels broader than the scope (and timeline) of this project, think about tackling a smaller portion of the application as a prototype/proof-of-concept.

Avoid a straight Foobooks clone

Try to think outside the box of a “catalog” application like Foobooks— that is, an application that simply manages records of data (be it books, movies, games, etc.)

A catalog-style application is not off limits. In fact, many of the examples given above are catalog-style applications (BoardHoarder is cataloging board games, Judith's Kitchen is cataloging food, the Task Manager is cataloging tasks).

However, while these applications bear similarities to the general idea of Foobooks, they do implement unique features not demonstrated in Foobooks, or tackle similar features in a unique way.

Avoiding code plagiarism

Be sure to read Policies: Original work and academic integrity to make sure you are responsibly using outside resources and getting the most out of this project.

General requirements





Q) What if my application idea does not need one of the CRUD operations, for example, delete?

Create a feature that demonstrates the un-needed operation just for the purposes of the project requirements. You do not have to link this feature from your application's interface/navigation if it's not actually needed, but you should outline in your file how to view that feature in action.

Q) Can I continue the idea I used on a previous project?

Yes, but you must set up a new project/repository/subdomain specifically for Project 4. From there, you can copy over the portions of code you wish to re-use from a previous project. This may feel redundant, but the process of building a new application from scratch again reinforces the practice of doing so.

Q) How many controllers/views/routes should my project have?

That depends on what you're building. Some projects may be similar in scope to P3 and require a single controller, a couple routes, and a couple views. Other projects may have multiple features across multiple pages, in which case you'll need more views/routes and potentially more controllers to logically organize your application.