Skip to content

veil-net/conflux_app

Repository files navigation

VeilNet Conflux

A Flutter application for managing VeilNet VPN connections across multiple platforms. VeilNet Conflux provides a user-friendly interface for connecting to network planes, managing organizations, and monitoring VPN status.

Features

  • πŸ” Authentication: Secure user authentication via Supabase
  • 🌐 Multi-Platform VPN: Connect to VeilNet VPN on Windows, Linux, macOS, and Android
  • πŸ“Š Connection Management: Monitor and control VPN connection status
  • 🏒 Organization Management: Manage and switch between different organizations
  • πŸ”” Notifications: Stay informed with in-app notifications
  • βš™οΈ Settings: Customize app preferences including dark mode
  • πŸ“± Cross-Platform: Native support for desktop and mobile platforms

Supported Platforms

  • Windows (x64)
  • Linux
  • macOS (Not Completed)
  • Android

Prerequisites

  • Flutter SDK (3.9.2 or higher)
  • Dart SDK (3.9.2 or higher)
  • Platform-specific build tools:
    • Android: Android Studio with Android SDK
    • iOS/macOS: Xcode (macOS only)
    • Windows: Visual Studio with C++ development tools
    • Linux: CMake and build essentials

Getting Started

Installation

  1. Clone the repository:
git clone <repository-url>
cd conflux_app
  1. Install Flutter dependencies:
flutter pub get
  1. Generate code (for Riverpod providers and JSON serialization):
flutter pub run build_runner build --delete-conflicting-outputs

Running the Application

Android

flutter run

Windows

flutter run -d windows

Linux

flutter run -d linux

macOS

flutter run -d macos

Project Structure

lib/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ conflux/        # VPN connection components
β”‚   β”œβ”€β”€ notification/   # Notification components
β”‚   β”œβ”€β”€ org/            # Organization components
β”‚   β”œβ”€β”€ realm/          # Network realm components
β”‚   β”œβ”€β”€ profile/        # User profile components
β”‚   β”œβ”€β”€ settings/       # Settings components
β”‚   └── team/           # Team management components
β”œβ”€β”€ models/             # Data models
β”œβ”€β”€ pages/              # Application pages/screens
β”‚   β”œβ”€β”€ auth_page.dart
β”‚   β”œβ”€β”€ main_page.dart
β”‚   β”œβ”€β”€ notification_page.dart
β”‚   └── organisation_page.dart
β”œβ”€β”€ providers/          # Riverpod state providers
β”œβ”€β”€ views/              # View components
β”‚   β”œβ”€β”€ home_view.dart
β”‚   β”œβ”€β”€ plane_view.dart
β”‚   └── setting_view.dart
└── main.dart           # Application entry point

Configuration

The application uses Supabase for backend services. Configuration is currently hardcoded in main.dart. For production use, consider moving these to environment variables or a configuration file.

Building for Release

Android

flutter build apk --release
# or for app bundle
flutter build appbundle --release

Windows

flutter build windows --release

Linux

flutter build linux --release

macOS

flutter build macos --release

Dependencies

Key dependencies include:

  • hooks_riverpod: State management
  • go_router: Navigation and routing
  • supabase_flutter: Backend services and authentication
  • dio: HTTP client
  • freezed: Code generation for immutable classes
  • flutter_animate: Animation utilities

See pubspec.yaml for the complete list of dependencies.

Development

Code Generation

This project uses code generation for:

  • Riverpod providers (riverpod_generator)
  • JSON serialization (json_serializable)
  • Freezed classes (freezed)

Run code generation with:

flutter pub run build_runner build --delete-conflicting-outputs

For watch mode (auto-regenerate on file changes):

flutter pub run build_runner watch --delete-conflicting-outputs

Linting

The project uses custom_lint and flutter_lints for code quality. Run:

flutter analyze

License

See LICENSE.md for details.

Contributing

Contributions are welcome! Please ensure your code follows the project's linting rules and includes appropriate tests.

Support

For issues and questions, please open an issue on the repository.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors