45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# GEMINI.md
|
|
|
|
## Project Overview
|
|
|
|
This is a Next.js application built with TypeScript that classifies shoes using a machine learning model. The application uses the device's camera to capture images of shoes and then uses a pre-trained model to classify them. The classification results are displayed to the user and can be saved in a history for later review.
|
|
|
|
The project uses `pnpm` as the package manager and is structured as a typical Next.js application with the `app` directory for routing. It uses `tailwindcss` for styling and `lucide-react` for icons. The UI is built with a combination of custom components and components from the `shadcn/ui` library.
|
|
|
|
## Building and Running
|
|
|
|
To build and run this project, you will need to have Node.js and `pnpm` installed.
|
|
|
|
1. **Install dependencies:**
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
2. **Run the development server:**
|
|
```bash
|
|
pnpm run dev
|
|
```
|
|
|
|
3. **Build the project:**
|
|
```bash
|
|
pnpm run build
|
|
```
|
|
|
|
4. **Start the production server:**
|
|
```bash
|
|
pnpm run start
|
|
```
|
|
|
|
5. **Lint the project:**
|
|
```bash
|
|
pnpm run lint
|
|
```
|
|
|
|
## Development Conventions
|
|
|
|
* **Styling:** The project uses `tailwindcss` for styling. Utility classes are preferred over custom CSS.
|
|
* **Components:** The project uses a combination of custom components and components from the `shadcn/ui` library. Custom components are located in the `components` directory.
|
|
* **State Management:** The project uses React's built-in state management (`useState`, `useRef`, `useEffect`, `useCallback`) for managing component state.
|
|
* **Linting:** The project uses ESLint for linting. The configuration is in the `eslint.config.mjs` file.
|
|
* **TypeScript:** The project is written in TypeScript. The configuration is in the `tsconfig.json` file.
|