Skip to content

BreyeFoka/Anime-Vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽŒ Anime Vault

Anime Vault

Next.js React TypeScript Tailwind CSS Framer Motion

A modern, feature-rich anime discovery platform built with Next.js 14

๐Ÿš€ Live Demo](https://anime-vault-nine-dusky.vercel.app/) โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ› ๏ธ Installation


โœจ Features

๐ŸŽฏ Core Functionality

  • Anime Discovery: Browse and discover anime with real-time data from Shikimori API
  • Smart Search: Instant search functionality with autocomplete suggestions
  • Genre Filtering: Filter anime by categories (Action, Adventure, Drama, etc.)
  • Streaming Integration: Direct links to watch anime on popular streaming platforms
  • Infinite Scroll: Seamless loading of more content as you browse

๐ŸŽจ Modern UI/UX

  • Glassmorphism Design: Beautiful glass-effect components with backdrop blur
  • Responsive Layout: Optimized for desktop, tablet, and mobile devices
  • Smooth Animations: Framer Motion-powered transitions and micro-interactions
  • Dark Theme: Eye-friendly dark interface with gradient accents
  • Interactive Cards: Hover effects and dynamic content loading

๐Ÿ”ง Technical Features

  • Server-Side Rendering: Next.js 14 with App Router for optimal performance
  • TypeScript: Full type safety and enhanced developer experience
  • API Integration: Real anime data from Shikimori API
  • Optimized Images: Next.js Image component for fast loading
  • SEO Optimized: Meta tags and structured data for better search visibility

๐Ÿ› ๏ธ Installation

Prerequisites

  • Node.js 18.0 or higher
  • npm or yarn package manager

Quick Start

  1. Clone the repository

    git clone https://github.com/BreyeFoka/Anime-Vault.git
    cd Anime-Vault
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Run the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser Navigate to http://localhost:3000 to see the application.

Build for Production

npm run build
npm run start

๐Ÿ—๏ธ Project Structure

anime-vault/
โ”œโ”€โ”€ app/                    # Next.js 14 App Router
โ”‚   โ”œโ”€โ”€ action.tsx         # Server actions for API calls
โ”‚   โ”œโ”€โ”€ globals.css        # Global styles and animations
โ”‚   โ”œโ”€โ”€ layout.tsx         # Root layout component
โ”‚   โ””โ”€โ”€ page.tsx           # Home page component
โ”œโ”€โ”€ components/            # Reusable React components
โ”‚   โ”œโ”€โ”€ AnimeCard.tsx      # Individual anime card with streaming modal
โ”‚   โ”œโ”€โ”€ CategoriesSection.tsx  # Genre filtering section
โ”‚   โ”œโ”€โ”€ FeaturedSection.tsx    # Featured anime showcase
โ”‚   โ”œโ”€โ”€ Footer.tsx         # Site footer
โ”‚   โ”œโ”€โ”€ Hero.tsx           # Hero section with search
โ”‚   โ”œโ”€โ”€ LoadMore.tsx       # Infinite scroll component
โ”‚   โ”œโ”€โ”€ MotionDiv.tsx      # Animated wrapper component
โ”‚   โ”œโ”€โ”€ Navigation.tsx     # Header navigation
โ”‚   โ”œโ”€โ”€ TopRatedSection.tsx    # Top-rated anime section
โ”‚   โ””โ”€โ”€ TrendingSection.tsx    # Trending anime section
โ”œโ”€โ”€ public/                # Static assets
โ”‚   โ”œโ”€โ”€ hero.png          # Hero section image
โ”‚   โ”œโ”€โ”€ logo.svg          # Application logo
โ”‚   โ””โ”€โ”€ [other assets]    # Icons and images
โ”œโ”€โ”€ next.config.js         # Next.js configuration
โ”œโ”€โ”€ tailwind.config.ts     # Tailwind CSS configuration
โ””โ”€โ”€ tsconfig.json         # TypeScript configuration

๐ŸŽฎ Usage

Browsing Anime

  • Homepage: View featured, trending, and top-rated anime
  • Search: Use the search bar in the hero section or navigation
  • Categories: Click genre buttons to filter anime by category
  • Infinite Scroll: Scroll down to automatically load more anime

Watching Anime

  1. Find an anime you want to watch
  2. Click "Watch Now" on any anime card
  3. Select a streaming service from the modal that appears
  4. Enjoy! You'll be redirected to the streaming platform

Navigation

  • Fixed Header: Always accessible navigation with search
  • Mobile Menu: Hamburger menu for mobile devices
  • Responsive Design: Optimized for all screen sizes

๐Ÿ”Œ API Integration

Shikimori API

The application integrates with the Shikimori API to fetch real anime data:

  • Anime Data: Title, description, ratings, episodes, images
  • Genre Information: Categories and tags for filtering
  • Search Functionality: Real-time anime search
  • Detailed Information: Cast, studios, release dates

Streaming Services

Integrated streaming platforms include:

  • Crunchyroll
  • Netflix
  • Funimation
  • Hulu
  • VRV
  • AnimeLab
  • Wakanim

๐ŸŽจ Customization

Themes

The application uses CSS custom properties for easy theming:

:root {
  --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  --gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

Animations

Custom animations are defined in globals.css:

  • Fade-in effects
  • Slide transitions
  • Floating animations
  • Gradient shifts
  • Glow effects

Components

All components are modular and customizable:

  • Modify styling in individual component files
  • Adjust animations via Framer Motion props
  • Configure API endpoints in action.tsx

๐Ÿš€ Performance

Optimizations

  • Image Optimization: Next.js Image component with lazy loading
  • Code Splitting: Automatic code splitting with Next.js
  • Server-Side Rendering: Fast initial page loads
  • Caching: Efficient API response caching
  • Bundle Size: Optimized bundle with tree shaking

Lighthouse Scores

  • Performance: 95+
  • Accessibility: 100
  • Best Practices: 100
  • SEO: 95+

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add some amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use meaningful component names
  • Write responsive CSS with Tailwind
  • Test on multiple devices
  • Maintain consistent code style

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments


๐Ÿ“ž Support

If you have any questions or need help:


Made with โค๏ธ by Breye Foka

โญ Star this repo if you find it helpful!

About

An simple Next js project with infos on animes. Buil for server side rendering project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published