Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexFlow

NexFlow is a modern Windows utility application for power management, scheduling, and system control. It is the rebranded and redesigned successor to PowerPlus3 (Power++ v3.x).

Version

Current Version: 1.0.0.0 (Phase 1 - Foundation Setup)

Overview

NexFlow provides:

  • Power Actions: Shutdown, restart, sleep, hibernate, display off, sign out
  • Scheduled Actions: Schedule power actions at specific times
  • Hotkey Management: System-wide hotkeys for quick power actions
  • Reminders: Power reminders with customizable messages
  • System Integration: Windows system tray integration

Architecture

NexFlow follows a clean architecture design with clear separation of concerns:

  • Domain Layer: Pure business logic (platform-independent)
  • Application Layer: Use cases and orchestration
  • Infrastructure Layer: Platform-specific implementations
  • Presentation Layer: User interface

This architecture enables:

  • Better testability
  • Easier maintenance
  • Potential cross-platform support
  • Clear module boundaries

Build Requirements

  • CMake 3.20 or later
  • C++20 compatible compiler:
    • Visual Studio 2019 or later (Windows)
    • GCC 10+ (Linux)
    • Clang 12+ (macOS/Linux)

Building

Windows

mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -A x64
cmake --build . --config Release

Linux

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

macOS

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

Project Structure

nexflow/
├── src/                   # Source code
│   ├── domain/              # Domain layer (business logic)
│   ├── application/         # Application layer (use cases)
│   ├── infrastructure/      # Infrastructure layer (platform code)
│   ├── presentation/        # Presentation layer (UI)
│   └── common/              # Shared utilities
├── tests/                # Test code
├── tools/                # Development tools
├── resources/            # Resources (icons, images, strings)
├── docs/                 # Documentation
├── cmake/                # CMake modules
└── reference/            # Original PowerPlus3 code (Phase 1 reference)

Development Status

Phase 1: Foundation Setup ✅

  • Project structure created
  • CMake build system configured
  • Branding configuration (NexFlow, v1.0.0.0)
  • Reference code preserved
  • Initial documentation

Phase 2: Core Features Migration (Upcoming)

  • Power action execution
  • Configuration management
  • Basic UI framework

Phase 3-5: Advanced Features (Planned)

  • Scheduling system
  • Hotkey management
  • Reminder system
  • Plugin system
  • Complete branding

Documentation

  • Migration Guide: docs/migration/MIGRATION_AND_REDESIGN_GUIDE.md
  • Architecture Recommendations: docs/ARCHITECTURE_RECOMMENDATIONS.md
  • Rebranding Documentation: docs/REBRANDING.md
  • Phase 1 Setup Guide: docs/PHASE1_SETUP.md

Reference Code

The original PowerPlus3 source code is preserved in reference/powerplus3/ for Phase 1 migration reference. This code is read-only and will be removed in later phases.

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Migration from PowerPlus3

NexFlow is a complete rebrand and architectural redesign. It is not backward compatible with PowerPlus3:

  • Different registry paths
  • Different configuration format
  • Different architecture

A migration tool will be provided in later phases to help users migrate their configuration from PowerPlus3 to NexFlow.

Contributing

This project is currently in Phase 1 (Foundation Setup). Contributions will be welcome in later phases.

Acknowledgments

NexFlow is based on PowerPlus3 (Power++ v3.x) by Anthony Lee Stark.


NexFlow v1.0.0.0 - Phase 1: Foundation Setup

Releases

Packages

Contributors

Languages