From e68ab14db284c4b40477e7d1d38a2cc37856404e Mon Sep 17 00:00:00 2001 From: katiesavage Date: Fri, 22 Jul 2022 14:39:57 -0700 Subject: [PATCH 1/3] Updated README --- README.md | 50 +++++++- images/dotnet-bot_jetpack-faceing-right.svg | 128 ++++++++++++++++++++ 2 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 images/dotnet-bot_jetpack-faceing-right.svg diff --git a/README.md b/README.md index f3b8e2c..128d433 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,53 @@ -## Intro to Web Development with .NET +## Intro to Web Development with .NET +Welcome to the Intro to Web Development with .NET GitHub repository! We’re excited to take you along with us as we build awesome projects and learn all about the wonderful world of web development. -Welcome to the Intro to Web Development with .NET GitHub repository! +Here, you'll find a 6-part series of lessons and projects to get you started building web applications with .NET! -Here, you'll find all of the projects and challenges associated with each email in the email series. Each email will have a dedicated folder containing all the relevant information for that week. +![.NET Bot](/images/dotnet-bot_jetpack-faceing-right.svg) +## How-to +To use this curriculum on your own, fork the entire repo and go into the numbered folders to access the lessons and projects. This series is designed to take 6 weeks, about 1 week per lesson, but feel free to complete it at your own pace. -We are currently in the planning stages of this series! +## Lessons +| | Lesson Name | Learning Objectives | Linked Lesson | +| :-: | :------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | +| 01 | Welcome | Introduction to C#, .NET, and web development with .NET | [Welcome to the Intro to Web Dev with .NET series](/1-welcome) | +| 02 | C# | A quick runthrough of C# attributes, syntax, and OOP | [C# Crash Course](/2-csharp) | +| 03 | Razor Pages | Learn about ASP.NET Core, Razor Pages, and build a pizza website 🍕 | [Build a Pizza Website with Razor Pages](/3-razor-pages) | +| 04 | Minimal APIs | Build a Minimal API backend for your pizza website | [Build an HTTP backend with Minimal APIs](/4-minimal-api) | +| 05 | Blazor | Learn Blazor and build an interactive Connect Four game | [Introducing Blazor Web Applications](/5-blazor) | +| 06 | Publish to Azure | Learn how to publish your project to the cloud☁️ | [Publish your Web App to Azure](/6-publish) | + + +## Help Resources +There's a few places you can go for help and more information on the topics covered in this repository. +### Documentation +1. [C# documentation](https://aka.ms/WebLearningSeries-git-csharpDocs) +1. [.NET documentation](https://aka.ms/WebLearningSeries-git-dotnetDocs) +1. [ASP.NET documentation, Razor Pages](https://aka.ms/WebLearningSeries-git-razorDocs) +1. [ASP.NET documentation, Minimal APIs](https://aka.ms/WebLearningSeries-git-minapiDocs) +1. [ASP.NET documentation, Blazor](https://aka.ms/WebLearningSeries-git-blazorDocs) +1. [Azure documentation](https://aka.ms/WebLearningSeries-git-azureDocs) + +### Beginner Video Series +1. [C# for Beginners](https://aka.ms/WebLearningSeries-git-csharpvids) +1. [.NET for Beginners](https://aka.ms/WebLearningSeries-git-dotnetvids) +1. [ASP.NET for Beginners](https://aka.ms/WebLearningSeries-git-aspvids) +1. [Web APIs for Beginners](https://aka.ms/WebLearningSeries-git-apivids) + +## How to leave feedback +To leave us feedback on this learning series, please fill out our [survey]() or file an issue in this repository. + + +## Learn More & Connect with us + +Start a .NET [Learning Path]() + +Find a .NET user group & join a .NET events at our [Community Page](). + +Follow us [@dotnet on Twitter]() + +Join the [.NET community on LinkedIn]() ## .NET Foundation diff --git a/images/dotnet-bot_jetpack-faceing-right.svg b/images/dotnet-bot_jetpack-faceing-right.svg new file mode 100644 index 0000000..261b510 --- /dev/null +++ b/images/dotnet-bot_jetpack-faceing-right.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 6cc6f68872087ef01c544843d90e1286bf0dab1e Mon Sep 17 00:00:00 2001 From: katiesavage Date: Fri, 22 Jul 2022 15:36:59 -0700 Subject: [PATCH 2/3] updated 1-welcome/README --- 1-welcome/README.md | 31 ++++++++++++- images/dotnet-bot.svg | 93 ++++++++++++++++++++++++++++++++++++++ images/what-is-dotnet.png | Bin 0 -> 25985 bytes 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 images/dotnet-bot.svg create mode 100644 images/what-is-dotnet.png diff --git a/1-welcome/README.md b/1-welcome/README.md index 03fad50..1a7394a 100644 --- a/1-welcome/README.md +++ b/1-welcome/README.md @@ -1,3 +1,32 @@ # Welcome to the Intro to Web Dev with .NET series +In this Welcome, we’ll introduce ourselves, give you the lesson rundown, take you on a tour of the .NET ecosystem, and show you all the tools you’ll need to build the projects. +![.NET bot waving](../images/dotnet-bot.svg) -Make sure you have [Visual Studio](https://visualstudio.microsoft.com/vs/features/net-development/) or [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/net/), as well as the [.NET 6 SDK](https://dotnet.microsoft.com/download). \ No newline at end of file +## Prerequisite tools +- [Visual Studio](https://aka.ms/WebLearningSeries-git-vsDownload) or [Visual Studio for Mac](https://aka.ms/WebLearningSeries-git-vsmacDownload) - check out our [more detailed instructions](/1-welcome/how-to-install-vs.md) for extra help +- [.NET 6 SDK](https://aka.ms/WebLearningSeries-git-dotnetDownload) + +During the series you will learn the basics of C#, building websites and web APIs, and even how to publish your apps to the cloud. Here is a rundown of what the next few weeks will look like. + +## Who are we? +Let us introduce ourselves. The content in this series is all written by .NET Developer Community Team from Microsoft. More specifically, Jon, James, Jeff, and Katie will be teaching you web development and all things .NET. + +## What to expect +- Week 1 – Welcome! +- Week 2 – C# for web development crash course +- Week 3 – We'll build our first pizza website with Razor Pages 🍕 +- Week 4 – Upgrade our pizza website with a backend using Minimal web APIs +- Week 5 – Create a Connect 4 Interactive Web Applications with Blazor +- Week 6 – Connect to the cloud by publishing with Azure + +To start you on your journey I want to give you a brief overview of what C# and .NET are, and what tools you will need to get going. + +## What is .NET? + +.NET is a free, cross-platform, open source developer platform for building many different types of applications. This platform is used by companies of all different industries and different sizes. If you’ve ever used Stack Overflow, eaten Chipotle, or received a package delivered by UPS, then you’ve interacted with .NET! + +With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, IoT, and more! + +![.NET, a unified development platform](../images/what-is-dotnet.png) + +For this series we’ll use ASP.NET Core and Blazor to build web apps! \ No newline at end of file diff --git a/images/dotnet-bot.svg b/images/dotnet-bot.svg new file mode 100644 index 0000000..91ec412 --- /dev/null +++ b/images/dotnet-bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/what-is-dotnet.png b/images/what-is-dotnet.png new file mode 100644 index 0000000000000000000000000000000000000000..536c2e925f24df0f3dd247c6ae93568accb0baa6 GIT binary patch literal 25985 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 Date: Mon, 25 Jul 2022 12:32:25 -0700 Subject: [PATCH 3/3] Added survey links to each lesson --- 1-welcome/README.md | 4 ++-- 2-csharp/README.md | 4 ++++ 3-razor-pages/README.md | 4 ++++ 4-minimal-api/README.md | 4 ++++ 5-blazor/README.md | 4 ++++ 6-publish/README.md | 11 ++++++++++- README.md | 10 ++++------ 7 files changed, 32 insertions(+), 9 deletions(-) diff --git a/1-welcome/README.md b/1-welcome/README.md index 1a7394a..bf95465 100644 --- a/1-welcome/README.md +++ b/1-welcome/README.md @@ -1,5 +1,6 @@ # Welcome to the Intro to Web Dev with .NET series In this Welcome, we’ll introduce ourselves, give you the lesson rundown, take you on a tour of the .NET ecosystem, and show you all the tools you’ll need to build the projects. + ![.NET bot waving](../images/dotnet-bot.svg) ## Prerequisite tools @@ -22,11 +23,10 @@ Let us introduce ourselves. The content in this series is all written by .NET De To start you on your journey I want to give you a brief overview of what C# and .NET are, and what tools you will need to get going. ## What is .NET? - .NET is a free, cross-platform, open source developer platform for building many different types of applications. This platform is used by companies of all different industries and different sizes. If you’ve ever used Stack Overflow, eaten Chipotle, or received a package delivered by UPS, then you’ve interacted with .NET! With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, games, IoT, and more! ![.NET, a unified development platform](../images/what-is-dotnet.png) -For this series we’ll use ASP.NET Core and Blazor to build web apps! \ No newline at end of file +For this series we’ll use ASP.NET Core and Blazor to build web apps! diff --git a/2-csharp/README.md b/2-csharp/README.md index 2b8f08d..094cf2f 100644 --- a/2-csharp/README.md +++ b/2-csharp/README.md @@ -244,3 +244,7 @@ Want more practice with C#? The .NET team has you covered. Here's a few learning * [Learn to Code Page](https://dotnet.microsoft.com/learntocode) Connect with us! Check out the [.NET Community Page](https://dotnet.microsoft.com/platform/community) to find links to our blogs, YouTube, Twitter, and more. + +# How'd it go? + +Please take this quick, [10 question survey](https://aka.ms/WebLearningSeries-git-survey) to give us your thoughts on this lesson & challenge! \ No newline at end of file diff --git a/3-razor-pages/README.md b/3-razor-pages/README.md index 2bceb6a..78838b0 100644 --- a/3-razor-pages/README.md +++ b/3-razor-pages/README.md @@ -242,3 +242,7 @@ In order to get started quickly, we've kept things as simple as we could, and we ## Connect with us We're excited to support you on your learning journey! Check out the [.NET Community Page](https://dotnet.microsoft.com/platform/community) to find links to our blogs, YouTube, Twitter, and more. + +# How'd it go? + +Please take this quick, [10 question survey](https://aka.ms/WebLearningSeries-git-survey) to give us your thoughts on this lesson & challenge! \ No newline at end of file diff --git a/4-minimal-api/README.md b/4-minimal-api/README.md index 5c8a528..3e7e8fa 100644 --- a/4-minimal-api/README.md +++ b/4-minimal-api/README.md @@ -249,3 +249,7 @@ In the next lesson, you'll learn about building a game with Blazor! Stay tuned! ## Connect with us We're excited to support you on your learning journey! Check out the [.NET Community Page](https://dotnet.microsoft.com/platform/community) to find links to our blogs, YouTube, Twitter, and more. + +# How'd it go? + +Please take this quick, [10 question survey](https://aka.ms/WebLearningSeries-git-survey) to give us your thoughts on this lesson & challenge! \ No newline at end of file diff --git a/5-blazor/README.md b/5-blazor/README.md index 81723c0..626d54d 100644 --- a/5-blazor/README.md +++ b/5-blazor/README.md @@ -514,3 +514,7 @@ Happy coding and have fun! ## Connect with us We're excited to support you on your learning journey! Check out the [.NET Community Page](https://dotnet.microsoft.com/platform/community) to find links to our blogs, YouTube, Twitter, and more. + +# How'd it go? + +Please take this quick, [10 question survey](https://aka.ms/WebLearningSeries-git-survey) to give us your thoughts on this lesson & challenge! \ No newline at end of file diff --git a/6-publish/README.md b/6-publish/README.md index 0abb838..5b2c499 100644 --- a/6-publish/README.md +++ b/6-publish/README.md @@ -62,4 +62,13 @@ You can also find these instructions in the [Azure documentation](https://docs.m 12. In the **Publish** dialog, ensure your new App Service app is selected in **App Service instance**, then select **Finish**. Visual Studio creates a publish profile for you for the selected App Service app. 13. In the **Publish** page, select **Publish**. If you see a warning message, select **Continue**.Visual Studio builds, packages, and publishes the app to Azure, and then launches the app in the default browser. -Congratulations 🎉 You've just published your web applications! +Congratulations 🎉 You've just published your web applications! Thank you for joining us on our exploration of web development with .NET. We hope you learned something and had fun! + + +## Connect with us + +We're excited to support you on your learning journey! Check out the [.NET Community Page](https://dotnet.microsoft.com/platform/community) to find links to our blogs, YouTube, Twitter, and more. + +# How'd it go? + +Please take this quick, [10 question survey](https://aka.ms/WebLearningSeries-git-survey) to give us your thoughts on this lesson & challenge! \ No newline at end of file diff --git a/README.md b/README.md index 128d433..1816d91 100644 --- a/README.md +++ b/README.md @@ -36,18 +36,16 @@ There's a few places you can go for help and more information on the topics cove 1. [Web APIs for Beginners](https://aka.ms/WebLearningSeries-git-apivids) ## How to leave feedback -To leave us feedback on this learning series, please fill out our [survey]() or file an issue in this repository. +To leave us feedback on this learning series, please fill out our [survey](https://aka.ms/WebLearningSeries-git-survey) or file an issue in this repository. ## Learn More & Connect with us -Start a .NET [Learning Path]() +Start a .NET [Learning Path](https://aka.ms/WebLearningSeries-git-MSLearn) -Find a .NET user group & join a .NET events at our [Community Page](). +Find a .NET user group & join a .NET events at our [Community Page](https://aka.ms/WebLearningSeries-git-community). -Follow us [@dotnet on Twitter]() - -Join the [.NET community on LinkedIn]() +Follow us [@dotnet on Twitter](https://aka.ms/WebLearningSeries-git-twitter) ## .NET Foundation