Files
kami_apple_exchage/GEMINI.md
danial 5c486e34d3 docs(项目): 添加项目文档并进行代码调整
- 新增 CODEBUDDY.md、GEMINI.md、GEMINI_CN.md 等项目文档
- 更新 Dockerfile 和其他配置文件
- 优化部分代码结构,如 orders.py、tasks.py 等
- 新增 .dockerignore 文件
2025-09-12 19:38:24 +08:00

2.4 KiB

Gemini Project Context: Apple Gift Card Exchange Platform

Project Overview

This is a full-stack application for an Apple gift card exchange platform. It features a modern, scalable architecture with a real-time monitoring dashboard and an Apple-style user interface.

  • Frontend: A Next.js application written in TypeScript, using Tailwind CSS for styling and Radix UI for components. It communicates with the backend via a REST API.
  • Backend: A Python-based microservices architecture using FastAPI. It leverages Celery for asynchronous task processing, Playwright for browser automation, and PostgreSQL for the database.
  • Architecture: The system is designed as a distributed system with a frontend, a backend API, and a pool of Celery workers. It uses Redis for caching and as a message broker.

Building and Running

Prerequisites

  • Python 3.13+
  • Node.js 18+
  • Docker & Docker Compose
  • PostgreSQL
  • Redis

Development Mode

  1. Start Dependencies:

    cd backend
    docker-compose up -d redis postgres
    
  2. Start Backend:

    cd backend
    uv sync
    uv run python app/main.py
    
  3. Start Frontend:

    cd frontend
    bun install
    bun run dev
    
  4. Start Workers:

    cd backend
    uv run celery -A app.core.celery_app worker --loglevel=info
    uv run celery -A app.core.celery_app beat --loglevel=info
    

Docker Development

cd backend
docker-compose up -d
  • Frontend: http://localhost:3000
  • Backend API: http://localhost:8000
  • API Documentation: http://localhost:8000/docs

Development Conventions

Code Quality

  • Backend:
    • Formatting: Black
    • Import Sorting: isort
    • Type Checking: MyPy
    • Linting: Ruff
    • Testing: pytest
  • Frontend:
    • Formatting: Prettier
    • Linting: ESLint
    • Type Checking: TypeScript
    • Testing: Jest + React Testing Library

Git Workflow

  • Create feature branches from master.
  • Use conventional commit messages (e.g., feat:, fix:, docs:).
  • Submit pull requests for code review.

Key Files

  • frontend/: Contains the Next.js frontend application.
  • backend/: Contains the FastAPI backend application.
  • deploy/: Contains deployment scripts and configurations.
  • README.md: The main README file with detailed project information.