Desktop app for Thetaflicks, built using electron.js.
- Native desktop wrapper for Windows and Linux via Electron.js.
- Offline handling with a dedicated fallback page (
offline.html). - Load timeout management for network requests.
- Automated builds for Windows and Linux via GitHub Actions.
ThetaFlicks-Desktop/
├── .github/
│ └── workflows/ # GitHub Actions workflow for automated Electron builds
├── main.js # Main Electron process script (handles load timeouts and offline states)
├── offline.html # Fallback page displayed when there is no internet connection
├── package.json # Node.js dependencies and build configurations
└── README.md # Project documentation
- Node.js and npm installed on your system.
- Git.
-
Clone the repository
git clone https://github.com/Volzeur/ThetaFlicks-Desktop.git cd ThetaFlicks-Desktop -
Install dependencies
npm install
-
Run the application in development mode
npm start
The project uses Electron build tools configured in package.json to package the application.
To build for your current operating system:
npm run buildTo build for specific platforms (depending on the package.json scripts):
npm run dist:win # For Windows
npm run dist:linux # For LinuxAlternatively, the repository includes a GitHub Actions workflow (.github/workflows) that automatically compiles and builds the executables for Windows and Linux upon pushing to the main branch.
The main.js file initializes the Electron BrowserWindow. It includes logic to detect network connectivity. If the application fails to load the main ThetaFlicks web app within a specified timeout, or if there is no internet connection, it redirects the window to the local offline.html page.
A static HTML page that is loaded locally by the Electron app when the remote ThetaFlicks server is unreachable.
The GitHub Actions workflow handles the compilation of the Electron app across different OS environments, generating the appropriate installation files (e.g., .exe, .AppImage, .deb) without manual intervention.
| Category | Technology |
|---|---|
| Framework | Electron.js |
| Frontend | HTML5, CSS3, JavaScript |
| CI/CD | GitHub Actions |
| Platforms | Windows, Linux |
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU AGPLv3 License. See LICENSE for more information.
Created by Nicodemus Gurning