0% found this document useful (0 votes)
4 views

Assignment2-COMP1230-Fall2023

The assignment for COMP1230 involves building an 'On-call Tutoring' web application, due on November 13, 2023. Students will learn about user-centric design, PHP development, file manipulation, web security, UI/UX design, and project management through practical implementation. Successful completion will enhance their web development skills and provide valuable experience for future projects.

Uploaded by

KRISH GAMING
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Assignment2-COMP1230-Fall2023

The assignment for COMP1230 involves building an 'On-call Tutoring' web application, due on November 13, 2023. Students will learn about user-centric design, PHP development, file manipulation, web security, UI/UX design, and project management through practical implementation. Successful completion will enhance their web development skills and provide valuable experience for future projects.

Uploaded by

KRISH GAMING
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

2

Assignment

COMP1230 (Advanced Web Programming)


This assignment is optional and cannot be submitted after the due date.

Assignment Title: Build an "On-call Tutoring" Web Application

Course: Advance Web Programming - COMP1230

Due Date: November 13, 2023 @11:59

Upon completing this assignment:

Students should have a general understanding of the challenges involved in developing dynamic web
applications using PHP. They need to feel confident in their ability to plan, implement and repair similar
projects in the future.

Learning Outcomes of the On-call Tutoring Web Application Assignment:

1. Understanding User Needs:

• Grasp the importance of user-centric design by identifying and catering to the specific
needs of both tutors and students within the platform.

2. Mastery of PHP for Web Development:

• Develop proficiency using PHP to create, read, update, and delete data in flat files.

• Understand how to structure PHP code for modular and scalable web applications.

3. File Manipulation and Storage:

• Gain hands-on experience managing flat files for storing user data, profiles, and logs.

• Understand best practices for organizing, accessing, and ensuring data integrity in flat
files.
4. Web Security Practices:

• Understand the importance of safeguarding user data, especially passwords and contact
information.

• Implement basic security measures such as password hashing and input validation.

5. User Interface and User Experience (UI/UX) Design:

• Design intuitive user interfaces that facilitate easy navigation and user interaction.

• Gain insights into the principles of responsive design, ensuring cross-device


compatibility.

6. Error Handling and Feedback:

• Develop strategies for gracefully handling errors and providing clear, constructive
feedback to users.

• Understand the importance of error handling in enhancing user trust and platform
reliability.

7. Data Collection and Logging:

• Grasp the significance of logging user actions, especially for critical features.

• Learn how to structure and access logs to extract meaningful insights or facilitate
troubleshooting.

8. Real-time Web Application Dynamics:

• Experience the challenges and solutions of building applications requiring real-time user
interactions.

9. Form Handling and Input Validation:

• Master the techniques of creating, processing, and validating web forms.

• Understand the importance of meticulous input validation for both user experience and
security.

10. Project Management and Organization:

• Appreciate the intricacies of managing a multi-feature web development project from


conception to completion.

• Learn to prioritize features, debug systematically, and iterate based on feedback.


By achieving these objectives, students will acquire a comprehensive set of web development skills and
practical experience that will be valuable in their future web programming and development
endeavours.

Assignment Description:

In an increasingly digital age, learning doesn't always occur on a fixed schedule. Sometimes, students
face complex concepts or projects that need immediate help. Recognizing this need, the "on-call
tutoring" platform aims to bridge the gap between students seeking spontaneous help and individuals
willing to volunteer their skills. This service allows students to instantly communicate with available
tutors, facilitating real-time learning experiences and creating a collaborative knowledge-sharing
environment.

Requirements:

1. Interface and Design:

• A clean, intuitive, and responsive user interface.


• Separate sections or pages for tutor registration, tutor dashboard, and the main page
listing available tutors.
2. Tutor Registration:

• A form capturing the following details:


• Full Name
• Email Address (to be used as a login credential)
• Password (with proper hashing for storage)

3. Profile Setup:

• Post-registration, allow tutors to:


• Upload a photo or avatar (with validation on image type and size).
• Add a brief bio describing their expertise or motivation (max 300 words).

4. Authentication and Sessions:

• A secure login mechanism for tutors using their email and password. (hash password)
• Proper session management to keep tutors logged in across pages until they log out.

5. Tutor Availability:

• A mechanism for tutors to signal when they are available for tutoring.
• An input field for tutors to provide a video call URL when indicating availability.
• An option for tutors to end their availability status.
6. Display and Session Initiation:

• The homepage lists available tutors with their names, photo/avatar, and bio.
• Include a "Request Session" button next to each available tutor.
• When a student wants to initiate a session, they must:
1. Click the "Request Session" button.
2. Input their Full Name and Email Address.
3. Only then see the video call URL for that tutor.

7. Logging and Tracking:

• Every tutoring request (with student's name, email, tutor's name, and timestamp) must
be logged.
• Tutors should be able to view a list of all their past and current tutoring requests in their
dashboard.

8. Error Handling and Feedback:

• Implement mechanisms to handle potential errors gracefully.


• Users should receive clear feedback for their actions (e.g., successful registration, failed
login due to incorrect password, etc.).
9. Data Storage:

• Use flat files for storing:


o Tutor registration data
o Tutor profile details (bio, photo URL, etc.)
o Session logs
10. Security:

• Properly hash and safeguard passwords.


• Implement input validation for all user inputs to protect against potential vulnerabilities
(e.g. cross-site scripting).
• Ensure that sensitive data, like video call URLs, are only visible under the correct
conditions (after a student provides their name and email).

Grading Criteria:

Your assignment will be graded based on the following criteria:

1. Interface, Design & Responsiveness (20 Points):

• Layout, clarity, and organization (10 Points): Overall design, logical flow, and neat
arrangement of elements.

• Aesthetics (5 Points): Use consistent colour schemes, fonts, and spacing.

• Responsiveness (5 Points): Adapts well to desktop, tablet, and mobile.


2. Registration, Profile & Authentication (25 Points):

• Tutor Registration & Data Storage (10 Points): Complete the registration process, data
capture, and secure data storage.

• Profile Setup (10 Points): Image upload, bio input, user feedback, and error handling.

• Authentication & Sessions (5 Points): Working login, logout, and session management,
including the cookie management for username.

3. Tutor Availability & Display (20 Points):

• Availability Status & Video URL (10 Points): Control mechanism for availability status
and video URL input.

• Tutor Display & Session Initiation (10 Points): Dynamic list of available tutors and
initiation of tutoring sessions.

4. Logging, Tracking & Data Storage (15 Points):

• Tutoring Session Logs (10 Points): Logging mechanism, display of logs, and student data
collection.

• Data Storage & Access (5 Points): Organized data storage, secure file operations, and
access links for the tutors to view their service logs.

5. Security (20 Points):

• Input validation (8 Points): PHP-based validation of all user inputs.

• Password & Session Security (8 Points): Encryption of passwords, session management,


and session security. (hash)

• Secure File Operations & Error Handling (4 Points): Secure operations and graceful
error handling without exposing sensitive data.

Total (out of 100):

Rubric: Online Store Assignment


Marks
Criteria Excellent Good Needs Improvement Unacceptable Allocation

Clean, intuitive, well- Mostly clear with Several design flaws No design effort or
General Design & organized elements with minor layout or or unclear completely
Layout clear navigation. design issues. navigation. incoherent layout. 0-7 marks

Works flawlessly on Minor Many issues with


desktop, tablet, and inconsistencies layout on various Not responsive at
Responsiveness mobile. across devices. devices. all. 0-3 marks

Comprehensive and
secure registration Several flaws in the
Tutor Registration process with all data Mostly functional process or data Incomplete or non- 0-10
& Data Storage properly stored. with minor issues. storage. functional. marks

Comprehensive features Lacking several


with image, bio, feedback, Mostly functional features or has Incomplete or non- 0-10
Profile Setup and error handling. with minor issues. multiple errors. functional. marks

Secure and functional with Non-functional or


Authentication & proper session Minor issues with Multiple issues with major security
Sessions management and cookies. sessions or cookies. authentication. flaws. 0-5 marks

Effective and intuitive


Availability Status controls with proper Mostly functional Several flaws or Incomplete or non- 0-10
& Video URL implementation. with minor issues. lacking features. functional. marks

Dynamic and intuitive list


Tutor Display & with proper session Mostly functional Lacks key features or Incomplete or non- 0-10
Session Initiation initiation. with minor issues. has multiple errors. functional. marks

Proper logging, clear Minor issues in


Tutoring Session display, and efficient data logging or data Multiple errors or Non-functional or 0-10
Logs collection. collection. lacking key features. major issues. marks

Secure, organized, and Minor issues with Multiple issues or


Data Storage & accessible by the organization or lacking security Incomplete or non-
Access instructor. access. features. functional. 0-5 marks

Comprehensive and Lacks several Non-functional or


secure validation for all Minor validation validation checks or major security
Input Validation inputs. issues. has multiple errors. flaws. 0-8 marks
Marks
Criteria Excellent Good Needs Improvement Unacceptable Allocation

Password & Effective encryption and Minor security Multiple flaws or Major security
Session Security session security. issues. lacking encryption. breaches possible. 0-8 marks

Secure File Secure operations and no Minor security or Exposes sensitive


Operations & Error exposed sensitive error handling info or multiple Major security
Handling information. issues. errors. flaws. 0-4 marks

Total 100 mark

Submission Procedure

1. Preliminary Submission on my.GBLearn.com:

• Log in to my.GBLearn.com.

• Make sure to select your lab instructor on your profile page.

• On the dashboard, select the course "COMP1230."

• Locate "Assignment 2" and check the plagiarism declaration box.

• No file upload is required here. This step informs the instructor of your
submission date, time, and commitment to academic honesty.

2. File Transfer using FileZilla:

• Use FileZilla or any FTP client to transfer your assignment code to your
f3DDDDDD.gblearn.com account. (where Ds are the last six digits of your student
ID.

• Place your code files under public_html/comp1230/assignments/assignment2.

3. Verify Functionality on GBLearn:


• Ensure that your submission functions correctly on GBLearn. Test all aspects of
your online store application to confirm its functionality.

Important Notes:

• Your submission must be fully functional on GBLearn. Incomplete or non-functional


submissions will receive a grade of zero.

• Plagiarism is a serious academic offence at George Brown College. Ensure your work is
original and adheres to the college's educational integrity policy.

• Instructors are skilled at identifying code that does not align with a student's previous
work or writing style.

• Plagiarism will result in a grade of zero with no opportunity for re-submission. The
incident will be recorded.

• This assignment is individual and optional. You will receive a 5% bonus mark if you
choose to complete it.

• No late submissions will be accepted.

Please follow these submission instructions carefully to ensure your assignment is successfully
submitted and evaluated.

Happy Learning!

You might also like