COM661 Full Stack Strategies and Development SEMESTER 1, 2024-2025 (SUST)
Assignment 1
“Individual Full Stack Application Development – Back End”
Over the course of the module, we construct the Biz Directory - a sample full stack application built around a database containing information on a range of businesses and a collection of user- contributed reviews. This assignment tests your understanding of this material by having you build the back-end of your own full stack application, based around a dataset of your choice. You can obtain your dataset from any source, but you should modify its structure (if required) to provide the most appropriate fit for your planned functionality.
Your application can be in any field but must be driven by a back-end Python Flask API that interfaces with a MongoDB database and must provide opportunities to demonstrate all of the main database operations (create, retrieve, update, delete).
The primary focus should be on usability and functionality. The application should fulfil a well- defined need and should provide a range of API endpoints that could potentially support different front-end applications.
Marking Criteria
Submissions will be marked according to the following criteria
-
Database structure and appropriateness to the application
-
Range and complexity of database queries
-
Provision of API endpoints as RESTful resources with appropriate use of HTTP verbs and status codes
-
Use of individual user accounts and appropriate authentication
-
Evidence of automated API testing
-
Code structure and presentation
-
Provision of appropriate documentation
This assignment is worth 50% of the total mark for the module
Effort
This assignment has a total notional workload of 20 hours.
The deadline for submission is 12pm (Noon) on Monday 28th October 2024. All work should be submitted to the CW1 Submission link in the Assessment area of Blackboard and should consist of the following elements:
-
A Zip file containing all code files for the back-end API.
-
A Zip file containing a JSON file for each MongoDB collection in the database. JSON files
should be generated by running the mongoexport command for each collection.
-
A video submission that (i) introduces your application area and dataset, (ii) demonstrates your API in use with Postman, and (iii) provides a walkthrough of your code. The maximum length of the video is 5 minutes. Please note that videos with a duration longer than 5 minutes will be penalised according to the following scheme.
5 minutes + 10%
5 minutes + 10% - 19%
5 minutes + >20% - 29%
5 minutes + >30% - 39%
5 minutes + >40% - 49%
5 minutes + >=50%
• Separate PDF files containing
no penalty
reduction in total mark by 5%
reduction in total mark by 10%
reduction in total mark by 15%
reduction in total mark by 20%
maximum total mark achievable is 40%
o a complete code listing of the back-end API
o a summary of all API endpoints
o a printout of the result of running an automated collection of tests on the API through Postman
o a printout of the API documentation generated through Postman
• A completed self-evaluation sheet on which you provide a critical appraisal of your
submission against a range of marking criteria.
A video demonstrating the preparation of a submission pack for the sample Biz Directory API application will be made available on Blackboard.
Submission
Please note: The source code files and video are compulsory submission elements. Without
either of these the submission will be deemed incomplete and cannot be marked.
Marking Scheme
You should be able to judge the level of your submission by reference to the following criteria. Note that the Biz Directory example referred to here, relates to the state of the application at the end of Practical BE08
Criteria
The application will be fit-for-purpose and usable for the intended task. Functionality will be significantly in excess of that demonstrated by the Biz Directory API example with database operations beyond the standard CRUD functionality. The application will be robust with appropriate validation and authentication and will be free from bugs.
The application will have a level of functionality above that of the Biz Directory API example but there may be minor functionality deficiencies that prevent it from being truly fit for the intended purpose. The application should be free from major bugs that prevent elements of functionality from running properly.
The application will be similar to the Biz Directory API example in terms of working functionality and data structure but will suffer from bugs or performance issues that prevent it from being a usable application. There will be at least some evidence that the developer has attempted to extend the basic functionality.
2:2 (50-59%)
3rd (40-49%)
Classification |
1st Class (70%+) |
2:1 (60-69%) |
The application will be heavily influenced by the Biz Directory API
example, with extended re-use of code without modification or
addition. There will have been no visible attempt to enhance the
functionality and there may be significant bugs that prevent it from
working properly.
Fail (<40%)
The application will suffer from major bugs that prevent it from being properly examined. There will have been no attempt to enhance functionality from the Biz Directory API example
Feedback
An optional interim submission during Week 3 (Friday 27th October) will consist of a short (one page max) summary of your data set, application domain and implementation plan. This submission is for feedback only (i.e., no marks are awarded for this) and feedback on this will be provided through Blackboard within one week.
Individual feedback on each final submission will be provided in written form under the categories presented in the marking criteria above.
Feedback on final submissions will be returned within 20 working days after submission in accordance with Faculty policy.
Plagiarism Statement
By making a submission, you will be deemed to have made the following declaration of ownership. Source: http://www.ulster.ac.uk/academicservices/student/plagiarism.pdf.
“I declare that this is my own work and that any material I have referred to has been accurately and consistently referenced. I have read the University’s policy on plagiarism and understand the definition of plagiarism as given in the [course/subject] handbook. If it is shown that material has been plagiarised, or I have otherwise attempted to obtain an unfair advantage for myself or others, I understand that I may face sanctions in accordance with the policies and procedures of the University. A mark of zero may be awarded and the reason for that mark will be recorded on my file.”
The University policies on plagiarism and AI are available at:
• https://www.ulster.ac.uk/student/exams/cheating-and-plagiarism
• https://www.ulster.ac.uk/learningenhancement/cqe/strategies/ai