SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 1 Software Cluster Coding and Development Project (CDEV) & Database Application Development (DBAV) Project Specification Introduction The purpose of this assignment is to understand and apply the knowledge of website development to develop a working web application that stores and retrieve data to/from a database server. The theme of the project is Restaurant Review and should contain the following basic features: 1. User Registration You will create a registration page with validation that prompts the user to enter at least the following information: Userid (for logging in) Password (for logging in) First name and last name Gender Address Mobile Number Email Address When the user clicks on the “Register” button, the information entered by the user will be stored into the database. Recommended Advanced Features Registered users can log into their accounts to update their user information (e.g. password, address, mobile number) Users can choose to upload a profile picture for their account Users can choose to delete or deactivate their account SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 2 2. User Login You will create a page for users to login into the website. The website will prompt for the user to key in the following information to login: Userid Password When user clicks on the Login button, the userid and password submitted by the user are checked against the database. If the userid and password are found in the database, the login is successful. Otherwise, the system will display an error message “Login is not successful, please try again.”. Recommended Advanced Features Users can also choose to Facebook login into the website Allow users to click on a “Forgot password” link and send an email to the user’s email address with a link for user to reset the password Upon a session login, display user’s userid on top of the page (e.g. “Welcome, John!”) 3. Display List of Restaurants Create a main page that displays all the restaurants from the database. The following restaurant information should be displayed: Restaurant name Picture of the restaurant A hyperlink or modal that displays more information of the restaurant (e.g. reviews, address, map, opening hours, telephone number) Recommended Advanced Features Sort and categorize the restaurants (e.g. western food, Chinese food, Halal food, fine dining, fast food) Users can search for restaurants by typing the restaurant name in a search bar SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 3 4. Restaurant Reviews Display the reviews of the selected restaurant in a new page or modal when user clicks on the “Reviews” hyperlink. The following restaurant review information should be displayed: Userid of the user who left the review Contents of the review Timestamp when the review was posted Rating of the restaurant Users should also be able to write/edit/delete reviews. Recommended Advanced Features Users are only able to edit or delete the reviews posted by them Users must be logged in before they can write/edit/delete reviews In addition to the above basic features, you are also required to include at least ONE advanced feature for the website (refer to Part 4). This project consists of five parts: 1. Part 1 is to produce a proposal for your website user interface and develop a low fidelity prototype and a site navigation map. 2. Part 2 is to produce a database design for the data that will be stored into the database server. 3. Part 3 is to develop the SQL and web API to integrate the database with the web application. 4. Part 4 is to develop the website with GUI, screen interactivity, and database integration. 5. Part 5 is to present your work in PowerPoint slides and submit the completed Web Application. * You are free to implement other advanced features that are not listed above, discuss with your tutor if the advanced features that you want to implement are relevant and feasible for your project. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 4 Notes: a) This is an individual project. b) You are to propose, design, develop, test and implement a web application using only HTML, CSS, JavaScript, Node.js and MySQL. You need only to submit one integrated web application with suitable user interface that enhances the user experience. c) You are free to be as creative as you can but do ensure that you can complete the web application within the specified timeframe. However, as a MINIMUM requirement, your application MUST apply the knowledge that you have learnt in the studio sessions (see marking criteria in the sections below on how you will be graded) with at least ONE additional feature. d) You are not allowed to use full website templates that are available on the internet. Substantial marks will be deducted if you are discovered doing so. e) No additional marks will be given to functions/features that are hardcoded. Part 1 (CDEV – 20%) You are to produce a proposal and develop a prototype for your web application. The delivery for this part of the project includes the following UXID components: a) Report – Site Navigation Map – Write up of web application’s functionalities b) Web application prototype (i.e. Adobe XD) and Presentation You will also be required to do a stand-up presentation of your prototype to your tutor. This part of the project constitutes 20% of the grade for the Coding and Development Project subject. The grading criteria for Part 1 (CDEV) will be based on the following: Grade Criteria A Delivered all the required items. All of the proposed functionalities are shown in the prototype with an efficient flow. Prototype is complete with intuitive navigation. Prototype is developed according to what was stipulated in the site navigation map. Proposed functionalities are comprehensive and well thought out. B Delivered all the required items. All of the proposed functionalities are shown in the prototype. Prototype is complete according to what was stipulated in the site navigation map. Proposed functionalities are clear and well thought out. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 5 C Delivered all the required items. Most of the proposed functionalities are shown in the prototype. Prototype is somewhat complete according to what was stipulated in the site navigation map. Proposed functionalities are complete and relevant. D Partially delivered all the required items. Some of the proposed functionalities are shown in the prototype. Prototype has incomplete screens and has little reference to the site navigation map. Proposed functionalities are ambiguous and lacks details. F Non-submission of all the required items. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 6 Part 2 (DBAV – 40%) Part 2 of the project consists of the following components on Database Design: a) Data Dictionary (20%) b) Entity Relationship (ER) Diagram (20%) The grading criteria will be based on the following: Grade Criteria A Extensive Data Dictionary that contains appropriate data items and all relevant details of each data item. Extensive ER Diagram that contains appropriate tables and constraints used. All data items in the Data Dictionary are reflected in the tables. B Data Dictionary that contains appropriate data items and correct details of most of the data items. ER Diagram that contains most correct tables and constraints used. All data items in the Data Dictionary are reflected in the tables. C Partial Data Dictionary that contains some appropriate data items and some correct details of each data item. Partial ER Diagram that contains some correct tables and constraints used. Some data items in the Data Dictionary are reflected in the tables. D Limited Data Dictionary that contains few appropriate data items and few or no correct details of each data item. Sparse ER Diagram that contains few correct tables and constraints used. Few data items in the Data Dictionary are reflected in the tables. F Incorrect or incomplete or no data and details in Data Dictionary. ER Diagram that consists of incorrect tables and constraints used. Few or no data items in the Data Dictionary are reflected in the tables. Or Non-submission of Data Dictionary or ER Diagram or both. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 7 Part 3 (DBAV – 60%) Part 3 of the project consists of the following DBAV components: Demonstrate API implementations of all SQL queries for all CRUD operations using Postman. There should be at least one SQL query each for Create, Update, Retrieve, and Delete operations. SQL codes for all CRUD operations to be submitted in MS Word document via LMS. The grading criteria will be based on the following: Grade Criteria A Efficient SQL implementation for ALL CRUD operations, including use of complex SQL queries. B Efficient SQL implementation for all CRUD operations, including use of advanced SQL queries. C Correct SQL implementation for all CRUD operations. D Partially correct SQL implementation for all CRUD operations. F Incorrect SQL codes. Implementation failed to function. Or Non-submission of Part 3. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 8 Part 4 (CDEV – 50%) Part 4 of the project consists of the following CDEV components: a) Basic features of the Restaurant Review Website – 20% b) GUI with enhanced interactivity of the website and additional features of the Restaurant Review Website – 30% The grading criteria of Part 4a will be based on the following: Grade Criteria A Minimum App – Implementation of Web App based on all of the basic features listed in all of the following: 1 – User Registration 2 – User Login 3 – Display List of Restaurant 4 – Restaurant Reviews B Minimum App – Implementation of Web App based on all of the basic features listed in at least 3 of the following: 1 – User Registration 2 – User Login 3 – Display List of Restaurant 4 – Restaurant Reviews C Minimum App – Implementation of Web App based on all of the basic features listed in at least 2 of the following: 1 – User Registration 2 – User Login 3 – Display List of Restaurant 4 – Restaurant Reviews D Minimum App – Implementation of Web App based on all of the basic features listed in at least 1 of the following: 1 – User Registration 2 – User Login 3 – Display List of Restaurant 4 – Restaurant Reviews F Non-functional App with major bugs and runs a high possibility of runtime Error SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 9 The grading criteria of Part 4b will be based on the following: Grade Criteria A Multiple advance features that are robust and fully tested. Web site is also professionally designed. Screen Layouts that is based on the wireframes diagram with full working navigation and enhanced interactivity. B Multiple advanced features. Website is also well designed. Screen Layouts that is based on the wireframes diagram with full working navigation. C At least ONE advanced feature. Website design adheres to UXID principles. Screen Layouts that is based on the wireframes diagram with partial working navigation. D At least ONE advanced feature, with minimum broken links to pages/images. Screen Layouts that is based on the wireframes diagram with little or no navigation. F Incomplete or broken Screen Layouts that does not comply with wireframes. No additional feature. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 10 Part 5 (CDEV – 30%) Part 5 of the project consists of a presentation with demonstration of the final application; and submission of Self-Directed Learning (SDL) report with the implementation of at least ONE advanced feature, and the source codes of the final application. PowerPoint Presentation Slides You are required to submit in the LMS your project PowerPoint presentation slides (to be submitted in Week 16) that includes but is not limited to the following information:- Project details Name and matriculation number Class Application Name Application Icon Application Description: Briefly describe your concept in terms of how end user uses the application. Reflection What difficulties did you encounter in developing the application and how did you go about resolving them Did you seek help from anyone If yes, state what kind of help they have offered you. What grade do you expect to get for the assignment Why After completing the assignment, what are your thoughts about the skills you have just learnt References (books, encyclopedia, web pages, etc) List of resources you have used as research materials to help you in the development. Presentation You are to do a 10 min presentation and demonstration of your final application during Week 17. You must be prepared to show and explain your codes when requested during the presentation. Project Source Codes Submit the entire project folder as a zip file into the LMS under the Assignment folder. Please ensure that you have a backup copy of your application in case there is a problem with the online submission. SCHOOL OF INFORMATICS & IT AY2020/2021 OCT 11 Submission You should zip up the Word document together with the zipped project file and submit to the LMS in Week 16. The exact date and time will be announced in the LMS near to submission date. Your zipped document file should be named according to the following format: StudentID_YourName_YourClass.zip e.g.: 1234567D_Teo_Chu_Chu_P01.zip Note: Do not compress in RAR format. Penalty for Late Submission late and < 1 day : 10% deduction from absolute mark given for the assignment late >= 1 and < 2 days : 20% deduction from absolute mark late >= 2 days : No marks awarded Note that “day” includes non-working days (Sat, Sun and public holidays). General MC/LOA is NOT considered as valid reason for extended assignment submission.