Skip to content

Latest commit

Β 

History

252 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Platzi Extensions

Platzi Extensions

πŸš€ 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

Preview of Platzi Extensions

www.platziextension.dev

πŸ€— 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! πŸ“Œ

πŸ€– Concept

Platzi Extensions 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 Platzi Extensions 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).

πŸš€ Features

Things you can do with Platzi Extensions:

⌨ Platzi Extensions Shortcuts

Select exam options faster with your own keyboard. Use letters, and numbers!

πŸ–Œ Platzi Extensions Greenboard

Open a fully integrated whiteboard in your exam to be able to draw, do calculations or whatever you want.

🧐 Platzi Extensions Zen Mode

A new design that reduces the number of buttons and visual elements in the exam.

πŸ’» Platzi Extensions SSH Mode

A terminal-style design to solve exams as if you were installing a package.

πŸ“š Platzi Extensions Highlight classes

Select classes you want to highlight in your Student Home.

πŸ’Ύ Platzi Extensions Save contributions

Save contributions in your Student Home.

πŸ’» Core Development

This section is for developers who want to know how Platzi Extensions works.

Platzi Extensions has a software architecture targeted to be a browser extension for the Chrome Web Store.

⭐️ Version Workflow

The source code in this repository is versioned at 4.0.0. The source code you can download is the latest version of Platzi Extensions for Developers, which may contain features that are not yet available in stores, and may contain bugs.

πŸ“¦ Architecture

Platzi Extensions 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.

Platzi Extensions uses Webpack for the compilation of the modules written in TypeScript. Webpack is configured into two modes: development and production.

Platzi Extensions uses JSDocs for the documentation of the code.

graph TD
    A[Platzi Extensions is loaded] -->|Load Platzi Extensions Configuration Storage| B(background.js)
    B --> |Check if web is Platzi| C[\matches: platzi.com/*/]
    C -->|Load Platzi Extensions default features| D(content_scripts)
Loading

Platzi Extensions 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.

βœ… Good practices

According to the Google Chrome Web Store Developer Program Policies, Platzi Extensions 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.

πŸ”­ Control Flow

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 Platzi Extensions. 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/*"

πŸ”“ Browser permissions

Platzi Extensions works with these permissions:

  • storage: To store variables like shortcuts, greenboard, etc.
  • scripting: To execute JavaScript scripts inside the page itself.

⌨️ Shortcuts Technology

Platzi Extensions 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.

πŸ”© Installation

πŸš… Production (recommended)

Go to Platzi Extensions page, and click on "Add extension".

It works correctly in Google Chrome, Micorosft Edge and Brave.

πŸ›οΈ History

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.

🦊 Development

If you want the latest features of Platzi Extensions you can install the development version following this tutorial.

🀲 Contributing

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.

πŸ“ƒ License

The source code is distributed under the MIT License. See LICENSE for more information.

Platzi Extensions is a free and open source project maintained by Astronware LLC.

About

πŸ’»πŸ’š Multiplatform Browser extension that gives you shortcuts, saved classes, augmented search, and themes for Platzi.

Topics

Resources

Code of conduct

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages