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

Do not make a Foobooks clone

When coming up with your project idea, 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 completely off limits. In fact, some of the examples given above are catalog-style applications (BoardHoarder is cataloging board games, Chirper is cataloging messages, etc).

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.

Projects that are a copy/paste/swap version of Foobooks will face a large deduction, and if the similarities are striking enough, they may not earn credit.

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.

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) 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.