A web application to view and search for Pokémon using Vue 3 and PokeAPI.
- Vue 3: The main framework used for building the application.
- TypeScript: Provides static typing to enhance code quality and maintainability.
- Vite: A fast and lightweight development server and build tool.
- Pinia: For state management, offering a simpler API and better TypeScript support compared to Vuex.
- PrimeVue: A UI component library used for building responsive and visually appealing components.
- PrimeFlex: A CSS utility library used in conjunction with PrimeVue for layout and styling.
- PrimeIcons: Icon library for adding vector icons to the application.
- ESLint: For linting to ensure code quality.
- Prettier: For code formatting to maintain a consistent style.
- Vitest: A fast unit testing framework.
- @testing-library/vue: For testing Vue components in a way that resembles user interactions.
- Apollo Client: For making GraphQL queries to the PokeAPI.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd pokepanda
- Install dependencies:
npm install
- Install dependencies:
pnpm install
- Install dependencies:
yarn install
-
Start the development server:
npm run dev
-
Open the browser and navigate to
http://localhost:5173
-
Start the development server:
pnpm run dev
-
Open the browser and navigate to
http://localhost:5173
-
Start the development server:
yarn dev
-
Open the browser and navigate to
http://localhost:5173
-
Build the application:
npm run build
-
Serve the built application:
npm run dev
-
Build the application:
pnpm run build
-
Serve the built application:
pnpm run dev
-
Build the application:
yarn build
-
Serve the built application:
yarn dev
- Run unit tests:
npm run test:unit
- Run unit tests:
pnpm run test:unit
- Run unit tests:
yarn test:unit
- Vue 3 with TypeScript: Leveraged for its static typing capabilities, which enhance code quality and maintainability.
- PrimeVue and PrimeFlex: Utilized for rapid and efficient UI construction, ensuring a responsive design.
- PokeAPI: Chosen for its robustness and ease of use, providing a comprehensive data set for Pokémon.