Visma Bootcamp eShop project is a baseline for training program within Visma Bootcamp program. In 4 days you'll learn about the basics of C#, ASP.NET Core and many more.
In order to start with the development, we need these tools:
- Visual Studio 2022 Community Edition
- Make sure to install C#, .NET Core
- Visual Studio Code (recommended)
- Install C# Extension
- You'll need VS Code next week
- MySQLWorkbench, DBeaver
- Docker Community Edition
- Postman
- Git (required)
- Github Desktop (recommended)
The goal of this course is to learn C# basics, ASP.NET Core basics and general understanding of Web based solutions. Our goal is to create simple E-Shop application. We'll use this solution as a backend during your next week training - Angular course with Zoltan.
It's your first day in the field and there is plenty work ahead of us, we'll talk about these topics:
- setup of solution
- using dotnet CLI
- solution architecture
- Git setup
- HTTP basics
- creating simple endpoints (GET, POST)
- ASP.NET Core basics
- Docker *
* - depends on the overall progress of the group
This is the time to start actual development of our solution. We'll clone skeleton of our API and start introducing our application. We'll talk about current architecture and how we can improve it a bit. We'll create endpoints for Catalog and Basket and we'll verify our solution with unit tests. We'll talk about model validation and if there's time, we'll improve our solution with enhanced error handling and better logging.
In day three we'll finish some of our services we've started previous day and we'll start with implementation of Entity Framework Core with MySQL database. We'll describe code-first approach and use it to generate our first database. We'll learn some dependency injection techniques and we'll perform basic SQL commands to fresh-up our skills.
It's end of the C# course and we need to focus on couple of things - finishing our API and talk about performance - using asynchronous programming and using cancellation tokens. We'll discuss about orchestration and we'll finish up by discussing authentication and authorization for web applications.