{"id":18717205,"url":"https://github.com/zabavb/technology-store","last_synced_at":"2026-04-04T20:32:58.208Z","repository":{"id":259674937,"uuid":"879178220","full_name":"zabavb/Technology-store","owner":"zabavb","description":"This is a web app developed on ASP.NET. The project features a microservices architecture with Ocelot as the gateway managing routes between three APIs and the client app. It includes cookie-based authorization and field validation. Data is managed and saved in an MS SQL Server database via EF Core.","archived":false,"fork":false,"pushed_at":"2024-11-12T14:24:36.000Z","size":1120,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-02T07:48:14.047Z","etag":null,"topics":["api-rest","asp-net-mvc","authorization","bootstrap5","client-server","cookie-authentication","crud-operation","csharp","database","dotnet","entity-framework-core","gateway-api","lambda-expressions","library","linq-to-sql","microsoft-sql-server","ocelot-api-gateway","store","website"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zabavb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-10-27T07:57:27.000Z","updated_at":"2024-11-12T19:16:45.000Z","dependencies_parsed_at":"2024-10-27T09:16:14.262Z","dependency_job_id":"bb5ad8a3-73cf-4f17-ac1d-131b0850b476","html_url":"https://github.com/zabavb/Technology-store","commit_stats":null,"previous_names":["zabavb/technology-store"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zabavb/Technology-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabavb%2FTechnology-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabavb%2FTechnology-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabavb%2FTechnology-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabavb%2FTechnology-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zabavb","download_url":"https://codeload.github.com/zabavb/Technology-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zabavb%2FTechnology-store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31413269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api-rest","asp-net-mvc","authorization","bootstrap5","client-server","cookie-authentication","crud-operation","csharp","database","dotnet","entity-framework-core","gateway-api","lambda-expressions","library","linq-to-sql","microsoft-sql-server","ocelot-api-gateway","store","website"],"created_at":"2024-11-07T13:15:17.551Z","updated_at":"2026-04-04T20:32:58.180Z","avatar_url":"https://github.com/zabavb.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.icons8.com/cotton/100/store--v2.png\" alt=\"Technology Store Logo\" width=\"120\" height=\"120\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTechnology Store ASP.NET Application\u003c/h1\u003e\n\n\u003ch2\u003eProject Overview\u003c/h2\u003e\n\u003cp\u003e\n  Technology Store is a web application developed using ASP.NET and C#. The project features a microservices architecture with Ocelot as the gateway managing routes between three APIs (OrderAPI, ProductAPI, UserAPI) and the client application. It includes cookie-based authorization and field validation. Data is managed and saved in an MS SQL Server database via Entity Framework Core. This app allows admins and managers to manage products, users, and orders through CRUD operations, while clients can view products, search, add items to their basket, make orders, cancel orders, and view their profile with loging, registrating into system.\n\u003c/p\u003e\n\n\u003ch2\u003eProject Details\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n    \u003cstrong\u003eLanguages:\u003c/strong\u003e\n    \u003ca href=\"https://learn.microsoft.com/en-us/dotnet/csharp/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/C%23-239120?style=flat\u0026logo=c-sharp\u0026logoColor=white\" alt=\"C#\"\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cstrong\u003eTechnologies:\u003c/strong\u003e\n    \u003ca href=\"https://dotnet.microsoft.com/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/.NET%20Framework-512BD4?style=flat\u0026logo=.net\u0026logoColor=white\" alt=\".NET Framework\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://learn.microsoft.com/en-us/ef/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Entity%20Framework-512BD4?style=flat\u0026logo=.net\u0026logoColor=white\" alt=\"Entity Framework\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://ocelot.readthedocs.io/en/latest/introduction/gettingstarted.html\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Ocelot%20API-6A4A3C?style=flat\u0026logo=api\u0026logoColor=white\" alt=\"Ocelot API\"\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cstrong\u003eSecurity:\u003c/strong\u003e\n    \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Cookie%20Auth-4CAF50?style=flat\u0026logo=lock\u0026logoColor=white\" alt=\"Cookie Authentication\"\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003cstrong\u003eProject Type:\u003c/strong\u003e\n    \u003ca href=\"https://learn.microsoft.com/en-us/aspnet/core/?view=aspnetcore-5.0\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/ASP.NET%20Web%20App-0078D6?style=flat\u0026logo=asp.net\u0026logoColor=white\" alt=\"ASP.NET Web App\"\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eDevelopment Details\u003c/h2\u003e\n\u003cp\u003e\n  This project was a course assignment at IT Step Computer Academy. It demonstrates CRUD operations for product, user, and order management with role-based access control, integrating MS SQL Server with Entity Framework Core. The project also uses Bootstrap for UI styling and Ocelot for managing API routes.\n\u003c/p\u003e\n\n\u003ch2\u003eGetting Started\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This project requires an MS SQL Server setup with proper connection strings.\u003c/p\u003e\n\u003cp\u003eFollow these steps to set up the project:\u003c/p\u003e\n\u003col\u003e\n  \u003cli\u003e\n    Clone the repository:\n    \u003cpre\u003e\u003ccode\u003egit clone https://github.com/zabavb/Technology-store.git\u003c/code\u003e\u003c/pre\u003e\n  \u003c/li\u003e\n  \u003cli\u003eConfigure your MS SQL Server and update the connection strings in the \u003ccode\u003eappsettings.json\u003c/code\u003e file.\u003c/li\u003e\n  \u003cli\u003eInstall the required NuGet packages, including \u003cstrong\u003eOcelot\u003c/strong\u003e, \u003cstrong\u003eMicrosoft.EntityFrameworkCore\u003c/strong\u003e, and others as needed.\u003c/li\u003e\n  \u003cli\u003eOpen the solution file in Visual Studio, build the project, and run the application.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003cstrong\u003eRole-based Access:\u003c/strong\u003e Admins and managers can manage products, users, and orders, while clients have restricted access to view products, manage their basket, and place/cancel orders.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eSecurity:\u003c/strong\u003e Cookie-based authentication with field validation for secure data handling.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eAPI Management:\u003c/strong\u003e Ocelot handles API routing between client and microservices, with a clean, streamlined gateway setup.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eUsage\u003c/h2\u003e\n\u003cp\u003e\n  To use this application, ensure you have the necessary permissions and connection strings configured. Admins and managers can manage products, users, and orders, while clients can explore product catalogs, manage orders, and view their profiles.\n\u003c/p\u003e\n\n\u003ch2\u003eContributing\u003c/h2\u003e\n\u003cp\u003eContributions are welcome! If you have any suggestions or improvements, feel free to fork the repository and submit a pull request.\u003c/p\u003e\n\u003col\u003e\n  \u003cli\u003eFork the Repository: Click the \"Fork\" button at the top-right of this page.\u003c/li\u003e\n  \u003cli\u003eCreate a Branch: Create a new branch for your changes.\u003c/li\u003e\n  \u003cli\u003eCommit Changes: Make your changes and commit them with a descriptive message.\u003c/li\u003e\n  \u003cli\u003ePush to Your Fork: Push your changes to your forked repository.\u003c/li\u003e\n  \u003cli\u003eSubmit a Pull Request: Go to the \"Pull Requests\" tab and submit a new pull request.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003eContact\u003c/h2\u003e\n\u003cp\u003e\n  For any questions or inquiries, you can reach me at \u003ca href=\"mailto:bilonizkavik@agmail.com\"\u003email\u003c/a\u003e or connect with me on \u003ca href=\"https://www.linkedin.com/in/viktor-bilonizhka\" target=\"_blank\"\u003eLinkedIn\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003ch2\u003eReferences\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://learn.microsoft.com/en-us/dotnet/csharp/\" target=\"_blank\"\u003eC# Documentation\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://learn.microsoft.com/en-us/ef/\" target=\"_blank\"\u003eEntity Framework Documentation\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"https://ocelot.readthedocs.io/en/latest/introduction/gettingstarted.html\" target=\"_blank\"\u003eOcelot API Documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eAcknowledgements\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eThanks to IT Step Academy for providing the resources and guidance for this project.\u003c/li\u003e\n  \u003cli\u003eSpecial thanks to Microsoft for their comprehensive documentation and cloud services.\u003c/li\u003e\n  \u003cli\u003eGratitude to the open-source community for NuGet packages and contributions.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003chr\u003e\n\n\u003cp align=\"center\"\u003e\n  Feel free to modify or extend this README to fit your needs better. Happy coding!\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzabavb%2Ftechnology-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzabavb%2Ftechnology-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzabavb%2Ftechnology-store/lists"}