{"id":20636779,"url":"https://github.com/gritngo/decibels_mvc","last_synced_at":"2026-05-04T08:32:42.093Z","repository":{"id":246651889,"uuid":"821256903","full_name":"gritNgo/Decibels_MVC","owner":"gritNgo","description":"Musical instruments e-commerce .NET Core web application ","archived":false,"fork":false,"pushed_at":"2025-07-21T10:13:19.000Z","size":7496,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T12:14:15.866Z","etag":null,"topics":["azure-app-service","azure-blob-storage","azure-workload-identity","bootstrap","e-commerce-app","entity-framework-core","facebook-login","identity","stripe-payments","toastr-notifications"],"latest_commit_sha":null,"homepage":"https://decibelsmusic.azurewebsites.net/","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/gritNgo.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,"zenodo":null}},"created_at":"2024-06-28T06:33:55.000Z","updated_at":"2025-07-21T10:13:23.000Z","dependencies_parsed_at":"2024-06-29T12:21:15.198Z","dependency_job_id":"242e07ec-b537-4df6-b6d8-009188b201de","html_url":"https://github.com/gritNgo/Decibels_MVC","commit_stats":null,"previous_names":["gritngo/decibels_mvc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gritNgo/Decibels_MVC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gritNgo%2FDecibels_MVC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gritNgo%2FDecibels_MVC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gritNgo%2FDecibels_MVC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gritNgo%2FDecibels_MVC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gritNgo","download_url":"https://codeload.github.com/gritNgo/Decibels_MVC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gritNgo%2FDecibels_MVC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32600954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"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":["azure-app-service","azure-blob-storage","azure-workload-identity","bootstrap","e-commerce-app","entity-framework-core","facebook-login","identity","stripe-payments","toastr-notifications"],"created_at":"2024-11-16T15:12:08.196Z","updated_at":"2026-05-04T08:32:42.088Z","avatar_url":"https://github.com/gritNgo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decibels - Real-world E-commerce Application\n\n**Decibels** is a real-world e-commerce application for musical instruments, deployed on Azure. It showcases the use of a wide range of modern technologies and development practices. **(To complete a test purchase, use card number `4242424242424242` with any valid future expiry date and CVC)**\n\n---\n\n## Technologies \u0026 Architecture\n\n### .NET Stack\n- **.NET 8 (ASP.NET Core MVC)**\n- **Entity Framework Core (Code-First)**: For seamless database interaction and schema management.\n- **ASP.NET Core Identity**: Robust user authentication and authorization system.\n- **Role Management**: Implemented for granular access control (e.g., Customer, Admin, Employee, Company).\n- **Areas**: For better organization and modularity of the application.\n- **Session \u0026 Cookie Management**: For handling user sessions and preferences.\n- **LINQ**: For efficient data querying.\n- **Repository and Unit of Work Patterns**: Applied for a clean, testable, and maintainable data access layer.\n- **N-Tier Architecture**: Ensuring clear separation of concerns within the application layers.\n\n### Azure Services \u0026 Cloud Practices\n- **Azure App Service**: Hosting the web application with a focus on scalability and reliability.\n  - **Deployment Slots (Staging and Production)**: For zero-downtime deployments and testing in a pre-production environment.\n  - **Secure Configuration with Application Settings**: Managing sensitive data (e.g., connection strings, API keys) securely in the cloud, separate from source code.\n- **Azure SQL Server \u0026 SQL Database**: Reliable and scalable relational database for storing application data.\n- **Azure Blob Storage**: Utilized for persistent storage and serving of product images, enhancing performance and scalability.\n- **Azure Active Directory Workload Identity**: For secure, automated authentication of CI/CD pipelines to Azure resources, eliminating the need for secrets in GitHub Actions.\n- **GitHub Actions CI/CD**: Automated pipelines for Continuous Integration and Continuous Deployment to both staging and production environments.\n\n### Core Features\n- **Product Catalog**: Users can view and browse a wide range of musical instruments.\n- **User Registration \u0026 Authentication**: Secure registration and login functionalities.\n- **Shopping Cart Management**: Comprehensive CRUD operations for customers to manage their cart items.\n- **Order Management**: Full CRUD capabilities for order processing, accessible by authorized roles (Customer/Admin/Employee/Company).\n- **Secure Payments (Stripe)**: Integration of Stripe for seamless and secure payment processing. \n- **Social Login**: Enhanced user experience with Facebook registration/login.\n- **Responsive Design**: Ensuring optimal viewing experience across various devices (desktop, tablet, mobile).\n- **REST API**: Underlying API design for data interaction.\n\n### Libraries \u0026 Tools\n- **Bootstrap v5**: Modern and responsive frontend framework for UI components.\n- **DataTables**: For interactive and efficient display of tabular data.\n- **Toastr**: For elegant and non-intrusive notification messages.\n- **SSMS (SQL Server Management Studio)**: For database management and querying.\n- **TinyMCE**: Rich text editing","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgritngo%2Fdecibels_mvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgritngo%2Fdecibels_mvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgritngo%2Fdecibels_mvc/lists"}