{"id":41020096,"url":"https://github.com/ivanclay/design-project-structure","last_synced_at":"2026-01-22T09:32:36.028Z","repository":{"id":309088688,"uuid":"1035105014","full_name":"ivanclay/design-project-structure","owner":"ivanclay","description":"Design the project structure and identify some technology stacks","archived":false,"fork":false,"pushed_at":"2025-08-19T11:15:46.000Z","size":190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-19T13:24:42.059Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivanclay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-08-09T17:03:56.000Z","updated_at":"2025-08-19T11:15:29.000Z","dependencies_parsed_at":"2025-08-09T20:16:38.485Z","dependency_job_id":"44c04ee5-69c0-4a8d-acae-d98eda83f277","html_url":"https://github.com/ivanclay/design-project-structure","commit_stats":null,"previous_names":["ivanclay/design-project-structure"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ivanclay/design-project-structure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanclay%2Fdesign-project-structure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanclay%2Fdesign-project-structure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanclay%2Fdesign-project-structure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanclay%2Fdesign-project-structure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivanclay","download_url":"https://codeload.github.com/ivanclay/design-project-structure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanclay%2Fdesign-project-structure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28660770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-01-22T09:32:35.212Z","updated_at":"2026-01-22T09:32:36.016Z","avatar_url":"https://github.com/ivanclay.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌳 Design Project Structure\n\n\u003e **An elegant tool to visualize and document the directory structure of any software project**\n\n[![.NET](https://img.shields.io/badge/.NET-512BD4?style=flat\u0026logo=dotnet\u0026logoColor=white)](https://dotnet.microsoft.com/)\n[![C#](https://img.shields.io/badge/C%23-239120?style=flat\u0026logo=c-sharp\u0026logoColor=white)](https://docs.microsoft.com/en-us/dotnet/csharp/)\n[![Console](https://img.shields.io/badge/Console-Application-blue)](https://github.com/)\n\n![](/docs/images/DesignProjectStructure.gif)\n\n## ✨ Features\n\n**Design Project Structure** is a C# console application that generates elegant visualizations of software project file and folder structures, with intelligent project type detection and real-time animated interface.\n\n### 🎯 **Key Features**\n\n- **🔍 Automatic Project Detection**: Automatically identifies .NET, Node.js, Python, Java, PHP, Ruby, Go, Rust, and more\n- **🎨 Animated Interface**: Real-time visualization with colorful borders and progress tracking\n- **📁 Hierarchical Structure**: Clear visual representation with ASCII art connectors\n- **🏷️ Contextual Icons**: Specific icons for different file and folder types\n- **🚫 Smart Filtering**: Automatically ignores unnecessary files/folders (.git, node_modules, bin, obj, etc.)\n- **📊 Real-time Statistics**: Live counters for folders, files, and processing progress\n- **💾 Export Capability**: Saves complete structure to text file\n- **🔒 Error Handling**: Gracefully handles access denied and other errors\n\n## 🖼️ Interface Preview\n\n```\n╔═══════════════════════════════════════════════════════════════════════════════╗\n║ ╣ PROJECT INFORMATION ╠                                                       ║\n║ [.NET] MyProject - ASP.NET Web API                                            ║\n║ Tech: C# | Framework: .NET                                                    ║\n║ Desc: ASP.NET Core Web Application                                            ║\n║ Path: D:\\Projects\\MyProject                                                   ║\n║ Output: structure.txt | 08/09/2025 15:30:45                                   ║\n╚═══════════════════════════════════════════════════════════════════════════════╝\n\n╔═══════════════════════════════════════════════════════════════════════════════╗\n║ ╣ FILE STRUCTURE ╠                                                            ║\n║ [DIR] MyProject                                                               ║\n║ ├── [CTRL] Controllers                                                        ║\n║ │   ├── [C#] WeatherController.cs                                             ║\n║ │   └── [C#] HomeController.cs                                                ║\n║ ├── [MODEL] Models                                                            ║\n║ │   └── [C#] WeatherForecast.cs                                               ║\n║ ├── [PROJ] MyProject.csproj                                                   ║\n║ └── [C#] Program.cs                                                           ║\n╚═══════════════════════════════════════════════════════════════════════════════╝\n\n╔═══════════════════════════════════════════════════════════════════════════════╗\n║ ╣ PROCESSING DATA ╠                                                           ║\n║ [DIR] FOLDERS FOUND: 012                                                      ║\n║ [FILE] FILES FOUND: 025                                                       ║\n║ [OK] PROCESSED: 037 of 037                                                    ║\n║                                                                               ║\n║ Progress: [100%] ████████████████████████████████████████████████████████████ ║\n║                                                                               ║\n║ COMPLETED! File saved: project_structure.txt                                  ║\n╚═══════════════════════════════════════════════════════════════════════════════╝\n```\n\n## 🚀 How to Use\n\n### Basic Execution\n```bash\ndotnet run\n```\n\n### Specifying a Custom Path\n```bash\ndotnet run \"C:\\MyProject\"\n```\n\n### Using Compiled Executable\n```bash\nDesignProjectStructure.exe \"C:\\MyProject\"\n```\n\n## 🏗️ Project Architecture\n\nThe project was developed following **Clean Code** principles and **Separation of Concerns**:\n\n```\n📁 DesignProjectStructure\n├── 📁 Models\n│   └── 🔷 StructureItens.cs          # Data model\n├── 📁 Helpers\n│   ├── 🔷 AnimatorStructureGenerator.cs  # Recursive structure generation\n│   ├── 🔷 ProjectTypeDetector.cs         # Intelligent project detection\n│   ├── 🔷 ConsoleRenderer.cs             # Console visual interface\n│   ├── 🔷 StructureGenerator.cs          # Processing logic\n│   ├── 🔷 IconProvider.cs                # Contextual icon provider\n│   ├── 🔷 IgnoreFilter.cs                # File filtering system\n│   └── 🔷 FileWriter.cs                  # File export functionality\n└── 🔷 Program.cs                         # Entry point\n```\n\n## 🎛️ Supported Project Types\n\n| Technology | Detection | Console Icon | Examples |\n|------------|-----------|--------------|----------|\n| **.NET** | `.csproj`, `.sln`, `.cs` files | `[.NET]` | Web API, Console, Library |\n| **Node.js** | `package.json` | `[NODE]` | React, Angular, Express |\n| **Python** | `requirements.txt`, `.py` files | `[PY]` | Django, Flask, FastAPI |\n| **Java** | `pom.xml`, `build.gradle`, `.java` | `[JAVA]` | Spring Boot, Maven |\n| **PHP** | `composer.json`, `.php` files | `[PHP]` | Laravel, Symfony |\n| **Ruby** | `Gemfile`, `.rb` files | `[RUBY]` | Rails, Scripts |\n| **Go** | `go.mod`, `.go` files | `[GO]` | Applications, Services |\n| **Rust** | `Cargo.toml`, `.rs` files | `[RUST]` | Applications, Libraries |\n| **Frontend** | `.html`, `.css`, `.js` files | `[WEB]` | Static Websites |\n\n## ⚙️ Configuration\n\n### Customizing Paths\nEdit the variables in `Program.cs`:\n\n```csharp\nstring rootPath = \"YOUR_PATH_HERE\";\nstring outputFile = \"YOUR_OUTPUT_FILE.txt\";\n```\n\n### Adding Custom Filters\nModify the `IgnoreFilter` class to add new patterns:\n\n```csharp\nprivate static readonly string[] ignore = {\n    \".git\", \".vs\", \"node_modules\", \"bin\", \"obj\",\n    // Add your custom filters here\n};\n```\n\n## 📝 Output File\n\nThe generated file contains:\n- **Header** with project information and timestamp\n- **Complete structure** with elegant Unicode icons\n- **Visual hierarchy** using ASCII tree characters\n- **Statistics** of processed folders and files\n\nExample output:\n```\nProject Structure: MyProject\nPath: D:\\Projects\\MyProject\nGenerated in: 08/09/2025 15:30:45\n============================================================\n\n📁 MyProject\n├── 📁 Controllers\n│   ├── 🔷 WeatherController.cs\n│   └── 🔷 HomeController.cs\n├── 📁 Models\n│   └── 🔷 WeatherForecast.cs\n├── 📋 MyProject.csproj\n└── 🔷 Program.cs\n```\n\n## 🛠️ Technical Requirements\n\n- **.NET 6.0 or higher**\n- **Windows, Linux, or macOS**\n- **Terminal with Unicode character support** (for best visual experience)\n\n## 🤝 Contributing\n\nContributions are welcome! Feel free to:\n\n1. 🐛 Report bugs\n2. 💡 Suggest improvements\n3. 🔧 Add new project types\n4. 🎨 Improve visual interface\n5. 📚 Enhance documentation\n\n## 📄 License\n\nThis project is licensed under the GNU General Public License Version 3 (GPL v3). See the `LICENSE` file for more details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Developed with ❤️ for the developer community**\n\n*Transform project structure analysis into an elegant visual experience*\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanclay%2Fdesign-project-structure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanclay%2Fdesign-project-structure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanclay%2Fdesign-project-structure/lists"}