Skip to content

[WIP DEV STAG] Universal super app (Web + Electron) with plugin architecture and integrated Conda for effortless AI development.

Notifications You must be signed in to change notification settings

next-dev-team/electron-conda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

54 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Electron Super App

Universal super app (Web + Electron) with plugin architecture and integrated Conda for effortless AI development.

A modern, extensible desktop application built with Electron and React that provides a plugin-based ecosystem for running mini-applications. Designed with AI development in mind, featuring a secure sandbox environment and comprehensive plugin management system.

Electron Super App Demo Plugin Manager interface showing Counter Plugin and Todo Plugin running in sandboxed windows

๐Ÿš€ Features

Core Platform

  • Cross-Platform Desktop App - Built with Electron for Windows, macOS, and Linux
  • Modern Web Technologies - React 19, TypeScript, Vite, and Ant Design
  • Dual Runtime - Works as both web application and desktop app
  • Dark/Light Theme - Comprehensive theming system with user preferences

Plugin Architecture

  • Secure Sandbox Environment - Isolated plugin execution with controlled permissions
  • Plugin Manager - Install, manage, and configure plugins with ease
  • Developer Console - Built-in debugging and development tools
  • Plugin Marketplace - Discover and install community plugins
  • Hot Reload - Development-friendly plugin loading and testing

Security & Permissions

  • Permission-Based Access - Granular control over plugin capabilities
  • Content Security Policy - Strict security policies for plugin isolation
  • Sandboxed Execution - Plugins run in isolated environments
  • Verified Plugins - Plugin verification and trust system

Data Management

  • SQLite Database - Local data storage with Prisma ORM
  • User Management - Multi-user support with preferences
  • Plugin Storage API - Persistent storage for plugin data
  • Settings Management - Centralized configuration system

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Electron Main Process                    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Plugin Manager  โ”‚  Security Manager  โ”‚  Database Service  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    React Frontend App                       โ”‚
โ”‚  Dashboard  โ”‚  Marketplace  โ”‚  Plugin Manager  โ”‚  Settings  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Plugin Sandbox Layer                     โ”‚
โ”‚         Isolated Plugin Instances with Controlled API       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Data & Storage Layer                     โ”‚
โ”‚           Prisma ORM + SQLite + Plugin Storage             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Technology Stack

Frontend

  • React 19 - Modern React with hooks and concurrent features
  • TypeScript 5 - Type-safe development
  • Vite 7 - Fast build tool and development server
  • Ant Design 5 - Professional UI component library
  • Zustand - Lightweight state management
  • React Router - Client-side routing

Backend & Desktop

  • Electron 38 - Cross-platform desktop framework
  • Node.js - Server-side JavaScript runtime
  • Express - Web application framework
  • Prisma - Modern database toolkit and ORM
  • SQLite - Embedded database

Development & Build

  • Vite - Build tool with HMR support
  • Electron Builder - Application packaging
  • Vitest - Unit testing framework
  • ESLint - Code linting and formatting
  • Tailwind CSS - Utility-first CSS framework

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

Development Setup

  1. Clone the repository

    git clone <repository-url>
    cd electron-conda
  2. Install dependencies

    npm install
  3. Set up the database

    npm run db:generate
    npm run db:push
    npm run db:seed
  4. Start development server

    npm run dev

The application will start with:

  • Main app running on http://localhost:5173
  • Electron desktop app launching automatically
  • Hot reload enabled for development

๐ŸŽฏ Usage

Running the Application

Development Mode:

npm run dev          # Start both web and electron in development
npm run client:dev   # Start only the web version
npm run electron:dev # Start only the electron version

Production Build:

npm run build        # Build for production
npm run electron:build # Build electron app

Database Operations:

npm run db:studio    # Open Prisma Studio
npm run db:seed      # Seed database with sample data

Plugin Development

  1. Create a new plugin directory in /plugins/
  2. Add a package.json with plugin manifest
  3. Develop your plugin using HTML, CSS, and JavaScript
  4. Use the Plugin API for storage, notifications, and more
  5. Test in the Developer Console

Example plugin structure:

plugins/my-plugin/
โ”œโ”€โ”€ package.json     # Plugin manifest
โ”œโ”€โ”€ index.html       # Entry point
โ”œโ”€โ”€ script.js        # Plugin logic
โ”œโ”€โ”€ styles.css       # Plugin styles
โ””โ”€โ”€ icon.svg         # Plugin icon

๐Ÿ”Œ Plugin System

Available APIs

  • Storage API - Persistent key-value storage
  • Notifications API - System notifications
  • Network API - HTTP requests (with permissions)
  • Filesystem API - Limited file operations
  • Window API - Window management and configuration

Sample Plugins Included

  • Counter Plugin - Simple counter with persistent storage
  • Todo Plugin - Task management with React and modern UI

Plugin Permissions

{
  "permissions": [
    "storage", // Access to plugin storage
    "notifications", // Show system notifications
    "network", // Make HTTP requests
    "filesystem" // Limited file system access
  ]
}

๐Ÿงช Testing

npm test              # Run all tests
npm run test:ui       # Run tests with UI
npm run test:unit     # Run unit tests only
npm run test:integration # Run integration tests

๐Ÿ“š Documentation

Comprehensive documentation is available in the .trae/documents/ directory:

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ”ฎ Roadmap

  • Conda Integration - Seamless Python environment management
  • AI/ML Plugin Templates - Pre-built templates for AI development
  • Plugin Store - Online marketplace for plugin distribution
  • Cloud Sync - Synchronize plugins and data across devices
  • Plugin Analytics - Usage analytics and performance monitoring
  • Advanced Security - Enhanced plugin sandboxing and verification

๐Ÿ†˜ Support

  • Documentation - Check the /docs directory
  • Issues - Report bugs and request features via GitHub Issues
  • Developer Console - Use the built-in debugging tools
  • Community - Join our community discussions

Built with โค๏ธ for the developer community

About

[WIP DEV STAG] Universal super app (Web + Electron) with plugin architecture and integrated Conda for effortless AI development.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published