Updatering information
Efter två månader online och utveckling upptäcker jag många problem på det här projektet. I framtiden kommer jag att bygga en ny modern TODO applikation. Det här projektet kommer jag att använda som en backup. När ny applikation fungerar, kommer jag ersätta det.
- Applikation saknar responsive design Design fungerar bara på dator. Det gör att det går inte jobba med mobil.
- Det saknar publicera funktion Jag funderar att lägga till en knapp som gör planering offenlig. Så alla kan se min planering samt
- Det använder Azure App Service Jag tänker att byta till Azure Container.
- Mer funktioner Jag vill lägga mer funktioner som till exempel anteckningar.
Problem 2:
För det första skiljer sig min metod för applikationsutveckling från den traditionella metoden. Det här projektet baserar på traditionella metoden vilket är
Planera -> Koda -> Dokumentera
Mitt sätt är
Kommer fram ett idé -> Fråga AI -> Bygga MVP med AI -> Testa MVP -> Dokumentera
Projektöversikt
LightManager är en open source applikation för projektledning, utvecklad för små och medelstora team som behöver ett enkelt sätt att organisera projekt och uppgifter utan komplexiteten i stora företagsverktyg. Applikationen är byggd kring en ASP.NET Core-backend och innehåller autentisering, auktorisering, rollbaserade behörigheter, projektmedlemskap, uppgiftstilldelning och ett Kanban-arbetsflöde.
Problemet
En projektledningsapplikation kräver mer än grundläggande CRUD-operationer. Användare, projekt, medlemskap, roller och uppgifter behöver fungera tillsammans samtidigt som backend måste säkerställa att användare endast kan utföra de operationer de har behörighet till.
Lösningen
Applikationen delar upp ansvaret mellan en React-frontend och ett ASP.NET Core Web API. ASP.NET Identity hanterar användaridentitet, JWT-token autentiserar skyddade API-anrop, Entity Framework Core hanterar relationsdata och PostgreSQL lagrar persistent applikationsdata. Viktiga affärsregler och behörighetskontroller verkställs av backend.
Funktioner
Autentisering
Användare autentiseras genom ASP.NET Identity och skyddade API-anrop använder JWT-token.
Auktorisering
Backend-endpoints verkställer behörigheter oberoende av vilka knappar eller vyer som visas i frontend.
Rollbaserade behörigheter
Projektoperationer beror på användarens roll och relation till det aktuella projektet.
Projekthantering
Användare kan skapa, redigera, arkivera och ta bort projekt.
Uppgiftshantering
Uppgifter kan skapas, redigeras, tas bort och tilldelas medlemmar i projektet.
Kanban-arbetsflöde
Uppgifter kan flyttas mellan olika statusar genom en drag-and-drop Kanban-tavla.
Utmaningar & beslut
Backend-auktorisering
Behörigheter måste verkställas av API:et och kan inte enbart förlita sig på att knappar eller routes döljs i frontend.
Relationsbaserad applikationsdata
Användare, projekt, medlemskap, roller, uppgifter och tilldelningar behöver tydliga relationer och förutsägbart beteende.
Separat frontend och backend
React och ASP.NET Core API:et distribueras separat och kräver korrekt autentisering, konfiguration och kommunikation i produktionsmiljön.
Driftsättning
React-frontend körs på Azure Static Web Apps, ASP.NET Core API:et körs på Azure App Service och PostgreSQL tillhandahålls av Neon. Projektet använde tidigare Vercel och Render innan det flyttades till Microsoft Azure i augusti 2026. Eftersom gratisnivåer används kan backend ibland behöva kallstartas efter en längre period av inaktivitet.
Lärdomar
- Design av ASP.NET Core Web API
- Autentisering med ASP.NET Identity
- JWT-baserad API-autentisering
- Backend-auktorisering och rollbaserade behörigheter
- Relationsbaserad datamodellering
- Entity Framework Core och PostgreSQL
- Integration mellan React och ett separat backend-API
- Produktionskonfiguration och Azure-driftsättning
Framtida förbättringar
- Använda AI för att generera föreslagna uppgifter från en projektbeskrivning
- Lägga till sökning och filtrering av uppgifter i Kanban-tavlan