{"id":23911996,"url":"https://github.com/omar7001-b/shellx","last_synced_at":"2025-02-23T17:44:50.432Z","repository":{"id":239945252,"uuid":"762603502","full_name":"Omar7001-B/ShellX","owner":"Omar7001-B","description":"A basic shell interface that supports the execution of a series of commands.","archived":false,"fork":false,"pushed_at":"2024-05-30T18:31:02.000Z","size":91,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-05T08:57:43.769Z","etag":null,"topics":["bfs-dfs","command-line","console-application","csharp","file-management","oop-in-csharp","shell-simulation"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Omar7001-B.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-24T06:59:00.000Z","updated_at":"2024-12-26T22:35:59.000Z","dependencies_parsed_at":"2024-05-16T03:26:17.689Z","dependency_job_id":"c93ac7ac-8dfa-4e84-b217-1d3349ff7023","html_url":"https://github.com/Omar7001-B/ShellX","commit_stats":null,"previous_names":["omar7001-b/simple-shell-and-file-system-fat","omar7001-b/shellx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar7001-B%2FShellX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar7001-B%2FShellX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar7001-B%2FShellX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar7001-B%2FShellX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Omar7001-B","download_url":"https://codeload.github.com/Omar7001-B/ShellX/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240356097,"owners_count":19788512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bfs-dfs","command-line","console-application","csharp","file-management","oop-in-csharp","shell-simulation"],"created_at":"2025-01-05T08:57:46.682Z","updated_at":"2025-02-23T17:44:50.407Z","avatar_url":"https://github.com/Omar7001-B.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/2CX2Qpb.jpg\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ch1 align=\"center\"\u003eSIMPLE-SHELL-AND-FILE-SYSTEM-FAT\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/version-1.0.0-blue.svg?style=flat\u0026color=0080ff\" alt=\"version\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/Omar7001-B/ShellX?style=flat\u0026logo=git\u0026logoColor=white\u0026color=0080ff\" alt=\"last-commit\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/Omar7001-B/ShellX?style=flat\u0026color=0080ff\" alt=\"repo-top-language\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/Omar7001-B/ShellX?style=flat\u0026color=0080ff\" alt=\"stars\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/Omar7001-B/ShellX?style=flat\u0026color=0080ff\" alt=\"forks\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/watchers/Omar7001-B/ShellX?style=flat\u0026color=0080ff\" alt=\"watchers\"\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [Overview](#overview) 📜\n- [Installation](#installation) 🔧\n- [Usage](#usage) ⚙️\n- [Commands](#commands) 💻\n  - [General](#general) ℹ️\n  - [Directory](#directory) 📁\n  - [File](#file) 📄\n  - [Debug](#debug) 🛠️\n- [Repo Structure](#repo-structure) 🏗️\n- [Modules](#modules) 🧩\n  - [ShellSystem](#shellsystem) 💼\n  - [Disk](#disk) 💾\n  - [Entry](#entry) 📝\n- [Lessons Learned](#lessons-learned) 📚\n- [Demo Video](#demo-video) 🎥\n- [Contribution](#contribution-) 🤝\n\n\n## Overview\n\nSimple Shell and File System Program offers efficient file system management and navigation. It provides a range of commands for directory manipulation, file handling, and debugging tasks. Users can easily execute commands, access detailed help, and exit the shell.\n\n## Installation\n\n1. Clone the repository:\n   ~~~bash\n   git clone https://github.com/Omar7001-B/ShellX.git\n   ~~~\n   \n2. Navigate to the project directory:\n   ~~~bash\n   cd ShellX\n   ~~~\n\n3. Compile and run the program:\n   ~~~bash\n   dotnet run\n   ~~~\n\n## Usage\n\n1. After running the program, you'll be prompted with a shell interface.\n2. Enter a command followed by any required arguments.\n3. Use the `help` command to see detailed information about each command.\n4. Use the `quit` command to exit the shell.\n\n# Commands\n\n### General\n\n| Command | Description                                   |\n| ------- | --------------------------------------------- |\n| help    | Provides Help information for commands.      |\n| cls     | Clear the screen.                            |\n| quit    | Quit the shell.                              |\n\n### Directory\n\n| Command | Description                                   |\n| ------- | --------------------------------------------- |\n| cd      | Changes the current directory.               |\n| dir     | List the contents of directory.              |\n| copy    | Copies one or more entry to another location.|\n| cut     | Cut one or more entry to another location.   |\n| md      | Creates a directory.                         |\n| rd      | Removes a directory.                         |\n| rename  | Renames a file.                              |\n\n### File\n\n| Command | Description                                   |\n| ------- | --------------------------------------------- |\n| echo    | Displays text or variables, write or append to files.|\n| type    | Displays the contents of a text file.       |\n| del     | Deletes one or more files.                   |\n| import  | Import text file(s) from your computer.      |\n| export  | Export text file(s) to your computer.        |\n\n### Debug\n\n| Command | Description                                   |\n| ------- | --------------------------------------------- |\n| meta    | Show meta data of a file.                    |\n| tree    | List the tree of a directory.                |\n| fat     | Shows The Fat File System.                   |\n| mds     | Creates n directories.                       |\n| rds     | Removes n directories.                       |\n\n\n## Repo Structure\n~~~\n├── Program.cs\n│\n├── 📁 Disk\n│   ├─ FatTable.cs\n│   └─ VirtualDisk.cs\n│\n├── 📁 Entry\n│   ├─ Directory.cs\n│   ├─ DirectoryEntry.cs\n│   └─ FileEntry.cs\n│\n├── 📁 ShellSystem\n│   ├─ FileSystem.cs\n│   └─ Shell.cs\n│\n└── 📁 bin\n    └── 📁 Debug\n        └── 📁 net6.0\n            ├─ Disk.txt\n            ├─ 📁Exports\n            └─ 📁Imports\n~~~\n\n## Modules\n\n| Module                                                                                                                 | Summary                          | Documentation                                                                                       |\n| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| [ShellSystem](https://github.com/Omar7001-B/ShellX/tree/master/ShellSystem)                  | Handles shell and file system operations. | [Documentation](https://github.com/Omar7001-B/ShellX/blob/master/ShellSystem/) |\n| [Disk](https://github.com/Omar7001-B/ShellX/tree/master/Disk)                                | Manages virtual disk and FAT operations.  | [Documentation](https://github.com/Omar7001-B/ShellX/blob/master/Disk/) |\n| [Entry](https://github.com/Omar7001-B/ShellX/tree/master/Entry)                              | Handles directory and file entries.         | [Documentation](https://github.com/Omar7001-B/ShellX/blob/master/Entry/) |\n\n\n\n\n\n## Lessons Learned\n- Object-oriented programming (OOP)\n  - Constructors\n  - Inheritance\n  - Virtual Classes\n  - Override\n  - Overload\n- Recursive algorithms (e.g., BFS)\n- Data structures (e.g., dictionaries, lists)\n- File system management\n- String manipulation\n- File I/O operations\n- Directory and file manipulation\n- Software testing (unit testing)\n\n## Demo Video\n\nhttps://github.com/Omar7001-B/ShellX/assets/115028809/54d1e2e2-63f5-4bbb-92bd-08e9aeae2d55\n\n\n\n# Contribution 🤝\n\nWe welcome contributions from the community. Please fork the repository and submit pull requests for any improvements or bug fixes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar7001-b%2Fshellx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomar7001-b%2Fshellx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar7001-b%2Fshellx/lists"}