The Task är en webbaserad att-göra-lista (todo-list) applikation utvecklad som ett grupparbete i kursen JavaUtveckling. Applikationen stödjer flera användare, flera listor per användare, samt en administratörspanel för hantering av användare.
- Registrering: Nya användare kan registrera sig med användarnamn, lösenord, förnamn och efternamn
- Inloggning: Sessionshantering med token-baserad autentisering via cookies
- Roller: Stöd för vanliga användare och administratörer
- Flera listor per användare: Varje användare kan skapa och hantera flera todo-listor
- Skapa uppgifter: Lägg till nya uppgifter med titel och deadline
- Deadline-kontroll: Uppgifter markeras automatiskt som försenade när deadline passerat
- Markera som klar: Möjlighet att markera uppgifter som slutförda
- Ta bort uppgifter: Radera uppgifter från listor
- Användaröversikt: Se alla registrerade användare
- Ta bort användare: Administratörer kan radera användarkonton
- Skyddad åtkomst: Endast användare med admin-roll kan komma åt panelen
- Spring Boot 4.0.0
- Java 17
- Maven för bygghantering
- Thymeleaf för server-side templating
- Bootstrap 5.3.8 för styling
- JavaScript för dynamisk funktionalitet
- MVC-pattern: Model-View-Controller
- Controllers: Hanterar HTTP-requests och routing
- Models: User, Todo, TodoList, Auth
- Views: Thymeleaf HTML-templates
Projektet innehåller omfattande enhetstester som skrevs innan utvecklingen började (TDD-approach):
- AuthTests: Tester för autentisering och användarhantering
- TodoTests: Tester för todo-funktionalitet och deadline-kontroll
- TodoListTest: Tester för listhantering (skapa, lägg till, ta bort todos)
- UserTests: Tester för användarklassen