A robust and modern download manager component for a game launcher application, built with Electron, React, and TypeScript. This project provides efficient file downloading with progress tracking, IPC communication, and a sleek user interface.
- Efficient Downloads: Uses Node.js
httpsand streams for high-performance file downloading. - Real-time Progress Tracking: Reports download progress, speed, and status via IPC from the main process to the renderer.
- Modern UI: Polished interface built with React, styled with Vanilla CSS, and featuring Lucide React icons.
- IPC Communication: Seamless integration between Main and Renderer processes for controlling and monitoring downloads.
- TypeScript Core: Fully typed codebase for reliability and maintainability.
- Framework: Electron
- Frontend: React
- Language: TypeScript
- Build Tool: Electron Forge with Webpack
- Icons: Lucide React
src/
├── main/ # Main process logic (IPC setup, window management)
├── renderer/ # React components and UI logic
│ ├── main/ # Main window entry and layout
│ │ └── ui/ # UI Components (GameCard, HeroSection, Sidebar)
├── domain/ # Business logic (DownloadManager)
├── preload/ # Preload scripts for secure IPC communication
└── types/ # Type definitions
- Node.js (Latest LTS recommended)
- npm or yarn
-
Clone the repository:
git clone <repository-url> cd my-new-app
-
Install dependencies:
npm install
Run the application in development mode with live reloading:
npm startTo package the application for your current platform:
npm run packageTo create installers (make):
npm run makeThis project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by miguel-sanchez