diff --git a/README.md b/README.md index 6a0ecdd..2d13b36 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ A modern web application showcasing the complete discography of Linkin Park, built with Next.js 15 and React 19. +> **Disclaimer:** +> This is a fan-made project and is not affiliated with Linkin Park or any of its members. +> All rights to music, artwork, and trademarks belong to their respective owners. + + ## Features - 🎵 Browse all Linkin Park albums @@ -14,79 +19,12 @@ A modern web application showcasing the complete discography of Linkin Park, bui ## Tech Stack - **Framework**: Next.js 15 (App Router) -- **React**: React 19 (Canary) +- **React**: React 19 - **UI Components**: Mantine Core 8.3.5 - **Styling**: Tailwind CSS 4.1.15 - **Package Manager**: Bun - **TypeScript**: 5.9.3 -## Project Structure - -``` -src/ -├── app/ -│ ├── layout.tsx # Root layout with Mantine provider -│ ├── page.tsx # Home page (server component) -│ └── album/ -│ └── [albumId]/ -│ ├── page.tsx # Album detail page (server component) -│ └── not-found.tsx -├── components/ -│ ├── AlbumCard.tsx # Album card component (client component) -│ └── BackButton.tsx # Back button (client component) -├── lib/ -│ ├── list.ts # Album data -│ └── ListTypes.ts # TypeScript types -└── index.css # Global styles -``` - -## Getting Started - -Install dependencies: - -```bash -bun install -``` - -Run the development server: - -```bash -bun run dev -``` - -Open [http://localhost:3000](http://localhost:3000) to view the app. - -## Build - -Build for production: - -```bash -bun run build -``` - -Start the production server: - -```bash -bun run start -``` - -## Features Explanation - -### Server Components - -The app leverages Next.js App Router with server components for optimal performance: -- Home page (`page.tsx`) - Server component that renders the album grid -- Album detail page (`album/[albumId]/page.tsx`) - Server component with static generation - -### Client Components - -Interactive components use the `"use client"` directive: -- `AlbumCard` - Handles click navigation to album details -- `BackButton` - Handles navigation back to home - -### Static Generation - -Album detail pages are statically generated at build time using `generateStaticParams`, providing instant page loads. ## License