{"id":26745216,"url":"https://github.com/ismail-mohammed-atef/autodrawer","last_synced_at":"2026-05-09T00:37:11.473Z","repository":{"id":278831150,"uuid":"936913620","full_name":"Ismail-Mohammed-Atef/AutoDrawer","owner":"Ismail-Mohammed-Atef","description":"WPF aaplication used to dynamically draw different shapes and save your shapes in database to be able to use them again","archived":false,"fork":false,"pushed_at":"2025-03-24T20:07:26.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T21:22:51.311Z","etag":null,"topics":["authentication","csharp","design-patterns","dotnet","mvvm","wpf"],"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/Ismail-Mohammed-Atef.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":"2025-02-21T23:09:37.000Z","updated_at":"2025-03-24T20:09:20.000Z","dependencies_parsed_at":"2025-02-22T00:24:11.841Z","dependency_job_id":null,"html_url":"https://github.com/Ismail-Mohammed-Atef/AutoDrawer","commit_stats":null,"previous_names":["ismail-mohammed-atef/autodrawer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FAutoDrawer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FAutoDrawer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FAutoDrawer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FAutoDrawer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ismail-Mohammed-Atef","download_url":"https://codeload.github.com/Ismail-Mohammed-Atef/AutoDrawer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991584,"owners_count":20706129,"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":["authentication","csharp","design-patterns","dotnet","mvvm","wpf"],"created_at":"2025-03-28T08:15:54.916Z","updated_at":"2026-05-09T00:37:11.427Z","avatar_url":"https://github.com/Ismail-Mohammed-Atef.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WPF Auto Drawer\n\n## Overview\nWPF Auto Drawer is a desktop application for creating and managing different shapes with advanced drawing capabilities. Built using MVVM architecture, design patterns, and Entity Framework, the application allows users to save and load their drawings, maintaining shapes and layouts across sessions. It features a tabbed system similar to AutoCAD and integrates authentication using Identity.\n\n## Features\n- **Shape Drawing**: Supports drawing and editing various shapes.\n- **MVVM Architecture**: Ensures separation of concerns and maintainability.\n- **Design Patterns**: Utilizes Factory Pattern for shape creation, Repository Pattern for data handling, and Command Pattern for undo/redo functionality.\n- **Entity Framework**: Saves drawings per user and loads them with exact configurations.\n- **Tabbed System**: Multi-document interface similar to AutoCAD.\n- **Authentication \u0026 Authorization**: Secure login and user management with Identity.\n- **Undo/Redo Functionality**: Provides enhanced editing capabilities.\n- **Grid \u0026 Snap Support**: Improves precision in shape placement.\n- **Theme Customization**: Dark/light mode and UI adjustments.\n\n## Installation\n1. Clone the repository.\n2. Open the project in Visual Studio.\n3. Restore NuGet packages.\n4. Configure the database connection in `appsettings.json`:\n   ```json\n   {\n     \"ConnectionStrings\": {\n       \"DefaultConnection\": \"Server=your-server;Database=your-db;User Id=your-user;Password=your-password;\"\n     }\n   }\n   ```\n5. Apply migrations and update the database:\n   ```sh\n   dotnet ef database update\n   ```\n6. Build and run the application.\n\n## Usage\n1. Register/Login using Identity authentication.\n2. Open a new tab to start a drawing session.\n3. Draw shapes and save your work.\n4. Load previously saved files with preserved layouts.\n5. Utilize grid/snapping for precision.\n6. Switch between tabs to work on multiple drawings simultaneously.\n\n## Requirements\n- **Windows OS**: 10 or later\n- **.NET Version**: .NET 8 or later\n- **Database**: SQL Server or SQLite\n- **Authentication**: Identity with JWT support\n\n## License\nThis project is licensed under the MIT License.\n\n## Contact\nFor support or inquiries, reach out via email at ismail.mohammed.atef@gmail.com.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismail-mohammed-atef%2Fautodrawer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fismail-mohammed-atef%2Fautodrawer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismail-mohammed-atef%2Fautodrawer/lists"}