No description
Find a file
m4x809 ddbd73fd3e
Refactor Dockerfile for improved build process and configuration management
- Updated the Dockerfile to use the latest base image and streamline the multi-stage build process.
- Enhanced dependency installation by copying additional configuration files and using the `--frozen-lockfile` option.
- Set environment variables for production settings and localization.
- Adjusted the command to start the application, ensuring it runs the correct entry point.
2025-10-25 03:55:59 +02:00
.vscode Update track IDs and add FontAwesome dependencies 2025-10-25 03:03:11 +02:00
data Update track IDs and add FontAwesome dependencies 2025-10-25 03:03:11 +02:00
public first version 2025-10-25 00:20:37 +02:00
scripts Update track IDs and add FontAwesome dependencies 2025-10-25 03:03:11 +02:00
src Refactor TrackCard and TrackModal components for improved functionality and styling 2025-10-25 03:26:25 +02:00
.dockerignore Add Docker support with Dockerfile and .dockerignore 2025-10-25 03:37:05 +02:00
.gitignore first version 2025-10-25 00:20:37 +02:00
biome.json first version 2025-10-25 00:20:37 +02:00
Dockerfile Refactor Dockerfile for improved build process and configuration management 2025-10-25 03:55:59 +02:00
eslint.config.js first version 2025-10-25 00:20:37 +02:00
next.config.ts Add Docker support with Dockerfile and .dockerignore 2025-10-25 03:37:05 +02:00
package.json Update track IDs and add FontAwesome dependencies 2025-10-25 03:03:11 +02:00
postcss.config.js first version 2025-10-25 00:20:37 +02:00
prettier.config.js first version 2025-10-25 00:20:37 +02:00
README.md first version 2025-10-25 00:20:37 +02:00
tsconfig.json Add new scripts and update album data 2025-10-25 01:02:10 +02:00

Linkin Park Albums

A modern web application showcasing the complete discography of Linkin Park, built with Next.js 15 and React 19.

Features

  • 🎵 Browse all Linkin Park albums
  • 📱 Responsive design with Tailwind CSS
  • 🎨 Beautiful UI with Mantine components
  • Fast static generation with Next.js App Router
  • 🖥️ Server components for optimal performance
  • 🎭 Smooth transitions and hover effects

Tech Stack

  • Framework: Next.js 15 (App Router)
  • React: React 19 (Canary)
  • 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:

bun install

Run the development server:

bun run dev

Open http://localhost:3000 to view the app.

Build

Build for production:

bun run build

Start the production server:

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

MIT