Nano Banana Pro
Agent skill for nano-banana-pro
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
# Start development server npm run dev # Build for production npm run build # Lint code npm run lint # Preview production build npm run preview
This is a React 19 application built with Vite that implements a car rental website with auction functionality. The project uses a feature-based architecture with Redux Toolkit for state management and Firebase for data persistence.
The application uses Redux Toolkit with feature-based slices:
auth/userSlice - User authentication and session managementmodal/modalSlice - Modal dialog state managementregistro/registroSlice - User registration workflowsslideshow/slideshowSlice - Image carousel managementsubastaSlice/subastaSlice - Auction functionality and biddingbusqueda/busquedaSlice - Search and filtering logicvender/venderSlide - Car selling/listing functionalityloader/loaderSlice - Loading states across the appThe application uses a custom API wrapper (
src/api/api.js) with:
fetch() - Authenticated requests with JWT tokensfetchSinToken() - Unauthenticated requestspostFile() - File upload functionalitygetFile() - File download with authenticationHeader, Footer provide consistent navigationsrc/pages/src/components/input/ScrollTop, BreadcrumbFirebase is configured in
src/db/firebase.js with Firestore for data persistence. The configuration is imported from src/db/config/firebase.js.
src/ ├── api/ # API layer and HTTP utilities ├── components/ # Reusable React components (Feature-Based) │ ├── shared/ # Components shared between features │ │ ├── ui/ # UI utilities (Breadcrumb, ScrollTop) │ │ ├── forms/ # Form input components (InputText, etc.) │ │ ├── layout/ # Layout components (Header, Footer, Modals) │ │ └── feedback/ # Loading, messages, notifications │ ├── business/ # Business logic specific components │ │ ├── auction/ # Auction functionality (PujasMartillo) │ │ ├── search/ # Search functionality (Busqueda, CarSidebar) │ │ └── vehicle/ # Vehicle-related components │ └── sections/ # Page sections (moved to views as needed) ├── const/ # Constants and configuration ├── db/ # Firebase configuration ├── hooks/ # Custom React hooks ├── layout/ # Layout wrapper components │ ├── Layout.jsx # Main app layout wrapper │ ├── LayoutPage.jsx # Protected routes layout │ └── GlobalMessage.jsx # Global messaging component ├── router/ # Routing configuration │ ├── AppRouter.jsx # Main application router │ ├── PrivateRoute.jsx # Private route wrapper │ ├── ProtectedRoutes.jsx # Protected routes component │ └── PublicRoute.jsx # Public route wrapper ├── store/ # Redux store and slices ├── utils/ # Utility functions └── views/ # Feature-based view components ├── home/ # Home page functionality ├── about/ # About page functionality ├── subastas/ # Auction/Cars functionality ├── contact/ # Contact page functionality ├── services/ # Services page functionality ├── blog/ # Blog functionality ├── detalle/ # Auction detail view └── vender/ # Selling functionality
src/views/ for new functionalitysrc/api/api.js if backend integration requiredsrc/router/AppRouter.jsx for new pagesThe application uses a sophisticated routing system with authentication:
createSlice for new statecreateAsyncThunk in thunk filesuseSelector and dispatch via useDispatchfetch() for authenticated requestsfetchSinToken() for public endpointsloaderSliceThe project requires Firebase configuration in
src/db/config/firebase.js. Ensure this file contains valid Firebase project credentials before running the application.