Skip to content

belanasaikiran/File-System-Management

Repository files navigation

File-System-Management

This project implements a file system GUI using Dear ImGui, a graphical interface library. It enables users to perform file system operations including file and directory management, disk usage monitoring, and file modification.

Implemented in C++ with OpenGL for rendering

OS-GroupProject

Implemented Functions

Operation Function
Create Directory create_directory(dirName)
Delete Directory delete_directory(dirName)
Create File create_file(fileName)
Delete File delete_file(fileName)
Write to File write_to_file(fileName, fileContent.c_str())
Read File read_file(fileName)
Get File Info get_file_info(filePath)
List Directory Contents list_directory_contents(filePath)
Rename File/Directory rename_file_or_directory(oldName, newName)
Move File/Directory move_file_or_directory(moveCopySource, moveCopyDestination)
Copy File copy_file(moveCopySource, moveCopyDestination)
Change File Permissions change_permissions(fileName, parsedPermissions)
Get Disk Usage get_disk_usage(".")

Steps to Build and Run the program.

  1. Install the necessary libraries

    sudo apt update
    sudo apt install gcc pkg-config g++ build-essential libglfw3-dev libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev libxxf86vm-dev libxcursor-dev cmake
    
    
  2. Firstly, clone the ImGUI git repository into this project directory. We use the docking branch since it provides option to resize the windows according to our wish

    git clone --recursive https://github.com/ocornut/imgui -b docking

NOTE: the imgui folder should be at ROOT i.e., one dir behind AllinOne or file_system_gui folder.

  1. go to file_system_gui directory, and run the make command.

    cd file_system_gui
    make

    NOTE: Make sure, the make file IMGUI directory is pointed to the directory you cloned in step 1

  2. Run the GUI interface:

    ./file_Sys_gui

Diretory Structure for this project:

.
├── FileSys_GUI
├── imgui
├── Output_ScreenShots
└── README.md

Test Screenshots:

image 1

image 2

About

A group project at UCONN::CSE 5304

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •