I dette projekt arbejdede jeg i et 4 personers team, hvor vi udviklede en full stack film applikation til at søge og bookmarke film fra IMDb. Applikationen er designet fra bunden med en PostgreSQL database, backend og en single page application til frontend.
Link til kode:
https://github.com/ThomasBonderup/RAWDATA-project-group-1
https://github.com/ThomasBonderup/RAWDATA1-portfolio-subproject-2
Database design
Jeg var med til at udarbejde et relationelt database design med database normalisering og E-R-modeller til film applikationen.
Database funktionalitet
Der blev udviklet database forespørgsel funktionalitet til at søge efter filmtitler, trigger functions til at gemme bruger forespørgsler i en søgehistorik tabel, udvidet søgefunktionalitet til at søge efter filmtitler baseret på titel, plot, karakterer og skuespiller, exact-match-forespørgsel med inverted indeks for at matche intersecting søgeord, VARIADIC arrays, søge rangering funktionalitet.
Applikationsdesign
Backend-systemet blev udviklet i ASP.NET Core med C#. Arkitekturen bestod af en lagdelt softwarearkitektur med et Web Service Layer udviklet i ASP.NET Core MVC til at levere et REST API, der kommunikerer med et Data Access Layer med Entity Framework gennem Data Transfer Objects for at få data gemt i en PostgreSQL-database, der kører på en server.
Der blev tilføjet pagination til REST API’et og grundlæggende it-sikkerhed for API’et med brugergodkendelse. Unit test og integrationstest blev brugt flittigt i projektet.
Single Page Application
Film applikationen blev designet som en Single Page Application (SPA) med funktionalitet udviklet i JavaScript og Knockout web-framework. Bootstrap blev brugt til UX.