🚀 Awesome features for Platzi with this browser extension 🦉.
💚 Open Source, Free, and available for Chrome, Edge, Brave, Arc and Safari 🦁
🤖 Install on Chromium Browser - 🍎 Install on Safari
🤗 Thank you for visiting this browser extension project, help spread it by giving a star! 🌟
🚀 Start participing in the development of this tool in the Discussions section!
✅ This project has diagrams to help you understand how it works! 📌
PlatKey is a browser extension that helps you to solve exams faster in Platzi. And also the extension provides new functionalities to improve the experience of taking classes in Platzi.
Briefly the features of PlatKey are:
- Shortcuts: Select exam options faster with your own keyboard shortcuts. Also navigate between classes and make contributions using keyboard shortcuts.
- Greenboard: Open a fully integrated whiteboard in your exam.
- Zen Mode: A new design that reduces the number of buttons and visual elements in the exam.
- SSH Mode: A terminal-style design to solve exams as if you were installing a package.
- Highlight classes: Select classes you want to highlight in your Student Home.
- Save contributions: Save contributions in your Student Home.
- Spotlight: A new design for the search bar of Platzi available with a keyboard shortcut.
It supports chromium-based browsers (like Chrome, Edge, Brave, Arc) and WebKit-based browsers (like Safari).
Things you can do with PlatKey:
Select exam options faster with your own keyboard. Use letters, and numbers!
Open a fully integrated whiteboard in your exam to be able to draw, do calculations or whatever you want.
A new design that reduces the number of buttons and visual elements in the exam.
A terminal-style design to solve exams as if you were installing a package.
Select classes you want to highlight in your Student Home.
Save contributions in your Student Home.
This section is for developers who want to know how PlatKey works.
PlatKey has a software architecture targeted to be a browser extension for the Chrome Web Store.
The latest version of PlatKey used in production is 3.0.0. The source code you can download is the latest version of PlatKey for Developers. Which may contain features that are not yet available in stores, and may contain bugs.
PlatKey adopts an all-new architecture for browser extensions using TypeScript for the development of the modules. This enables better experience to interact with the Chrome API.
PlatKey uses Webpack for the compilation of the modules written in TypeScript. Webpack is configured into two modes: development
and production
.
PlatKey uses JSDocs for the documentation of the code.
graph TD
A[PlatKey is loaded] -->|Load PlatKey Configuration Storage| B(background.js)
B --> |Check if web is Platzi| C[\matches: platzi.com/*/]
C -->|Load PlatKey default features| D(content_scripts)
PlatKey does not store information of the users. An account is not required to use the extension.
Information related to their extension preferences is stored in the browser's storage.
According to the Google Chrome Web Store Developer Program Policies, PlatKey as a browser extension follows these good practices:
- Manifest V3: The extension uses the new Manifest V3 of Chrome.
- Security: The extension does not store information of the users. An account is not required to use the extension.
- User privacy: Information related to their extension preferences is stored in the browser's storage.
- Performance: The extension is optimized to be lightweight and fast.
- User Experence: The extension is designed to be easy to use and intuitive.
manifest.json
file is the manifest of the extension. It contains the information of the extension and the permissions it needs.
popup.html
file is the extension window. The popup.js
file is the JavaScript code whose scope is in this window. It executed when the popup es opened.
background.ts
file only contains the default storage information about the features of PlatKey. It's the service worker of the extension.
content.ts
file is executed in background everytime the page is loaded for the "https://platzi.com/*"
PlatKey works with these permissions:
storage
: To store variables likeshortcuts
,greenboard
, etc.scripting
: To execute JavaScript scripts inside the page itself.
PlatKey creates an eventlistener inside window to listen for keypresses on keys A
, B
, C
, D
, E
and 1
, 2
, 3
, 4
, 5
and 6
. Also X
or 0
key to skip the question.
Go to PlatKey Extension page, and click on "Add extension".
It works correctly in Google Chrome, Micorosft Edge and Brave.
This browser extension was made with the motive of accelerating the speed of exam taking in Platzi inspired by the way in which Typeform structures the shortcuts of its forms.
If you want the latest features of PlatKey you can install the development version following this tutorial.
Do you would like to contribute? Do you want to be the author of a new feature? Awesome! please fork the repository and make changes as you like. Pull requests are warmly welcome.
Also, you can check Issues to get any ideas on how to improve this browser extension.
The source code is distributed under the MIT License.
See LICENSE
for more information.