Assignment2-COMP1230-Fall2023
Assignment2-COMP1230-Fall2023
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.
• Grasp the importance of user-centric design by identifying and catering to the specific
needs of both tutors and students within the platform.
• 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.
• 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.
• Design intuitive user interfaces that facilitate easy navigation and user interaction.
• 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.
• 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.
• Experience the challenges and solutions of building applications requiring real-time user
interactions.
• Understand the importance of meticulous input validation for both user experience and
security.
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:
3. Profile Setup:
• 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.
• 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.
Grading Criteria:
• Layout, clarity, and organization (10 Points): Overall design, logical flow, and neat
arrangement of elements.
• 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.
• 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.
• 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.
• Secure File Operations & Error Handling (4 Points): Secure operations and graceful
error handling without exposing sensitive data.
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
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
Password & Effective encryption and Minor security Multiple flaws or Major security
Session Security session security. issues. lacking encryption. breaches possible. 0-8 marks
Submission Procedure
• Log in to my.GBLearn.com.
• No file upload is required here. This step informs the instructor of your
submission date, time, and commitment to academic honesty.
• 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.
Important Notes:
• 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.
Please follow these submission instructions carefully to ensure your assignment is successfully
submitted and evaluated.
Happy Learning!