Welcome to the SmartCertify Clean Architecture .NET 9 API project! This repository showcases how to build a robust API with a clean architecture using .NET 9, following best practices to design scalable and maintainable applications.
The project is structured with a focus on Clean Architecture, utilizing the Entity Framework Core (EF Core) for database access and Swagger, Scalar,and NSwag for API documentation.
Welcome to Episode 1 of the SmartCertify series! π In this video, weβll kick off by exploring the architecture and overview of the SmartCertify App, a full-stack web application designed to revolutionize online course certification.
Discover the clean architecture design, learn how the app is structured, and see how weβll use cutting-edge technologies like Angular 19, .NET Core 9 Web API, and Azure. Whether youβre a beginner or an experienced developer, this series will guide you step-by-step to build a powerful, scalable platform for the future of online education.
Key Topics:
- Project architecture and structure
- App overview and high-level design
- Exploring heavy Azure Services that we will use in this Application
In this video, learn how to install SQL Express, SQL Server Management Studio (SSMS), and Azure Data Studio. Weβll guide you through connecting to a SQLExpress server and accessing your database. Perfect for beginners starting with SQL databases! Stay tuned for more episodes in our SmartCertify series, where we build a robust online course certification platform.
Key Topics:
-
Installation of SQL Tools
-
Azure Data Studio Installation
-
SQL Express Installation, SQL Server Management Studio (SSMS) Installation
-
SQL Server Management Studio (SSMS)
Download and install SQL Server Management Studio (SSMS) to manage your SQL Server databases. -
SQL Server Express Edition
SQL Server 2022 Express is a free edition suitable for development and small applications. -
Azure Data Studio
An alternative to SSMS for working with SQL databases, designed for data professionals who prefer a cross-platform tool.
π¬ Got questions or stuck? Drop a comment or join our Telegram community for quick help!
π‘ Want to ask questions, discuss coding, and interact with others? π Join our community group here: t.me/LearnSmartCodingYTCommunity
- 00:00 - App Demo & Features Overview
- 06:35 - Architecture & Tech Stack Explained
- 10:30 - Install SQL Tools & Connect to DB
- 19:22 - SQL Basics for Beginners
- 44:23 - Database Design: Tables, Keys, Constraints
- 1:00:16 - .NET Core 9 Web API Setup (Clean Architecture)
- 1:25:41 - Git & Azure DevOps for Beginners
- 1:42:31 - Azure Policy to Save Costs
- 2:01:29 - Secure Azure SQL Connections
- 2:09:45 - Angular 19 Standalone Components
- 2:31:51 - Angular Data Binding & Directives
- 2:55:18 - Lazy Loading & Routing in Angular
- 3:09:16 - Angular Signals & State Management
- 3:26:52 - Full CRUD API with Patch + Validation
- 4:51:00 - Reusable API Service in Angular
- 5:02:18 - Input/Output Filters & Component Comm
- 5:24:14 - Secure Apps with Azure AD B2C
- 6:12:20 - Deploy .NET API to Azure with CI/CD
- 6:51:24 - Deploy Angular 19 to Azure with CI/CD
- 7:18:01 - Monitor APIs with App Insights
- 7:36:44 - Handle 500 Errors in Angular with Toast
- 7:41:33 - Set Alerts for 500 Errors in App Insights
- 7:52:13 - Azure Functions HTTP Trigger (Email Alerts)
- 8:15:28 - CI/CD for Azure Functions with DevOps
- 8:34:20 - Enrich JWT with Azure AD B2C API Connector
- 8:51:56 - Background Service for DB Tasks
- 9:00:13 - Email Automation via Timer Trigger
- 9:08:12 - Public vs Private Azure Containers
- 9:23:37 - Secure Image Upload: Angular + .NET
- 9:33:03 - Generate Secure SAS Tokens in .NET
- 9:39:55 - Fetch Azure AD B2C Data with Graph API
- 9:57:14 - Role-Based Auth with AD B2C & Angular
- 10:04:20 - Azure Key Vault + Managed Identity
- 10:33:35 - Managed Identity vs Service Principal
In this episode, we dive into the basics of SQL, including database creation, table design, constraints, and SQL commands like SELECT, INSERT, UPDATE, DELETE, etc. This is a must-watch for beginners who want to understand how databases work.
Key Topics:
- SQL commands (SELECT, INSERT, UPDATE, DELETE)
- Database design and normalization
- Primary/Foreign Keys and Constraints
Unlock the foundations of database design in this beginner-friendly guide. In this video, we explore key concepts like tables, primary keys, foreign keys, and constraints while walking through a real-world schema for a course certification app. Learn about designing efficient databases, creating relationships between tables, and using constraints to maintain data integrity. This practical, step-by-step guide is perfect for developers, students, or anyone interested in SQL and database management.
Key Topics:
- Understanding database design
- Creating tables with constraints
- Primary/Foreign Keys and Indexes
- Setting up databases
- Creating and managing tables
- Understanding primary keys and foreign keys
- Adding constraints for data validation
- SQL basics: SELECT, INSERT, UPDATE, DELETE
In this video, weβll walk through the process of creating a .NET Core 9 Web API project using Clean Architecture principles. We'll set up the project structure, configure Entity Framework (EF) Core, and generate entities from the database we built in the previous episode. Additionally, weβll show how to configure Swagger alternatives in .NET Core 9, as Swagger's default scaffold is removed. Perfect for anyone looking to structure their Web API efficiently and learn about the latest .NET Core 9 changes.
Key Topics:
- .NET 9 Web API project setup using Clean Architecture Princeples
- Scaffold database entities with EF Core
- Swagger setup and configuration. NSwag and Scalar for API documentation.
Are you an absolute beginner in Git or Azure DevOps? This video is your ultimate guide! Weβll walk you through the basics of Git, including essential commands, and show you how to set up an Azure DevOps account from scratch. Learn how to create repositories, push your local code to the Azure DevOps repo, and manage your projects seamlessly. Whether you're new to version control or looking to understand Azure DevOps, this tutorial has everything you need to get started.
Key Topics:
-
Git basics and setup
-
Azure DevOps account and repository creation
-
Pushing code to Git with Git commands
-
Setting up your Azure DevOps account.
-
Overview of Azure DevOps and its features.
-
Step-by-step repo creation in Azure DevOps.
-
Using Git commands to push code from local to remote repositories.
-
Pro tips for managing your code with Git and Azure DevOps.
To get started with version control, follow these Git commands to set up a new Git repository and push your code to Azure DevOps.
# Initialize a new Git repository in your local project
git init
# Link your local repository to the remote repository on Azure DevOps
git remote add origin <your_remote_api_git_url>
# Fetch the latest information from the remote repository
git fetch origin
# Create a new branch named 'main' and switch to it
git checkout -b main
# Stage all changes in your local project for the next commit
git add .
# Commit the staged changes with a message
git commit -m "Initial commit"
# Push the 'main' branch to the remote repository
git push -u origin main
git init
Initializes a new Git repository in your local project directory.
git remote add origin <URL>
Links your local Git repository to a remote repository. In this case, it connects to the Azure DevOps repository.
git fetch origin
Fetches updates from the remote repository without merging them into your local branch.
git checkout -b main
Creates a new branch named main and switches to it. This step aligns your local branch naming with the remote repository's naming convention.
git add .
Stages all the changes you've made in your local repository for the next commit.
git commit -m "Initial commit"
Commits the staged changes to the local repository with a descriptive message.
git push -u origin main
Pushes the main branch to the remote repository and sets it as the default upstream branch for future pushes/pulls.
-
In this step-by-step Azure tutorial, learn how to create and assign a custom Azure Policy to restrict SQL Database creation to the cost-effective Basic tier. Watch as we:
Create a new Azure Subscription Define a custom Azure Policy with restrictions for SQL Databases Assign the policy to the new subscription Create an SQL Server and Database under the subscription Test the policy enforcement by attempting to select a pricing tier other than Basic This tutorial is perfect for Azure beginners, cloud administrators, and developers looking to manage resources effectively and control costs.
π What Youβll Learn:
- What is Azure Policy?
- How to define and assign a custom policy
- Enforcing SQL Database SKU restrictions in Azure
- Testing policy functionality in real time
Sample Policy Shown in the Video
{
"properties": {
"displayName": "Restrict SQL Database SKU to Basic",
"policyType": "Custom",
"mode": "All",
"description": "This policy restricts the creation of Azure SQL Databases to the Basic SKU only.",
"metadata": {
"category": "SQL",
"createdBy": "your userid guid here",
"createdOn": "2025-01-10T19:16:33.2197985Z",
"updatedBy": null,
"updatedOn": null
},
"version": "1.0.0",
"parameters": {},
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Sql/servers/databases"
},
{
"not": {
"field": "Microsoft.Sql/servers/databases/sku.name",
"equals": "Basic"
}
}
]
},
"then": {
"effect": "deny"
}
},
"versions": [
"1.0.0"
]
},
"id": "/subscriptions/your-subscription-id/providers/Microsoft.Authorization/policyDefinitions/yourid",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "ee15c7b5-dc76-43f2-aa9e-876f286a460c",
"systemData": {
"createdBy": "learnsmartcoding@gmail.com",
"createdByType": "User",
"createdAt": "2025-01-10T19:16:33.2054339Z",
"lastModifiedBy": "learnsmartcoding@gmail.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2025-01-10T19:16:33.2054339Z"
}
}
-
Learn how to connect your Azure SQL Database to Azure Data Studio in this step-by-step tutorial! Weβll guide you through configuring the Azure SQL server firewall to allow your local system's IP address, ensuring secure and seamless access. Perfect for developers and cloud enthusiasts looking to manage Azure SQL databases efficiently.
π Topics Covered:
- Configuring the Azure SQL server firewall
- Finding your local IP address for firewall rules
- Connecting to Azure SQL Database using Azure Data Studio
- Troubleshooting common connectivity issues
-
Kickstart your Angular journey with this comprehensive beginner's guide! Learn how to set up your local environment by installing Node.js and Angular, create your first Angular project, and understand the basics of Angular components. This video simplifies key concepts and walks you through everything you need to know to start building Angular applications. Perfect for developers at any level!
-
Unlock the power of Angular with this comprehensive guide to data binding and directives. Learn how to efficiently bind data between your components and templates using interpolation, property binding, event binding, and two-way binding. Dive into Angular's powerful built-in directives like *ngIf, *ngFor, and explore the latest @if() syntax for cleaner and modern conditional rendering. Whether you're new to Angular or looking to sharpen your skills, this tutorial is perfect for beginners. Start building interactive and dynamic web apps today!
-
Learn how to implement efficient and modern Angular Routing with Lazy Loading in Angular 19, designed for standalone components. In this video, weβll cover how to set up dynamic routes, lazy load your components to optimize performance, and handle 404 pages with wildcard routes. Whether you're building small apps or large-scale enterprise solutions, understanding routing and lazy loading is essential for creating seamless, fast-loading applications. Perfect for beginners and intermediate Angular developers!
-
π Explore the Complete User Journey in Our Course App!
In this demo, we walk you through how to create an interactive, real-world course app where users can: β Browse and select available courses β Start, pause, and resume tests β Complete tests and receive certifications β Access video references for deeper understanding
This app is built using the latest Angular 18 for the frontend and .NET Core 8 for the backend, integrating powerful features like Azure AD B2C for secure authentication and dynamic UI/UX design.
Whether you're looking to build a similar app or test your skills, this video is your perfect guide. Watch now and get ready to create an engaging and functional application for online learning!
-
In this video, you'll learn all about Angular Signals, a new and powerful way to manage state and keep your UI in sync with data changes in Angular applications. Discover how Signals simplify the process of state management by automatically updating the UI when their value changes, making it easier and more efficient than ever to create reactive applications.
We also explore Computed Signals and Effects, which enable you to work with dynamic and real-time data efficiently. Plus, see a practical example with our Contacts Component to see Signals in action!
-
π Mastering .NET Core 9 Web API β Full CRUD with PATCH, Clean Architecture & Fluent Validation! - Episode 12
In this episode, we dive deep into .NET Core 9 Web API and implement 3 controllers with complete CRUD operations (GET, POST, PUT, DELETE, PATCH). We follow Clean Architecture principles, ensuring a scalable and maintainable API structure.
π₯ Key Topics Covered: β Implementing GET, POST, PUT, DELETE & PATCH endpoints in .NET Core 9 β Using Fluent Validation for robust input validation β Applying Clean Architecture to structure the Web API efficiently β Handling partial updates (PATCH) properly β Ensuring best practices for API design and maintainability
π Whether you're a beginner or an experienced developer, this tutorial will help you build a well-structured, professional-grade Web API.
-
In this video, weβll build an Angular service to fetch data from a .NET Web API using HttpClient. Weβll cover best practices, how to handle API calls efficiently, and demonstrate a real-time example of fetching and displaying data in an Angular app. π
π What Youβll Learn: β How to create an Angular service using ng generate service β Use HttpClient to call a .NET Web API β Implement best practices for API calls in Angular β Handle error responses and implement loading states β Display fetched data dynamically in an Angular component
π‘ This is a must-watch for developers working with Angular & .NET Core APIs! Donβt forget to like, share, and subscribe for more hands-on tutorials. π₯
-
In this video, Learn how to use @Input() and @Output() in Angular to enable smooth parent-child component communication. In this video, we demonstrate real-world filtering functionality using a course browsing example. The child component handles the filter selection, and the parent component updates the course list accordingly. Master Angular component interaction with this practical hands-on guide! π
πΉ Topics Covered: β Understanding @Input() for passing data from parent to child β Using @Output() and EventEmitter for child-to-parent communication β Implementing a course filtering system using these concepts β Best practices for Angular component interaction
-
In this video, learn how to configure Azure AD B2C in the Azure portal for Angular and .NET Web API applications. We will walk through the step-by-step setup, integrating Azure AD B2C authentication into both frontend (Angular) and backend (.NET Core Web API) applications. Finally, we will test and demo the authentication flow to see it in action!
πΉ What You'll Learn: β Azure AD B2C setup in the Azure portal β App registrations for Angular and .NET Web API β Configuring authentication in Angular using MSAL β Securing .NET Web API with Azure AD B2C β Testing login, logout, and API authorization
π Whether you're a beginner or an experienced developer, this tutorial will help you seamlessly integrate Azure AD B2C authentication in your apps!
-
In this step-by-step tutorial, we will deploy a .NET Core 9 Web API to Azure App Service using Azure DevOps CI/CD. We'll cover everything from setting up a free F1 App Service, managing code in Azure DevOps, creating a CI/CD pipeline, using a service principal for secure deployment, and configuring connection strings in environment settings.
πΉ What Youβll Learn in This Video: β Create a .NET Core 9 Web API Azure App Service (Free F1 Plan) β Move your project from GitHub to Azure DevOps β Set up CI/CD Pipelines for automated deployment β Create a Service Principal for secure authentication β Configure Build & Release Pipelines to deploy code β Manage environment variables & connection strings in Azure
By the end of this video, your .NET Core 9 Web API will be live on Azure, fully automated with Azure DevOps CI/CD! π
-
In this step-by-step tutorial, we will deploy an Angular 19 app to Azure App Service using Azure DevOps CI/CD. This video covers the complete process, from creating a free F1 App Service, setting up Azure DevOps repositories, configuring CI/CD pipelines, using a service principal for secure deployment, and handling environment settings in Azure.
πΉ What Youβll Learn in This Video:
- β Create an Angular 19 App Service on Azure (Free F1 Plan)
- β Move project from GitHub to Azure DevOps
- β Set up CI/CD Pipelines for automated Angular deployment
- β Use Service Principal for secure authentication
- β Configure Build & Release Pipelines to deploy Angular
- β Manage environment variables & settings in Azure
By the end of this video, your Angular 19 app will be live on Azure, fully automated with Azure DevOps CI/CD! π
-
In this video, learn how to configure Azure AD B2C in the Azure portal for Angular and .NET Web API applications. We will walk through the step-by-step setup, integrating Azure AD B2C authentication into both frontend (Angular) and backend (.NET Core Web API) applications. Finally, we will test and demo the authentication flow to see it in action!
πΉ What You'll Learn: β Azure AD B2C setup in the Azure portal β App registrations for Angular and .NET Web API β Configuring authentication in Angular using MSAL β Securing .NET Web API with Azure AD B2C β Testing login, logout, and API authorization
π Whether you're a beginner or an experienced developer, this tutorial will help you seamlessly integrate Azure AD B2C authentication in your apps!
-
In this step-by-step tutorial, we will deploy a .NET Core 9 Web API to Azure App Service using Azure DevOps CI/CD. We'll cover everything from setting up a free F1 App Service, managing code in Azure DevOps, creating a CI/CD pipeline, using a service principal for secure deployment, and configuring connection strings in environment settings.
πΉ What Youβll Learn in This Video:
- β Create a .NET Core 9 Web API Azure App Service (Free F1 Plan)
- β Move your project from GitHub to Azure DevOps
- β Set up CI/CD Pipelines for automated deployment
- β Create a Service Principal for secure authentication
- β Configure Build & Release Pipelines to deploy code
- β Manage environment variables & connection strings in Azure
By the end of this video, your .NET Core 9 Web API will be live on Azure, fully automated with Azure DevOps CI/CD! π
-
In this step-by-step tutorial, we will deploy an Angular 19 app to Azure App Service using Azure DevOps CI/CD. This video covers the complete process, from creating a free F1 App Service, setting up Azure DevOps repositories, configuring CI/CD pipelines, using a service principal for secure deployment, and handling environment settings in Azure.
πΉ What Youβll Learn in This Video:
- β Create an Angular 19 App Service on Azure (Free F1 Plan)
- β Move project from GitHub to Azure DevOps
- β Set up CI/CD Pipelines for automated Angular deployment
- β Use Service Principal for secure authentication
- β Configure Build & Release Pipelines to deploy Angular
- β Manage environment variables & settings in Azure
By the end of this video, your Angular 19 app will be live on Azure, fully automated with Azure DevOps CI/CD! π
-
In this video, we will integrate Azure Application Insights into a .NET Core 9 Web API to monitor performance, detect failures, and log application telemetry. Additionally, we will cover global exception handling and how to return meaningful error responses, ensuring a better user experience and enabling users to contact support when issues arise.
πΉ What Youβll Learn in This Video:
- β Set up Azure Application Insights for real-time monitoring
- β Track API requests, failures, and performance metrics
- β Implement Global Exception Handling in .NET Core 9
- β Return structured error responses with relevant details
- β Include user-friendly support info in API error messages
- β Real-world debugging & troubleshooting best practices
By the end of this tutorial, your .NET Core 9 Web API will be equipped with robust monitoring and error handling, making it production-ready with detailed insights for debugging! π
-
Handling errors properly is crucial for a great user experience! In this video, we will implement global exception handling in Angular using an HTTP Interceptor to catch 500 Internal Server Errors returned from a .NET Core Web API. We will display a persistent Toastr notification with a request ID, allowing users to contact support if needed.
π₯ What Youβll Learn:
- β Create an HTTP Interceptor to catch API errors globally.
- β Display Toastr notifications for errors, keeping them visible until closed.
- β Extract and show request IDs from API error responses.
- β Improve user experience by handling errors in a real-world scenario.
If you're working with Angular and .NET Core APIs, this is a must-watch! π
-
Proactively monitor your .NET Core Web API errors with Azure Application Insights! In this video, weβll set up alerts for 500 exceptions in Azure App Insights, ensuring that critical errors are detected and addressed quickly.
π₯ What Youβll Learn:
- β Configure Azure App Insights Alerts to detect API failures automatically.
- β Use a custom Kusto Query to fetch and track exceptions.
- β Receive real-time notifications when a 500 Internal Server Error occurs.
- β Improve API reliability and quickly respond to application failures.
π This alert setup is possible because we previously configured App Insights for our Web API. If you havenβt done that yet, check out our earlier video!
-
Azure Functions provide a serverless computing model, making it easy to run event-driven code without managing infrastructure. In this video, we will:
- β Understand Azure Functions β What they are and when to use them
- β Create an Azure Function in the portal
- β Build an HTTP-triggered function in Visual Studio using .NET Core 9 (STS) isolated model
- β Accept userId and notificationId as request body
- β Fetch notification details from a database and send an email to the user
- β Learn how serverless functions work with databases and external services
This real-world example demonstrates how to use Azure Functions for automating tasks like sending notifications with minimal infrastructure overhead.
-
Automate your Azure Function App deployment with Azure DevOps CI/CD pipeline! In this video, we will:
- β Push the Azure Function App code to Azure DevOps
- β Set up a CI/CD pipeline to automatically build and deploy the function
- β Use the Azure Function App created in the previous video
- β Configure application settings in the Azure portal for smooth execution
- β Ensure secure and efficient deployment with best practices
This tutorial eliminates manual deployments and ensures continuous integration and delivery for serverless applications.
-
Enhance Azure AD B2C authentication by integrating an API Connector with Azure Functions! π In this video, we will:
- β Add two more HTTP trigger functions to our existing Azure Function App
- β Integrate one function with Azure AD B2C API Connector to handle authentication requests
- β Read token information, fetch user details from the database, and update the UserProfile table
- β Enrich Azure AD B2C tokens with additional claims like UserID and Role
- β Demonstrate how this enriched token will be used later in Angular for role-based access control
This tutorial helps customize authentication flows, ensuring better security and a personalized experience for users.
-
Learn how to implement a background service in .NET Core Web API that runs automatically and interacts with a database! π In this video, we will:
- β Create a Background Service in .NET Core Web API
- β Configure it to run every hour to process new records in the Notification table
- β Retrieve all users from the UserProfile table
- β Insert new notification records for each user into the UserNotification table
- β Understand how a background service interacts with a database behind the scenes
This tutorial is perfect for automating scheduled tasks like notifications, cleanups, and background data processing in your ASP.NET Core applications!
-
In this video, we will explore Azure Functions with both Timer and HTTP Triggers to automate email notifications! π Here's what you'll learn:
- β Create a Timer-Triggered Azure Function to check the UserNotification table for unsent notifications
- β Invoke another HTTP-triggered Azure Function to send emails
- β Pass UserId & NotificationId dynamically to trigger the email-sending function
- β Configure local settings & Azure Function App settings for seamless execution
- β Understand function-to-function communication in Azure
This tutorial is perfect for implementing scheduled tasks, event-driven notifications, and serverless automation using .NET Core 9 (Isolated Model) with Azure Functions.
-
π Learn how to securely upload images from an Angular app to Azure Storage using .NET Core API! In this step-by-step guide, we will:
- β Create API Endpoints to handle image uploads
- β Upload Images from Angular App with a simple UI
- β Securely Store Images in a private Azure Storage container
- β Save Image URLs in the UserProfile table for future retrieval
- β Best Practices for Secure File Upload & Storage
π’ By the end of this video, youβll be able to integrate secure image uploads in your own applications!
-
π Secure Azure Storage with SAS Tokens! In this video, weβll show you how to generate SAS tokens in .NET Core API to securely access and manage user files in Azure Blob Storage.
- β Generate SAS Token in .NET Core API to control access to private Azure Storage containers
- β User-Specific Access β Ensure only logged-in users can access their images
- β Set expiry & permissions for controlled, time-bound access to files
- β Use the SAS URL in Angular to display images securely and privately
- β Best Practices for securing private files in Azure Storage
π By the end of this video, youβll know how to securely manage and control file access in Azure Storage using SAS tokens and .NET Core API. Protect user images and other private content with ease!
-
π Want to unlock user details from Azure AD B2C? In this step-by-step video, we will:
- β Set up App Registration for seamless access to Microsoft Graph API
- β Configure API Permissions to securely retrieve Azure AD B2C user information
- β Implement Graph API calls within your .NET Core Web API
- β Fetch key user details like name, email, and roles for your app
- β Real-world use case: How to enrich user data in your applications
π By the end of this video, youβll have the skills to securely fetch and utilize Azure AD B2C user data via Microsoft Graph API in your .NET Core applications!
Full Video https://youtu.be/zlybQJVLYrQ
- .NET 9 SDK
- Visual Studio 2022 or higher
- SQL Server or SQL Server Express
- SQL Server Management Studio (SSMS)
- Azure Data Studio
- Azure DevOps account (for CI/CD)
-
Clone this repository:
git clone https://github.com/learnsmartcoding/smartcertify-api-clean-architecture-dotnet9
-
Navigate to the project folder:
cd smartcertify-api-clean-architecture-dotnet9 -
Open the solution in Visual Studio.
-
Restore the NuGet packages:
dotnet restore
-
Run the project:
dotnet run
-
Open the Swagger UI to test the API at:
http://localhost:5000/swagger
Feel free to fork the repository and create pull requests. Contributions are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
This project was generated using Angular CLI version 19.0.4.
To start a local development server, run:
ng serveOnce the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as components, directives, or pipes), run:
ng generate --helpTo build the project run:
ng buildThis will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.
To execute unit tests with the Karma test runner, use the following command:
ng testFor end-to-end (e2e) testing, run:
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.