LinkDesk/README.md

135 lines
3.4 KiB
Markdown

# 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:
```bash
cd backend
```
2. Create a virtual environment:
```bash
python -m venv venv
```
3. Activate the virtual environment:
- Windows: `venv\Scripts\activate`
- macOS/Linux: `source venv/bin/activate`
4. Install dependencies:
```bash
pip install -r requirements.txt
```
5. Copy environment file:
```bash
cp .env.example .env
```
6. Run the development server:
```bash
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:
```bash
cd frontend
```
2. Install dependencies:
```bash
npm install
```
3. Copy environment file:
```bash
cp .env.example .env
```
4. Run the development server:
```bash
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:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
## 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.