Project Management System for CG Animation Industries
Go to file
indigo 1f229bff6c Modify Shot Data Table Functions 2026-03-05 22:12:02 +08:00
.kilocode Init Repo 2026-02-28 03:22:04 +08:00
.kiro Init Repo 2026-02-28 03:22:04 +08:00
backend Modify Shot Data Table Functions 2026-03-05 22:12:02 +08:00
frontend Modify Shot Data Table Functions 2026-03-05 22:12:02 +08:00
openspec modify my task 2026-03-01 11:30:40 +08:00
.gitignore Init Repo 2026-02-28 03:22:04 +08:00
README.md Init Repo 2026-02-28 03:22:04 +08:00
db.session.sql Init Repo 2026-02-28 03:22:04 +08:00
dev-setup.py Init Repo 2026-02-28 03:22:04 +08:00
jsconfig.json Init Repo 2026-02-28 03:22:04 +08:00
verify-setup.py Init Repo 2026-02-28 03:22:04 +08:00
vetur.config.js Init Repo 2026-02-28 03:22:04 +08:00

README.md

VFX Project Management System

A comprehensive project management system designed specifically for the animation and VFX industry, similar to ftrack or ShotGrid.

Features

  • Role-based access control (Admin, Director, Coordinator, Artist)
  • Project, episode, and shot management
  • Asset management with categories
  • Task assignment and tracking
  • Review and approval workflows
  • File upload and version control
  • Real-time notifications

Technology Stack

Backend

  • FastAPI (Python web framework)
  • SQLAlchemy (ORM)
  • SQLite (Database)
  • JWT authentication
  • Pydantic (Data validation)

Frontend

  • Vue.js 3 with Composition API
  • TypeScript
  • Vite (Build tool)
  • Tailwind CSS
  • shadcn-vue components
  • Pinia (State management)

Development Setup

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • npm or yarn

Backend Setup

  1. Navigate to the backend directory:

    cd backend
    
  2. Create a virtual environment:

    python -m venv venv
    
  3. Activate the virtual environment:

    • Windows: venv\Scripts\activate
    • macOS/Linux: source venv/bin/activate
  4. Install dependencies:

    pip install -r requirements.txt
    
  5. Copy environment file:

    cp .env.example .env
    
  6. Run the development server:

    uvicorn main:app --reload --host 0.0.0.0 --port 8000
    

The API will be available at http://localhost:8000

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
    
  2. Install dependencies:

    npm install
    
  3. Copy environment file:

    cp .env.example .env
    
  4. Run the development server:

    npm run dev
    

The frontend will be available at http://localhost:5173

API Documentation

Once the backend is running, you can access the interactive API documentation at:

Project Structure

├── backend/                 # FastAPI backend
│   ├── models/             # SQLAlchemy models
│   ├── routers/            # API route handlers
│   ├── schemas/            # Pydantic schemas
│   ├── services/           # Business logic
│   ├── main.py             # FastAPI application
│   ├── database.py         # Database configuration
│   └── requirements.txt    # Python dependencies
├── frontend/               # Vue.js frontend
│   ├── src/
│   │   ├── components/     # Vue components
│   │   ├── views/          # Page components
│   │   ├── stores/         # Pinia stores
│   │   ├── services/       # API services
│   │   ├── types/          # TypeScript types
│   │   └── router/         # Vue Router configuration
│   ├── package.json        # Node.js dependencies
│   └── vite.config.ts      # Vite configuration
└── README.md               # This file

Development Workflow

  1. Start the backend server: cd backend && uvicorn main:app --reload
  2. Start the frontend server: cd frontend && npm run dev
  3. Access the application at http://localhost:5173
  4. API documentation at http://localhost:8000/docs

Contributing

This project follows the spec-driven development methodology. See the .kiro/specs/vfx-project-management/ directory for detailed requirements, design, and implementation tasks.