• Product
  • Solutions
  • Developers
  • Demo
  • Promotion
  • Company
EdgeOne Logo
Back to Templates

Personal Anime Gallery Website

A personal website for collecting anime images, featuring an extensive image library from Anilist. Deploy with one click to instantly have your own anime image collection site.

View Demo
FrameworkNext.js
Use CaseAnime,Gallery
A personal website for collecting anime images, featuring an extensive image library from Anilist. Deploy with one click to instantly have your own anime image collection site.

Anime Albums Website Template

A modern, responsive anime album collection website template built with Next.js. This template provides a beautiful and interactive way to showcase your anime collection with features like video backgrounds, weather effects, and Live2D character interactions.

Features

  • ๐ŸŽฅ Dynamic video background carousel
  • ๐ŸŒค๏ธ Interactive weather effects (rain, snow, sunny)
  • ๐ŸŽญ Live2D character with interactive responses
  • ๐Ÿ“ฑ Fully responsive design
  • ๐ŸŒ Multi-language support
  • ๐ŸŽจ Dark/Light theme support
  • ๐Ÿ“‚ Category-based gallery layouts
  • ๐Ÿ”„ Infinite scroll loading
  • ๐Ÿ–ผ๏ธ Beautiful image modal with navigation

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui
  • Animation: Framer Motion
  • Live2D: Live2D Widget
  • Data Source: AniList GraphQL API

Getting Started

Prerequisites

  • Node.js 18.0 or later
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/tomcomtang/anime-albums-website.git
cd anime-albums-website
  1. Install dependencies:
yarn install
  1. Fetch initial anime data:
node scripts/fetch-anilist-data.js

This script will fetch anime data from AniList API and generate configuration files in the public/data directory.

Development

Run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

Building for Production

npm run build
# or
yarn build

If you want to update the anime data every time you deploy, you can modify the build script in package.json:

{
  "scripts": {
    "build": "node scripts/fetch-anilist-data.js && next build"
  }
}

Then, you can start the production server:

npm run start
# or
yarn start

Customization

Anime Data

The website uses JSON configuration files in the public/data directory for anime data. You can customize the content by:

  1. Modifying the existing JSON files in public/data
  2. Running the fetch-anilist-data.js script with different parameters
  3. Creating your own JSON files following the same structure

Weather Effects

Weather effects can be customized in:

  • components/weather/weather-effects.tsx
  • app/globals.css (weather-related styles)

Project Structure

โ”œโ”€โ”€ app/                    # Next.js app directory
โ”‚   โ”œโ”€โ”€ [locale]/          # Internationalization routes
โ”‚   โ”œโ”€โ”€ gallery/           # Gallery pages
โ”‚   โ””โ”€โ”€ globals.css        # Global styles
โ”œโ”€โ”€ components/            # React components
โ”‚   โ”œโ”€โ”€ gallery/          # Gallery components
โ”‚   โ”œโ”€โ”€ live2d/           # Live2D components
โ”‚   โ””โ”€โ”€ weather/          # Weather effect components
โ”œโ”€โ”€ lib/                   # Utility functions
โ”œโ”€โ”€ public/               # Static files
โ”‚   โ”œโ”€โ”€ data/            # Anime data JSON files
โ”‚   โ””โ”€โ”€ videos/          # Background videos
โ””โ”€โ”€ scripts/             # Utility scripts
    โ””โ”€โ”€ fetch-anilist-data.js  # Data fetching script

License

This project is licensed under the MIT License. For commercial use, please refer to the licensing terms of Live2D and AniList.

References