Skip to content

Petrosbid/FileExplorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📂 Custom Virtual File Explorer

A modern, high-performance Virtual File System (VFS) simulation and management application built using C# and Windows Forms (.NET 6.0). This project demonstrates core operating system concepts such as storage partitioning, dynamic space allocation, and hierarchical data structures through a polished user interface.

.NET 6.0-Windows Language-CSharp Architecture-Composite


🚀 Key Features

  • 💾 Virtual Storage Management: Initialize custom virtual filesystems with specified storage capacities (saved with a custom .dsfs extension).
  • 🎛️ Dynamic Partitioning: Create and format custom partitions within the virtual drive. Ensures physical boundaries are respected with dynamic space constraint checking.
  • 📁 Hierarchical File Management: Full support for directory trees. Create folders and import real files into the virtual environment.
  • ✂️ Clipboard Operations: Integrated Copy, Cut, and Paste mechanics across different partitions or nested directories with automatic allocation size verification.
  • 📊 Live Resource Tracking: Status bar indicators instantly update to show selected item types, raw storage size, and remaining free space.
  • 🔒 Binary Persistence: Automatically flushes state and serializes the complete file tree architecture natively into a binary stream upon closure.

🛠️ Architecture & Design Patterns

The project deeply leverages solid Object-Oriented Programming (OOP) architectures:

  1. Composite Design Pattern:
    • Node: Abstract base class representing any entity within the system.
    • Filesystem, Partition, Folder, MyFile: Inherit from Node to handle unified leaf/composite behavior.
  2. Resource Allocation & Verification:
    • Dynamic sizing computation logic where the parent node monitors combined nested sizes while respecting maximum partition boundaries during file mutations.

📁 Project Structure

├── 📂 WinFormsApp1
│   ├── 📄 Node.cs             # Core abstract component for the Composite pattern
│   ├── 📄 Filesystem.cs       # Root system manager handling global actions and .dsfs saving
│   ├── 📄 Partition.cs        # Primary isolated storage segment bounds
│   ├── 📄 Folder.cs           # Composite directory holding files or other folders
│   ├── 📄 MyFile.cs           # Leaf node holding real injected file byte streams
│   ├── 📄 MyTreeNode.cs       # Visual wrapper adapter mapping Nodes into Form UI components
│   ├── 📄 Form1.cs            # Primary Application Explorer Dashboard UI
│   ├── 📄 Form2.cs            # Creation Dialogue controller for filesystem properties
│   └── 📄 Program.cs          # Main entry point hook
├── 📄 WinFormsApp1.sln        # Visual Studio Solution wrapper
└── 📄 .gitignore              # Configured exclusion specifications


💻 Technical Stack

  • Framework: .NET 6.0 (Windows Forms)
  • Language: C# 10
  • Serialization: System.Runtime.Serialization.Formatters.Binary

🛠️ How to Get Started

Prerequisites

  • .NET 6.0 SDK
  • Visual Studio 2022 (with Windows Forms workload enabled)

Running the Project

  1. Clone the repository to your local directory.
  2. Open WinFormsApp1.sln inside Visual Studio.
  3. Press F5 or click Start to compile and launch the File Explorer instance.
  4. Go to File -> New Filesystem to allocate a custom disk matrix and play around with partitions and file configurations!

Developed as a lightweight demonstration of high-level VFS architectures. 🌟

About

A modern, high-performance Virtual File System (VFS) simulation and management application built using C# and Windows Forms (.NET 6.0).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages