Skip to content

jsiman551/digidexWeb

Repository files navigation

Digidex - Digimon Encyclopedia

📖 Overview

Digidex is a web application built with Next.js and TypeScript that allows users to explore detailed information about Digimon: levels, attributes, types, fields, evolutions, and skills.
The project is designed with a modern, scalable, and SEO-friendly approach, supporting native light/dark mode based on the user's system preferences.


🛠️ Technologies Used

  • Next.js 13+ (App Router) – React framework for modern web applications.
  • TypeScript – Static typing for maintainability and robustness.
  • TailwindCSS v4+ – Utility-first styling with native light/dark mode support.
  • Prettier – Standardized code formatting.
  • ESLint – Linter to enforce best practices.
  • Digi API – External API for Digimon data.
  • next/image – Image optimization.
  • React Hooks – State and effect management (useState, useEffect, useMemo, useCallback).

📂 Project Structure

project/
├── app/
│ ├── layout.tsx # Root layout with header, footer, and light/dark mode
│ ├── page.tsx # Main page
│ ├── favicon.ico # Project favicon
│ ├── digimon/
│ │ ├── page.tsx # Digimon list page
│ │ └── [id]/page.tsx # Digimon detail page

├── components/
│ ├── ClientHeader.tsx # Header with SEO-friendly logo
│ ├── DigimonCard.tsx # Card component for Digimon
│ ├── EvolutionsSection.tsx # Previous and next evolutions section
│ ├── FiltersBar.tsx # Search and filter bar
│ └── Tooltip.tsx # Accessible tooltip with light/dark support

├── lib/
│ └── api.ts # Functions to consume Digi API


🚀 Key Features

  • Digimon exploration with pagination and filters.
  • Detailed view with attributes, levels, types, fields, evolutions, and skills.
  • Native light/dark mode (no toggle, depends on system settings).
  • Responsive design with TailwindCSS.
  • SEO-friendly: titles, descriptions, and favicon configured.
  • Accessible tooltips with consistent contrast in both modes.

▶️ Available Scripts

  • npm run dev – Start the development server.
  • npm run build – Build the app for production.
  • npm run start – Run the app in production mode.
  • npm run format – Format code using Prettier.
  • npm run format:check – Verify code formatting.

🧪 Testing Strategy

This project uses Vitest together with React Testing Library to ensure both unit and integration tests are reliable and easy to maintain.

Types of Tests

  • Unit tests: Validate small components in isolation (e.g., FiltersBar, Tooltip).
  • Integration tests: Cover how components work together (e.g., DigimonList, dynamic route [id]/page.tsx).
  • Coverage reports: Optional, can be generated with npm run test:coverage to measure how much of the codebase is tested.

About

Digidex web app built with Next.js, TypeScript, and TailwindCSS to explore Digimon data via Digi API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors