jsramverk.se

jsramverk.se / Refaktorering

Refaktorering

Skriven av: Emil Folino. Uppdaterad: 2024-02-19

Beskrivning

Nu börjar vi programmera på riktigt. Vi ska byta databas för backend och i frontend ska vi implementera ett frontend-ramverk. Vi tittar på tester för att enklare kunna refaktorera och avslutar med att driftsätta vår backend i Azure molnet och frontend på studentservern.

Läsa och titta

Använd resursen Refactoring Guru för att skaffa er en överblick kring refaktorering.

I artikeln Express tar vi en kort titt på hur vi kan använda Express för att skapa ett API som svarar med JSON data.

I artikeln MongoDB tar vi en titt på hur vi kan använda den dokument-orienterade databasen MongoDB tillsammans med Express API:t för att spara undan data.

I artikeln Driftsättning tittar vi på hur vi kan driftsätta frontend, backend och databasen på tre olika platser i molnet.

I artikeln Test tittar vi på hur vi kan säkerställa funktionalitet genom testning av backend och frontend. Och vi implementerar en CI-kedja med GitHub Actions.

Kravspecifikation

  1. Byt ut från en SQLite databas till MongoDB för backend.

  2. Implementera frontenden med samma funktionalitet som i den befintliga appen fast i ett JavaScript ramverk.

  3. Implementera tester för att säkerställa funktionalitet under tiden ni gör refaktorering.

  4. Skapa en CI-kedja med hjälp av GitHub Actions.

  5. Driftsätta frontenden på studentservern enligt instruktionerna och backenden samt databasen i “molnet” enligt instruktionerna.

  6. Lämna in länkar till de driftsatta applikationerna på Canvas, samt länk till GitHub repot.

Redovisning

Svara på nedanstående frågor individuellt och lämna in på Canvas. Lämna in tillsammans med länken till ert gemensamma GitHub-repo och länkarna till de driftsatta applikationerna.

  • Vad är din initiala upplevelse av dokument-orienterade databaser kontra relationsdatabaser?

  • Vilka lärdomar har du gjort kring refaktorering och vilka strategier tycker du fungerar bra?

  • Vilka fördelar och nackdelar ser du med JavaScript ramverken för frontend?

  • Vilka fördelar och nackdelar ser du med arbetssättet GitHub Flow nu efter att ni jobbat lite mer på riktigt?