This project provides a solution for decrypting Pluralsight courses, offering both a cross-platform .NET Standard utility library and a user-friendly .NET Framework WPF desktop application with a graphical interface. The core functionality revolves around decrypting encrypted Pluralsight video files (.psv) and generating corresponding transcript files.
- Decrypt Pluralsight Courses: Decrypts Pluralsight course folders and individual video files (
.psv) into standard MP4 format. - Transcript Generation: Generates
.srttranscript files alongside the decrypted video content for enhanced learning. - Database Integration: Utilizes a SQLite database to efficiently manage and store course, module, and clip information.
- Cross-platform Utility (.NET Standard): The core decryption logic is encapsulated within a .NET Standard 2.0 library, enabling its use across various .NET platforms.
- Intuitive WPF Application (.NET Framework): A dedicated WPF desktop application built with .NET Framework 4.6.1 provides a robust and easy-to-use graphical interface for the decryption process. It leverages Caliburn.Micro for its Model-View-ViewModel (MVVM) architecture and Material Design In XAML for a modern and appealing user interface.
- .NET Standard 2.0: For the core, platform-agnostic decryption utility.
- .NET Framework 4.6.1: For the development of the rich WPF desktop application.
- Caliburn.Micro: A powerful MVVM framework used to structure the WPF application, promoting clean separation of concerns.
- Material Design In XAML: A popular UI toolkit that provides a modern, sleek design and improved user experience for the WPF application.
- SQLite: Employed as the local database solution for persistent storage of course metadata.
- Common.Logging & log4net: Integrated for comprehensive logging capabilities, aiding in development and debugging.
- Fody & PropertyChanged.Fody: Used to streamline the implementation of
INotifyPropertyChangedin WPF, reducing boilerplate code. - System.Reactive: Leveraged for implementing reactive programming patterns, enhancing the responsiveness and efficiency of certain operations.
The project is organized into the following key directories:
.
├── src/
│ ├── net.standard/
│ │ └── Ntech.NetStandard.Utilities.DecryptPluralSight/ # Core decryption library (.NET Standard 2.0)
│ │ ├── Decryptor.cs # Main decryption logic
│ │ ├── Repository/ # Data access components
│ │ ├── Helper/ # Utility functions
│ │ ├── Model/ # Data models
│ │ └── Encryption/ # Encryption-related code
│ └── net.framwork/
│ └── Ntech.NetFramework.DecryptPluralsight/ # WPF Desktop Application (.NET Framework 4.6.1)
│ ├── ViewModels/ # MVVM ViewModels
│ ├── Views/ # MVVM Views (XAML files)
│ ├── Model/ # Application-specific data models
│ ├── Interface/ # Interfaces for services
│ ├── Extension/ # Extension methods
│ ├── Helper/ # Application-specific helper functions
│ ├── Control/ # Custom controls
│ ├── MainWindow.xaml, MainWindow.xaml.cs # Main application window
│ ├── App.xaml, App.xaml.cs # Application startup and resources
│ ├── AppBootstrapper.cs # Caliburn.Micro bootstrapper
│ ├── ShellView.xaml, ShellViewModel.cs # Application shell/main window
│ ├── MainPageViewModel.cs # Main content page ViewModel
│ ├── HeaderViewModel.cs # Header section ViewModel (search, navigation)
│ ├── BodyViewModel.cs # Body section ViewModel
│ └── packages.config # NuGet package dependencies
├── tool/ # Contains compiled DLLs and third-party libraries
└── .gitignore # Specifies files/folders to be ignored by Git
└── Ntech.NetFramwork.DecryptPluralsight.sln # Main Visual Studio Solution file
- Visual Studio (2017 or later) with .NET desktop development workload.
- .NET Framework 4.6.1 Developer Pack.
- .NET Core SDK 2.1 (for .NET Standard 2.0 compatibility).
- Clone the repository:
git clone https://github.com/your-username/ntech.decrypt.plusralsight.git cd ntech.decrypt.plusralsight - Open the solution:
Open
src/Ntech.NetFramwork.DecryptPluralsight.slnin Visual Studio. - Restore NuGet Packages: Visual Studio should automatically restore the NuGet packages upon opening the solution. If not, right-click on the solution in Solution Explorer and select "Restore NuGet Packages."
- Build the Solution:
Build the entire solution (
Build > Build SolutionorCtrl+Shift+B).
After successfully building the solution, you can run the WPF application:
- Set
Ntech.NetFramework.DecryptPluralsightas the startup project. - Run the application (
Debug > Start DebuggingorF5).
(Further details on how to use the application will be added here.)
(Information on how to contribute to the project will be added here.)
(Information on the project's license will be added here.)
(Contact information will be added here.)