2019 Group Project Specificaon
Contents
Part 1 – Designing your website
Part 2 – Building your website
Part 3 – Planning your Routes and Database
Part 4 – Clientserver integration
Peer Review & Individual Performance
Aims
1. Understand principles of designing user friendly websites.
2. Write standards compliant websites in HTML & CSS.
3. Develop dynamic, clientside web content using Javascript.
4. Understand the interactions between the clientside and serverside components of web applications.
5. Design and build AJAX calls to a server and handle responses.
6. Use third party APIs in web applications.
7. Use ER Modeling to design a database structure.
8. Understand the role of databases in web applications.
9. Plan & integrate a database into a web application.
10. Understand and mitigate security issues faced by web applications.
Project Summary
Descripon
Your group assignment for the Semester is to design and develop an restaurant booking web application that allows users to book tables at restaurants, and restaurants to manage their bookings.
Users should be able to sign up and log in to make or manage table bookings and manage their information.
Restaurants should be able to sign up and log in to manage their profile, number of tables available, and individual bookings.
Users should be able to search for restaurants using appropriate criteria.
Users should be able to leave a review after their booking.
Users should be able to choose to link a social media/email/other account, allowing login via that platform, to make logging in easier.

One of the following special features should also be present:
Find something nearby; Using the user’s location and preferences, choose and book a suitable nearby restaurant on the user’s behalf.

Calendar Reminder; Users can have their bookings automatically added to their Google Calendar when making a booking, and removed if cancelling.
Group Requirement
This assignment must be worked on in groups of 4.
You should form a group prior to your next workshop in week 7.
Your group must either:
All be enrolled in the same Practical session (different from your workshop sessions) as you will have a final presentation as a group in the practical session, OR Meet the requirements for an exemption (see Forming a Group)
If you are not already part of a group, post in the MyUni Discussions page for your specific practical session (https://myuni.adelaide.edu.au/groups/) to find other group members. If you are unable to form a group by the end of week 7, contact the lecturers.
Once you have a group, complete the Group Assignment Group Selection Survey
(https://myuni.adelaide.edu.au/courses/45380/quizzes/50210) .
Individual Performance
We know that group projects can sometimes be challenging, especially if everyone isn’t pulling their weight, so your final mark will be scaled (up or down) based on peer review of your performance by your team members. In addition, marking staff may apply additional scaling if there is not sufficient evidence that you have made a reasonable contribution to the project.
Submission
This is a big project and can’t be completed at the last minute so to keep you on track we’ve broken the assignment into parts. You will be submitting these across 2 milestones; one at the end of week 9, and the other at your Final Presentation during your enrolled practical session in week 13. Be aware that there are no extensions on the Final presentation.
Assessment
This project is worth a total of 25% of your final course grade and is NOT a hurdle requirement.
Detailed marking rubrics will be available on the MyUni submission page for each part.

Workshop Sessions
Workshop sessions (weeks 3, 5, 7, 9, and 11) are a great opportunity to ask questions and get feedback from the lecturers and tutors before the submission deadline.
We recommend using this time to liase with your group members to get collaborative work done. You are welcome to attend sessions that you are not enrolled in as needed to complete group work.
Part 0 – Forming a group
This project is completed in groups of 4 and will be presented during your enrolled practical session in Week 13, so you will need to find 3 other group members also enrolled in the same practical session as you.
Find 3 other group members enrolled in the same practical session as you.
If you are not sure how to find other group members in your practical session, post in the MyUni Discussions page for your specific practical session (https://myuni.adelaide.edu.au/groups/) .
If you already have a group with members not in the same practical session or are unable to find other people in your practical session, you may still form a group as long as all group members together are able to attend at least 2 of the scheduled practical sessions.
Once all groups have been formed, we will notify your group which of those sessions your group will attend.
Once you have your group, each member should fill out the Group Assignment Group Selection
Survey (https://myuni.adelaide.edu.au/courses/45380/quizzes/50210) .
Part 1 – Designing your website
Think about and explore web pages. What might a restaurant booking website look like? What information might users be required to supply? How will they log in? How will the search work? What about the map? How should restaurants manage their information? You are encouraged to think about additional features for this application; we have outlined the minimum.
Research existing websites to get ideas for your web application.
Record any pages you find that are good examples of what your site could look like. What parts work well. What parts don’t work well?
Also record any examples you find of features you might want to include in your site.
Once you decide what a user will be able to do, then you need to think about how they will do each task and how you will make those tasks visible on your site – keeping in mind the articles and lectures on design and usability.
Draw (don’t code) what your site will look like.
It should be obvious from the drawing what each part of the site does.
Be sure to include any dimensions – if the window is resized, how do elements change?
How might the site look on a phone vs desktop?
Your website will need to have the following features:
Users should be able to sign up and log in to make or manage table bookings and manage their information.
Restaurants should be able to sign up and log in to manage their profile, number of tables available, and individual bookings.
Users should be able to search for restaurants using appropriate criteria.
Users should be able to leave a review after their booking.
Users should be able to choose to link a social media/email/other account, allowing login via that platform, to make logging in easier.
Plus one of the following special features should also be present:
Find something nearby; Using the user’s location and preferences, choose and book a suitable nearby restaurant on the user’s behalf.
Calendar Reminder; Users can have their bookings automatically added to their Google Calendar when making a booking, and removed if cancelling.
Thinking about the above features, describe how each of these features of your site will function, plus any others that you might like to have.
What can the user do on each page?
What happens when a user performs one of these interactions?
If a change occurs to the page/site following an interaction, clarify what that will be and draw if necessary.
Once you have a basic design, you now need to review and tweak it for usability and accessibility.
Review your design.
How does it minimise kinematic and cognitive load?
Does it meet the standards & heuristics referenced in lectures and on MyUni? Have another group review your website design and perform basic usability testing.
Which parts of your site were clear. Which weren’t?
Record the feedback from the other group and any findings.
Record any updates to your design made as a result of the above testing and review.
As you learn more about implementing web applications throughout this course, your design will likely change; that’s okay, but be sure that as those changes creep in, you continue to review your site for usability and accessibility. We will be assessing you for this in your final presentation.
Your week 7 tutorial time is a great opportunity to ask questions, get feedback, and compare your design with another group before the deadline.