Om Projektet
Dagens Dos är en modern nyhetsapplikation utvecklad som ett grupprojekt på Lexicon i Linköping. Projektet demonstrerar fullstack-utveckling med fokus på skalbarhet, typsäkerhet och användarvänlighet.

Teknisk Stack
Frontend
- Next.js 16 (App Router, Turbopack)
- React 19 med TypeScript 6
- Tailwind CSS 4
- Radix UI, Embla Carousel, Lucide React
- Next Themes (Dark/Light mode)
Backend
- Next.js Server Actions
- Prisma ORM 6 (PostgreSQL)
- Better Auth
- Zod validering
- Databaslagrad rate limiting
Integrationer
- Stripe betalningar
- Gemini AI (Google)
- UploadThing bilduppladdning
- Nodemailer e-post
- MDX Editor
- Spotprices API & SMHI väderdata
Arkitektur och Funktionalitet
Server-First Arkitektur
Projektet använder genomgående Server Actions för backend-logik, vilket ger optimerad prestanda, automatisk caching och typsäker kommunikation mellan klient och server.
- Server Components som standard
- Server Actions för datahantering
- Typsäkerhet med TypeScript och Zod
- SEO-optimerad rendering
Användarfunktioner
- Säker autentisering med e-postverifiering
- Rollbaserad åtkomstkontroll (Admin, Editor, User)
- Prenumerationssystem med Stripe
- Premium innehåll med åtkomstkontroll
- Kommentera, redigera och ta bort egna kommentarer
- Sökfunktion med dynamiska slugs
- Responsiv design med dark mode
Admin-funktioner
- CRUD-operationer för artiklar och kategorier
- Valfri AI-assisterad artikelgenerering med Gemini, direkt i samma formulär som manuell skapelse
- Bilduppladdning via UploadThing (max 4MB)
- MDX-editor för rich text innehåll
- Användarhantering och rollfördelning
- Statistik-dashboard med visualiseringar
- Premium- och Editor's Choice-markering
- Genomgående adminmeny (Sheet på mobil)
Externa API-integrationer
- Spotpriser för el i Sverige (SE1-SE4)
- SMHI väderdata
- Google Gemini AI för innehållsgenerering
- Stripe för betalningshantering
- SMTP för e-postkommunikation
Teammedlemmar och Ansvarsområden
Magui
Backend och Betalningsintegration
- CRUD-funktionalitet för artiklar och kategorier
- Dashboard-visualiseringar
- Stripe-integration och betalflöde
- GDPR-kompatibel Cookie Banner
- Rollbaserad åtkomstkontroll i Admin
Ahmed
AI-integration och Externa API
- Elpris-API med visualisering av spotpriser
- Gemini AI-integration för artikelgenerering
- Google Search-integration i AI-flöde
- MDX Editor-implementation
- Structured output med Zod-validering
Johan
Autentisering, e-post och Stripe-konfiguration
- Inloggning och registrering (formulär och sidor)
- Better Auth e-postverifiering med Nodemailer
- Kontaktformulär, mallar och server actions
- Stripe-konfiguration i Better Auth
- SMTP-konfiguration
Josefine
UX/UI, Autentisering och Innehållspresentation
- UX/UI design och logotyp
- Better Auth-implementation med Prisma
- Rollhantering (Admin, Editor, User)
- Mina Sidor och användarprofilhantering
- Väderfunktion och kommentarssystem
- Premium-flagga på artiklar
- Sökfunktion och SLUG-system för SEO
- Article rendering-komponenter
- Editor's Choice Carousel
- Projektledning
Projektinformation
Institution: Lexicon, Linköping
Projektkurs: Fullstack Webbutveckling
Utvecklingsteam: Magui, Johan, Josefine, Ahmed
