Skip to content
anthonyleestarkPublic

About

NexFlow

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

122 Commits

Folders and files

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).

Project Status: On Hold

Development is currently on hold indefinitely. Between a new job and other personal priorities, I don't have the time to actively work on this project right now.

Since the project is still in its early stages and unreleased, I'm pausing work here to focus on other commitments. It's not permanently abandoned, and I hope to return to it someday if circumstances change, but for now, no new updates or features will be added.

Thanks to anyone taking a look at this repository!

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 Power++ v3 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.

Contributing

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

Acknowledgments

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

About

NexFlow

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages