Deploy at Vercel: Poke-Store-Next
This is an educational project of an e-commerce web store built using ReactJS, NextJS, SASS, SWR, Chakra UI, FontAwesome, Node, JavaScript, and can be run on both Linux and Windows operating systems. The main objective of this project is to create a Next.js application that interacts with the Pokémon API (https://pokeapi.co/api/v2/pokemon) to display Pokémon-related products for sale.
-
Create a Next.js Application: The project begins with setting up a Next.js application using the
create-next-appcommand. Next.js is chosen for its server-side rendering capabilities, making it suitable for SEO-friendly and performant web applications. -
Create Routes: Next.js follows a file-system-based routing approach, where each page is represented by a file inside the
pages/folder. Routes will be created to navigate between different parts of the application. -
Reproduce HTML on Next.js: The HTML layout and design for the e-commerce web store will be reproduced using components and styling with SASS in the Next.js application.
-
Create and Use Components: Various components will be created to modularize the application and improve code reusability. These components will be used to structure different sections of the web store.
-
Include Components with State: Some components will use React state to manage their behavior, such as managing cart items, adding/removing products from the cart, etc.
-
Fetch Data from Pokémon API: The web store will interact with the Pokémon API (https://pokeapi.co/api/v2/pokemon) to retrieve data about Pokémon products to display on the web store.
-
Use Chakra UI and FontAwesome: Chakra UI will be utilized to create a responsive and visually appealing user interface, and FontAwesome will provide icons for a better user experience.
-
Version Control with GitHub: The entire project code, including the Next.js application, will be hosted on GitHub to allow for easy collaboration and version control.
pages/Folder: Contains different pages and routes for the web store.- React Components: Several components to handle header, footer, product listing, product details, shopping cart, etc.
- State Management: Components responsible for managing state, such as shopping cart items and user interactions.
- API Interaction: Code to fetch Pokémon data from the Pokémon API using SWR library.
- SASS Styles: Styling for components and layout using SASS to improve readability and maintainability.
- Chakra UI Integration: Utilizing Chakra UI components to enhance the visual appearance of the web store.
- FontAwesome Integration: Integrating FontAwesome icons for better visual elements.
- Clone the GitHub repository to your local machine.
- Make sure Node.js and npm are installed on your system.
- Navigate to the project root folder in the terminal.
- Run
npm installto install all project dependencies. - Run
npm run devto start the Next.js development server. - Open your web browser and visit
http://localhost:3000to view the web store.
This project is created solely for educational purposes, and it does not serve as a fully functional e-commerce store. The primary goal of this project is to learn and practice the usage of React, Next.js, and other mentioned technologies. It does not handle real payment transactions or other essential e-commerce functionalities. Users should not attempt to use this project for commercial purposes or real-world applications without proper modifications and enhancements.
- ReactJS: https://reactjs.org/
- NextJS: https://nextjs.org/
- SASS: https://sass-lang.com/
- SWR: https://swr.vercel.app/
- Chakra UI: https://chakra-ui.com/
- FontAwesome: https://fontawesome.com/
- Node.js: https://nodejs.org/
This project is open-source and uses the MIT License. Please refer to the LICENSE file for more details.
With this documentation, developers can understand the purpose, objectives, components, and technologies used in the e-commerce web store project. The project is designed for learning and educational purposes, and developers can refer to the GitHub repository for the complete codebase.