Skip to content

NHLStenden/WebdevCourseRazorPages

Repository files navigation

Het project klonen (clone)

Op het project te klonen kan je het volgende git command gebruiken:

  git clone https://github.com/NHLStenden/WebdevCourseRazorPages.git

Het up to date houden van het project

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.

Uitleg van de solutionstructuur

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.

Voorbeelden

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.

Opdrachten

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:

  1. Kijk goed naar de foutmelding, dit zou een indicatie moeten geven wat er mogelijk misgaat.
  2. 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?
  3. 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.

Relevante bronnen

ASP.NET Core Razor Pages:

Voor Dapper:

Software

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~~~

  • .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, met dotnet --version.

Database MySQL

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.

IDE's

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!

Heel veel plezier en happy coding!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published