Assessment Title : Book Review Website.
Book Review Website
Assessment Title : Book Review Website
Learning Outcomes of this Assignment
_ Create a scaleable, modular web application
_ Object Relational Mapping
_ Use of templating engines
Key skills to be assessed
_ Managing your own learning
_ Problem solving
_ Programming and application design
Tasks and Allocated Marks
You are required to create a book review site using the Symfony components and framework.
The information about books and users must be stored in a MySQL database and interacted
with through Doctrine ORM. The application structure should follow the recommended project
structure from Symfony including, but not limited to; Twig templates, Bundles and MVC
The following items must be submitted for assessment:-
1. A working copy of your application in a .zip archive (proprietary formats such as .rar archives
will NOT be accepted)
2. A written report accompanying your web application in PDF formation (proprietary formats
such as .doc or .docx will NOT be accepted)
The assignment must be completed on your own. The assignment must be completed on time
and standard university lateness penalties will apply. Marks will be awarded for:-
a) Quality of overall application design
b) Quality of code written
c) Use of Symfony components and external bundles
d) The written report which accompanies the website
Your web application should allow users to register, login, create and view book reviews. The information about the book review should include book author, title, a summary, reviewer and the actual review. Non-authenticated users should not be able to write a review but should be able to read them.
The application should allow multiple users to review a single book. Thus meaning a user
should be able to add a book if it does not exist, and then other people should be able to write reviews about that book that has been created.
The student should demonstrate they have clear understanding of Symfony framework/components and application design. It should be a well structured application with a number of extra fea-tures which may include (but not limited to):
_ Multiple role levels (e.g. user, moderator and administrator)
_ Search functionality
_ Review rating system
_ Image uploading
Handing in Work
Your assignment must be submitted through blackboard by the date stated at the top of the assignment and demonstrated to the tutor during the lab sessions after submission.
Documents and Recommended Reading
_ Lecture notes on blackboard (https://blackboard.salford.ac.uk)
_ Symfony Documentation (https://symfony.com/doc/current/)
_ Doctrine ORM Documentation (https://docs.doctrine-project.org/projects/doctrine-orm/
_ Twig Documentation (https://twig.sensiolabs.org/documentation)
The Application (90%)
The following criteria will be used to award marks to the application:
<30% The application has severely limited functionality. The student may have used
Symfony in an incorrect manner demonstrating they have little understanding of
the Framework or web application development.
30 – 39% The application has some functionality, but is missing one or two key aspects of
the pass mark (e.g. unable to login, unable to edit a book review).
40 – 49% The student has implemented the core functionality requirements including: the
ability for a user to register and login and the functionality to write and edit a
simple book review. Unauthenticated users cannot create a new book review.
50 – 59% The student has implemented a book review site which covers the core and inter-
mediate requirements. The code should be well organised and contain appropri-
ately named and namespaced bundles, controllers, form types and entities.
60 – 69% Users should be able to do everything from the previous sections plus an added
feature of the advanced requirements to demonstrate that the student has further
researched Symfony capabilities beyond the workshops.
>= 70% Student should demonstrate they have a clear understanding of the Symfony
framework and decoupled design with multiple additional functionalities from
the advanced requirements. The project should contain well structured code into
The Report (10%)
<40% Report does not consist of adequate explanations of code or functionality.
40 – 59% Report contains an adequate description of code written and Symfony components used. May have a few screen shots or code snippets relating to key areas of functionality or design.
>= 60% Reasonably to very detailed description of the application featuring screenshots
and code snippets about core functionality. Should also explain what features of Symfony are being used and why this is the case. This should demonstrate a clear understanding of the application written.