Skip to content

sigreyo/TimeReport

Repository files navigation

Projektarbete - Avancerad .NET

Detta är en REST-API byggd utifrån tre tabeller som skapats genom code-first, och är grunden till ett tidrapporteringssystem. Det kan användas för att t ex ta reda på hur många timmar en specifik anställd har jobbat en specifik vecka, eller hämta en lista med alla anställda.

Strukturen bygger på tre interfaces, varav ett huvudsakligt med grundläggande CRUD-metoder, sedan två med extra metoder för att uppfylla kraven på funktionalitet från kravspec. Dessa två ärver från det huvudsakliga interfacet. De repositories som behöver extra metoder utöver de från huvudinterface ärver från två inteface.

Optimering

För att optimera applikationen för backend har följande gjorts:
- Styra inmatning i tabeller med annotationer, och på så sätt minska belastning på databas
- Paginering för att inte hämta all data på en gång, och med valbara mängder, dock ett max per sida
- Alla metoder är asynkrona
- Alla controllers är felhanterade avseende kontakt med databas

Postman-querys

- Vi vill kunna få ut en lista med alla anställda i systemet
  GET mot /api/employees/[id]
- Vi vill kunna få ut en lista på alla anställda som jobbar med ett specifikt projekt
  GET mot /api/Projects/listemp/[project]
- Vi vill kunna få ut hur många timmar en specifik anställd jobbat en specifik vecka (ex antal timmar vecka 25)
  GET mot /api/TimeReports/[employeeid]/[week]
- Vi vill kunna lägga till, uppdatera och ta bort anställda.
  POST mot
  PUT mot
  DELETE mot
- Vi vill kunna lägga till, uppdatera och ta bort projekt
  POST mot
  PUT mot
  DELETE mot
- Vi vill kunna lägga till, uppdatera och ta bort specifika tidsrapporter
  POST mot
  PUT mot
  DELETE mot
- Hämta tidsrapporter per sida
  GET mot /api/TimeReports?PageNumber=3&PageSize=20

Utöver detta finns sökning för att hitta anställda via namn.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages