Op het project te klonen kan je het volgende git command gebruiken:
git clone https://github.com/NHLStenden/WebdevCourseRazorPages.git
Het is belangrijk om het project up to date te houden.
Er zullen ongetwijfeld bugs aanwezig zijn en hopelijk worden deze gemeld om vervolgens opgelost te worden.
Jullie zijn de eerste groep studenten die hiermee bezig gaan dus dit is onvermijdelijk.
Om het project up to date te houden kan je git gebruiken. Het is natuurlijk ook mogelijk om af en toe een nieuwe versie te downloaden of te klonen als je problemen met git ervaart.
Met git zijn er aantal mogelijkheden voor het updaten van je project met de "centrale" repository:
- Normale workflow:
git add <file-1> <file-2> <file-3>
git commit -m "mijn eigen werk opslaan in de local repository"
git pull
- Gebruik van de stash:
git stash
git pull
git stash pop
- Een alternatief is dat je gewoon opnieuw het repostipry kloont en verder werkt in deze directory.
git clone https://github.com/jorislops/WebdevCourseRazorPages.git <newDirectory>
Indien er merge conflicten zijn wordt dit aangegeven door je IDE (ontwikkelomgeving) en moet je dit oplossen! Hopelijk komt dit niet al te vaak voor. Om dit zo veel mogelijk te voorkomen adviseer ik om de tests en voorbeelden niet aan te passen. Indien je dit wel doet is het handig om dit ongedaan te maken voordat je een git pull doet, anders heb je een grotere kans op merge conflicten en/of niet werkende voorbeelden/tests.
Waar kan je wat vinden:
- In Examples staan voorbeelden. Als je dit project start kan je de voorbeelden in de webbrowser bekijken. Deze voorbeelden bevatten de concepten die in de lessen worden gebruikt en worden toegepast in de opdrachten.
- In Exercises staan de opdrachten, deze kun je testen. Ook staat er vaak al een opzet waarin je de opdrachten moet maken om deze te kunnen testen.
- In Exercises.Tests staan de testen voor de opdrachten.
De voorbeelden in Exercises
zijn bedoeld om de concepten & technieken uit te leggen, te begrijpen en in isolatie te zien.
Naar mate de lessen volgen worden er steeds meer concepten/technieken gebruikt.
Het bekijken en begrijpen van de voorbeelden moet hopelijk helpen om de opdrachten te maken.
Daarnaast staan er in de opdrachten vaak relevante bronnen die betrekking hebben op de concepten en technieken.
De voorbeelden kan je ook live proberen: start hiervoor het project (play knop). Zorg er dan wel voor dat het Examples project start en niet per ongelijk het Exercises project. Als je de webbrowser opent en navigeer naar de index pagina en klik op een voorbeeld, dan zie je het voorbeeld in actie en de code is ook zichtbaar.
Om de database voorbeelden te gebruiken, ben je een database server nodig.
Download de MySQl Community Edition en installeer deze.
Vervolgens kan je met een b.v. Rider of Visual Studio (zie deze uitleg) verbinding maken met je database server.
Voer het SQL Script uit dat staat in Examples/Pages/Lesson3/MySQL_CreateAndFillTables.sql
.
Als het goed is moeten nu de voorbeelden in Lesson3 en Lesson4 nu ook werken.
De opdrachten zijn bedoeld om je de concepten en technieken bij te brengen. Ook zal er worden gewerkt in de opdrachten aan de bruidensite (eindopdracht). Je kunt dan per week (met uitzondering van week 0) stappen zetten om je bruidenwebsite te maken. Deze moet eind week 5 al ingeleverd worden, het is dus belangrijk om proberen bij te blijven. In week 6 is er een assessment. Het gaat er hierbij om dat je snapt en kan uitleggen hoe de concepten en technieken werken! De ervaring leert dat het raadzaam is om de opdrachten zelf te maken omdat je dan beter begrijpt wat er gebeurt en dit dus kunt uitleggeen. Kom je er zelf niet uit, vraag een docenten (atelier uren) of medestudenten om hulp.
Of je de opdrachten goed hebt gedaan valt te controleren met de test in Exercises.Test. Per opdracht zijn er 1 of meerdere tests. Niet alle opdrachten hebben tests. Mocht je het idee hebben dat je opdracht toch goed hebt gedaan maar de test is het daar niet mee eens. Dan zijn dit een aantal bruikbare tips:
- Kijk goed naar de foutmelding, dit zou een indicatie moeten geven wat er mogelijk misgaat.
- Het kan ook raadzaam zijn om de testcode te bekijken om een gevoel te krijgen van wat er verwacht wordt. Komt dit overeen met wat jouw code oplevert of de interpretatie van de opdracht?
- Het is niet ondenkbaar dat een test ook fouten kan bevatten! Kom je een fout tegen, zou je dit mij s.v.p. willen laten weten dan kan ik het proberen te fixen.
ASP.NET Core Razor Pages:
- LearnRazorPages
- Per onderwerp zie: Table of Content van learnrazorpages
- Kudvenkat Razor Pages Video Tutorials - veel video’s over Razor Pages.
- Pluralsight. Is niet gratis. Heeft een aantal kwalitatief goede curssen.
Master ASP.NET Core 3.1 Razor Pages-ik heb mijn twijfels bij de kwaliteit van deze video’s, hoog truckjes gehalte!
Voor Dapper:
- Dapper Getting Started
- Learn Dapper
- dapper github De officiele documentatie is misschien wat ingewikkeld.
- Ik ben nog opzoek naar een goede dapper video tutorial (suggesties zijn welkom).
Hieronder staat de benodigde software beschreven die noodzakelijk is om ASP.NET Razor Pages te kunnen ontwikkelen. Deze software moet je downloaden en installeren.
- .NET
Core(download & installeer de nieuwste versie). Vanaf versie vijf wordt niet meer de naam ".NET Core" gebruikt, maar heet het .NET. Versie 4 is overgeslagen.
Je kunt controleren of je de juiste versie hebt (grote kans dat het al geïnstalleerd is) in je console/terminal, metdotnet --version
.
MySQL is een Relationele Database Management Systeem (DBMS) dat we gebruiken in deze cursus.
Download en installeer de MySQL Community Server.
De scripts om een databases aan te maken en te vullen (tabellen en dummy data) kan je vinden in Examples/Pages/Lesson3/SQL/MySQL_CreateAndFillTable.sql
, Exercises/Tests/MysqlCafe.SQL
(Let op: maak zelf de database aan Exercises en Tests) en DbUtils
.
Als username gebruik ik root
en als wachtwoord Test@1234!
. Gebruik jij iets anders pas dit dan aan in de config bestanden en DBUtils:
Examples/appsettings.Developmen.jsont
, Exercises.Tests
.
Een connectionstring ziet er vaak zo uit en moet worden aangepast aan jou eigen situatie:
WebdevCourseRazorPages.Exercises.MySQL": "Server=127.0.0.1;Port=3306;Database=Exercises;Uid=root;Pwd=Test@1234!;
.
Voor het testen moet je zelf een database (schema) aanmaken met de naam Tests
.
Een connectionstring kan je testen op de pagina: http://localhost:5000/Utils/TestConnection
.
Wil je weten hoe je een connectiestring moet opbouwen: Connectionstrings - mysql-connector-net-mysqlconnection.
Er zijn veel IDE's (ontwikkelomgeving) beschikbaar om ASP.NET Core Razor Pages mee te ontwikkelen, zoals:
- Rider (mijn persoonlijke voorkeur, omdat ik een Mac gebruik en gewone Visual Studio daarop niet werkt en Visual Studio for Mac niet echt een fantastisch product is). Voor de producten van JetBrains kan je een grais studenten licentie aanvragen.
- Visual Studio Family:
- Visual Studio: een prima IDE om Razor Pages mee te ontwikkelen. De community versie is gratis.
- Visual Studio Code: hiermee kan je Razor Pages ontwikkelen echter zijn er wel een aantal uitbreidingen (extension) hiervoor nodig.
- Visual Studio for Mac: hiermee kan je Razor Pages ontwikkelen, zelf ben ik niet onder de indruk van deze IDE (mening van mij).
We kunnen je helpen met problemen met Rider en Visual Studio omdat wij daarmee voldoende ervaring hebben. Gebruik je een andere IDE dan ben je wellicht meer op jezelf aangewezen!