COM710- Web Technologies
Problem Scenario
Solent Pets is a charity based in Southampton, UK that is dedicated to helping
homeless pets find a new home. They would like to setup a website to share
information about their charity and help facilitate the adoption process for pets by
potential and existing pet adopting families. They have expressed the following
requirements for their website:
Database – The data related to pets should be stored in an SQLite database using a
suitable data model. Relevant data should be identified and stored. As a
minimum, the data should include the name, type, breed, description and hobbies
of a pet as well as the details of any vaccinations the pet has had.
API – A Flask API should be developed to expose functionality related to Pets. The
API should support JSON requests and responses and the following routes:
- Retrieve a listing of pets
GET /api/pets - Retrieve detailed data about a pet with a specified id
GET /api/pets/ - Retrieve a list of vaccinations that a pet with a specified id has had
GET /api/pets//vaccinations - Create a new pet using supplied details
POST /api/pets - Update the data for a pet with a specified id and using supplied details
PUT /api/pets/ - Remove a pet with a specified id
DELETE /api/pets/
Views – The website should render suitable views (HTML based web pages) that
allow a user to interact with the website and make use of the functionality
exposed by the API. These include: - Home Page: Display a home page containing information about Solent Pets. A
suitable link should be added to allow a user to navigate to the Pets Page.
GET / - Pets Page: Display a page with a list of all the pets. It should be possible to
select an individual pet from the list to view details about the selected pet.
Additionally, the page should allow a user to add the details of a new pet or delete
an existing pet.
GET /pets
Policy, Governance and Information
July 2020
- Pet Page: Display a page with the details of a pet with the specified id. The
page should also include a table detailing the vaccinations that the pet has had.
Additionally, the page should allow a user to update the existing details of the pet.
GET /pets/
Authentication – Suitable authentication should be added so that only a logged in
user can create, edit or delete a pet from the system.
Filtering, Sorting and Pagination – Suitable functionality should be added to
support the filtering, sorting and pagination of results.
You have been tasked with creating a website that meets the requirements as
detailed above. You should use the technologies taught in this module to
implement your solution. These include HTML, CSS, JavaScript, AJAX, Python,
Flask, Jinja, SQLite and Git.
You should evidence your work throughout your assessment by creating a suitable
private Git repository and regularly committing to your repository as you develop
your solution. As part of the demonstration for this assessment, you will be asked
to show your project’s Git repository.
S ubmission
You should submit a single compressed zip file (with extension .zip) using the
assessment submission link provided on the SOL page for the module.
Assessment Criteria
Your assessment will be graded according to the following criteria:
Software Artefact
and
Demonstration
Grade D: The solution provides a basic database driven
implementation that supports functionality to add, view
and remove pets.
Grade C: In addition to meeting the requirements for Grade
D, the solution makes appropriate use of templates to
render views and provide a fully navigable website.
Grade B: In addition to meeting the requirements for Grade
C, the solution provides a comprehensive API that supports
JSON requests and responses, utilises AJAX and supports
authentication. Demonstrates a strong solution.
Grade A: In addition to meeting the requirements for Grade
B, the solution supports filtering, sorting and pagination of
results and adheres to relevant standards. Demonstrates a
robust and comprehensive solution.
Policy, Governance and Information
July 2020
Learning Outcomes
This assessment will enable students to demonstrate in full or in part the learning
outcomes identified in the Module descriptors.
Late Submissions
Students are reminded that:
i. If this assessment is submitted late i.e. within 5 working days of the submission
deadline, the mark will be capped at 40% if a pass mark is achieved;
ii. If this assessment is submitted later than 5 working days after the submission
deadline, the work will be regarded as a non-submission and will be awarded a zero;
iii. If this assessment is being submitted as a referred piece of work then it must be
submitted by the deadline date; any Refer assessment submitted late will be
regarded as a non-submission and will be awarded a zero.
contingency-plans.pdf
Extenuating Circumstances
The University’s Extenuating Circumstances procedure is in place if there are genuine
circumstances that may prevent a student submitting an assessment. If students are not
‘fit to study’, they can either request an extension to the submission deadline of 5 working
days or they can request to submit the assessment at the next opportunity (Defer). In
both instances students must submit an EC application with relevant evidence. If
accepted by the EC Panel there will be no academic penalty for late submission or non-
submission dependent on what is requested. Students are reminded that EC covers only
short term issues (20 working days) and that if they experience longer term matters that
impact on learning then they must contact the Student Hub for advice.
Please find a link to the EC policy below:
Academic Misconduct
Any submission must be students’ own work and, where facts or ideas have been used
from other sources, these sources must be appropriately referenced. The University’s
Academic Handbook includes the definitions of all practices that will be deemed to
constitute academic misconduct. Students should check this link before submitting their
work.
Procedures relating to student academic misconduct are given below:
Policy, Governance and Information
July 2020
Ethics Policy
The work being carried out by students must be in compliance with the Ethics Policy.
Where there is an ethical issue, as specified within the Ethics Policy, then students will
need an ethics release or an ethical approval prior to the start of the project.
The Ethics Policy is contained within Section 2S of the Academic Handbook:
https://staff.solent.ac.uk/official-documents/quality-management/academic-handbook/
2s-solent-university-ethics-policy.pdf
Grade marking
The University uses a letter grade scale for the marking of assessments. Unless students
have been specifically informed otherwise their marked assignment will be awarded a
letter grade. More detailed information on grade marking and the grade scale can be
found on the portal and in the Student Handbook.
Guidance for online submission through Solent Online Learning (SOL)
http://learn.solent.ac.uk/onlinesubmission