{"id":15002401,"url":"https://github.com/xunzer/cli_commander","last_synced_at":"2026-01-02T00:33:32.111Z","repository":{"id":254964646,"uuid":"848101969","full_name":"Xunzer/CLI_Commander","owner":"Xunzer","description":"An API that stores and retrieves CLI commands you often forget.","archived":false,"fork":false,"pushed_at":"2024-08-31T08:43:38.000Z","size":4513,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T10:17:00.519Z","etag":null,"topics":["asp-net-core","azure","crud","csharp","docker","mvc-architecture","rest-api","sql-server","swagger-ui"],"latest_commit_sha":null,"homepage":"http://clicommanderapicontainer.d0fmcwgzeyb3fkea.canadacentral.azurecontainer.io/index.html","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/Xunzer.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-08-27T06:14:20.000Z","updated_at":"2024-09-03T02:53:34.000Z","dependencies_parsed_at":"2024-08-27T07:45:42.018Z","dependency_job_id":"df66b04e-05c1-43ce-a7e9-b967edc8e33a","html_url":"https://github.com/Xunzer/CLI_Commander","commit_stats":null,"previous_names":["xunzer/clicommander","xunzer/cli_commander"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xunzer%2FCLI_Commander","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xunzer%2FCLI_Commander/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xunzer%2FCLI_Commander/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xunzer%2FCLI_Commander/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xunzer","download_url":"https://codeload.github.com/Xunzer/CLI_Commander/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225071177,"owners_count":17416310,"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":["asp-net-core","azure","crud","csharp","docker","mvc-architecture","rest-api","sql-server","swagger-ui"],"created_at":"2024-09-24T18:49:59.680Z","updated_at":"2026-01-02T00:33:32.072Z","avatar_url":"https://github.com/Xunzer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CLI Commander REST API (ASP.NET Core MVC)\n## [Please click here to access the site.](http://clicommanderapicontainer.d0fmcwgzeyb3fkea.canadacentral.azurecontainer.io/index.html)\n#### An API that stores and retrieves CLI commands you often forget.\n\n### The goal of this project is to explore concepts related to:\n- Building a REST API\n- ASP.NET Core\n- Entity Framework\n- MVC Pattern\n- C#\n\n### By applying:\n- RESTful API principles\n- Repository design pattern\n- Dependency injection\n- SQL Server Express and SSMS\n- Entity Framework Core O/RM (DBContext, Migration)\n- Data Transfer Object (DTO)\n- AutoMapper\n- HTTP methods (GET, POST, PUT, PATCH, DELETE, status codes)\n- Postman and Swagger UI (for testing endpoints purpose)\n- Docker (image, container and delopyed on Docker Hub)\n- Azure (Deployed Docker Image and moved SQL Database from local)\n\n### Application Architecture:\n![Application_Architecture](https://github.com/user-attachments/assets/4042fca6-601e-452e-9678-949bf12eb564)\n\n### API Endpoints (CRUD):\n| URI                | Verb        | Operation   | Description                | Success          | Failure                             |\n|:------------------ |:----------- |:----------- |:-------------------------- |:-------------    |:----------------------------------- |\n|/api/commands       |GET          |READ         |Read all resources          |200 OK            |400 Bad Request, 404 Not Found       |\n|/api/commands/{id}  |GET          |READ         |Read a single resource      |200 OK            |400 Bad Request, 404 Not Found       |\n|/api/commands       |POST         |CREATE       |Create a new resource       |201 Created       |400 Bad Request, 405 Not Allowed     |\n|/api/commands/{id}  |PUT          |UPDATE       |Update an entire resource   |204 No Content    |..                                   |\n|/api/commands/{id}  |PATCH        |UPDATE       |Update partial resource     |204 No Content    |..                                   |\n|/api/commands/{id}  |DELETE       |DELETE       |Delete a single resource    |204 No Content    |..                                   |\n\n### Website UI:\n![Website_UI](https://github.com/user-attachments/assets/1ecf4ac8-7974-4628-ae70-f22fd67cc0ae)\n\n### Testing with Postman:\n#### [HttpGet] Returns all commands and a \"200 OK\" status code.\n![Postman_Test](https://github.com/user-attachments/assets/bb794e6b-57ab-4524-b81e-e8501a87ab92)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxunzer%2Fcli_commander","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxunzer%2Fcli_commander","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxunzer%2Fcli_commander/lists"}