This is a Next.js application that serves as a personal portfolio and includes a sample e-commerce platform called E-Automate. It uses Firebase for the backend and Genkit for AI-powered features.
- Portfolio Showcase: A dedicated "About Me" section highlighting skills, experience, and projects.
- User Authentication: Provides user authentication and role management to access different functionalities within the e-commerce section.
- Product Catalog: Showcases products with detailed information including images, description, and pricing, fetched directly from Firestore.
- Shopping Cart: Allows users to add, view, modify, and manage products in a shopping cart persisted across sessions.
- Checkout & Payment: Guides users through a multi-step checkout process, integrating with Stripe for payment processing. Uses Firebase functions to orchestrate the requests with Stripe for various payment methods.
- Order History: Enables users to view past order details with order status.
- AI Suggested Items: Suggests related products using the Gemini API based on product descriptions.
- Admin Functionality: Offers a simple admin panel to manage products for setting up test data.
First, install the dependencies:
npm installThen, run the development server:
npm run devOpen http://localhost:9002 with your browser to see the result.
src/app/: This is the main directory for the Next.js application, using the App Router. Each subdirectory in here represents a route in the application.src/components/: This directory contains the reusable React components used throughout the application.src/hooks/: This directory contains custom React hooks.src/lib/: This directory contains the application's business logic.src/ai/: This directory contains the AI-related code.docs/: This directory contains the project documentation.public/: This directory contains the static assets for the application.next.config.ts: The configuration file for Next.js.package.json: The project's dependencies and scripts.tailwind.config.ts: The configuration file for Tailwind CSS.tsconfig.json: The configuration file for TypeScript.