Anime Vault is a sleek Next.js 14 application for browsing the most popular anime titles powered by the public Shikimori API. It ships with a bold hero section, animated cards, incremental loading, and a curated visual system built on Tailwind CSS.
- Server Actions (
fetchAnime) keep API calls secure and cache-aware. - Responsive grid of
AnimeCardcomponents with subtle motion states. LoadMoreentry point prepared for pagination / infinite scrolling.- Custom favicon sourced from
public/logo.svgto keep the brand consistent. - Dark, high-contrast UI scaffolded directly inside the App Router layout.
- Next.js 14 (App Router)
- React 18 + TypeScript
- Tailwind CSS 3
- Framer Motion (for future interaction polish)
- Install dependencies
npm install
- Run the dev server
npm run dev # visit http://localhost:3000 - Build & preview
npm run build npm start
Requires Node.js 18.17+ (matching Next.js 14 baseline).
anime_vault/
├─ app/
│ ├─ action.ts # Server action proxying the Shikimori API
│ ├─ _data.ts # Static seed data used by the grid
│ ├─ layout.tsx # Global layout, fonts, favicon, shared sections
│ └─ page.tsx # Home route rendering Hero, cards, and LoadMore
├─ components/ # Reusable UI primitives (Hero, AnimeCard, Footer, ...)
├─ public/logo.svg # Source artwork used for the favicon & branding
├─ tailwind.config.ts # Tailwind theme overrides
└─ package.json
- Data is sourced from
https://shikimori.one/api/animes. - Adjust the
pageorlimitparams infetchAnimeto tune pagination. - Handle rate limits gracefully;
fetchAnimeis a great place to add retries or caching if you expand the app.
- Fork & clone the repo.
- Create a feature branch:
git checkout -b feature/your-idea. - Commit with context-rich messages and open a PR.
This project is released under the MIT License. Feel free to remix it for your own anime dashboard, internal tooling, or demos.
