Hassan Bokhari Portfolio

A student in Integrated Biomedical Engineering and Health Science (iBioMed), Mcmaster Univercity.

Klickk.ca

Klickk.ca
Active Learning Support

👤 Background

Klickk.ca is a companion to iClicker which when used in unison can help students enhance their learning experience and provide them with the correct resources they need in order to succeed by notifying them of any clickers on their devices.

Identified Solution

❤️ Need

Klickk.ca Logo

Klickk.ca is designed to provide effective assistance, ensuring that you actively participate in your classes and make the most of your educational journey.”

  • It aims to improve your iClicker score reaching nearly 80-100%
  • It helps you stay focused on keeping your notes your way.
  • It provides a high amount of functionality and caters to a wide array of audiences.

As an individual with a different learning style than my peers, I struggle to effectively participate in classroom activities and grasp course content simultaneously. There is a need for support or accommodations that can enhance my engagement in class participation while ensuring I can comprehensively understand the material being taught.

A modern landing page which provides different pricing options and explains the product
Easy to use sign-up page.
Admin page allowed easy control of users and tracking of analytics with safety in mind as all passwords and personal information was encrypted.

🧑 My Individual Applications

  • Authentication and Authorization: Implements JWT-based authentication and authorization for user access control. Supports user login, token generation, and password hashing using Argon2.
  • Database Integration: Utilizes SQLAlchemy for ORM to interact with SQLite database (project.db). Defines User and UserClass models for managing users and their associated classes.
  • Web Scraping and Automation: Uses Selenium with Chrome WebDriver for web scraping and automation tasks. Automates interaction with a web application (https://student.iclicker.com) to join classes and answer questions.
  • API Endpoints: /list-classes: Validates user credentials and lists enrolled classes. /execute: Initiates a background thread to automate class participation. /admin/*: Provides administrative endpoints for managing users, including creation, deletion, password change, and adding classes.
  • Security and Configuration: Configures Flask app with JWT settings for token location, expiration, and CSRF protection. Implements error handling for unauthorized access and exceptions
  • Website Development: Developed using Svelte framework for efficient rendering of dynamic UI components. Integrated HTML for structure and CSS for styling, ensuring a responsive and user-friendly interface.
  • SaaS Integration: Implemented a subscription-based model using Stripe for secure payment processing. Integrated user authentication and access controls to manage subscription tiers and user accounts effectively.
  • Deployment on GCP: Utilized Google Cloud Platform (GCP) for scalable deployment of Flask backend and Svelte frontend.
Basic lines of code regarding the Flask backend and security interface.

Additional Images

🔨 Applied Skills

🧠 Soft Skills

  • Communication
  • Time management
  • Problem-Solving
  • Adaptability
  • Sales and Marketing

⚙️ Hard Skills

  • Svelte.js
  • HTML
  • CSS
  • JavaScript
  • Flask
  • SQLAlchemy
  • GCP (Google Cloud Platform)
  • Termius
Used Termius SFTP to efficiently manage and securely transfer files across platforms.
GCP is used to manage compute engine and host the website

Business Considerations

Current Revenue

630$ Revenue

Current Cost

221.39$ to date

Including hosting, domain and development cost.

Users

32 Total Users