Skip to main content

Platzi Viewer

A modern web application for viewing and managing Platzi courses stored locally with Google Drive synchronization and comprehensive progress tracking.

Key Features

Google Drive Streaming

Stream courses directly from Google Drive with HTTP Range Request support for efficient video playback

Progress Tracking

Track your learning progress with local and server-side synchronization across devices

Desktop Application

Run as a native desktop app with PyQt6 or pywebview for an integrated experience

Advanced Video Playback

Adaptive A/V sync correction, seek support, and compatibility mode for challenging files

Modern Interface

Responsive design with dark mode, smooth animations, and keyboard shortcuts

Easy Deployment

Deploy with Docker, as a portable Windows executable, or run directly with Python

Quick Start

1

Install Dependencies

Clone the repository and install Python dependencies for the backend server
git clone https://github.com/FlacoAfk/PlatziViewer.git
cd PlatziViewer
pip install -r requirements.txt
2

Configure Google Drive

Set up a Google Cloud service account and share your Platzi courses folder with itPlace your service_account.json file in the project root
3

Build Course Cache

Scan your Google Drive and build the course structure cache
python rebuild_cache_drive.py
4

Start the Server

Launch the local web server and access the application
python server.py
# Open http://localhost:8080 in your browser

Architecture Overview

Platzi Viewer uses a client-server architecture where the Python backend acts as a proxy to Google Drive, streaming content on-demand to the JavaScript frontend.

Frontend

Modern ES6+ JavaScript with modular architecture and hash-based routing

Backend

Python HTTP server with Google Drive API integration and video streaming

Storage

Course cache in JSON, localStorage for progress, Google Drive for content

Use Cases

Organize and track your Platzi course library stored in Google Drive with a beautiful interface and progress tracking
Run Platzi Viewer as a desktop application on Windows with embedded browser for an integrated experience
Deploy with Docker for your family or team to access courses from a central server with individual progress tracking
Navigate through hierarchical course structures: Categories → Routes → Courses → Modules → Classes

Resources

Installation Guide

Complete setup instructions for all deployment methods

API Reference

Explore the REST API endpoints and request/response formats

Troubleshooting

Solutions for common issues and configuration problems

Contributing

Learn how to contribute to the Platzi Viewer project

Build docs developers (and LLMs) love