Overview
Artifact Miner accepts ZIP file uploads containing one or more project directories. Once uploaded, the system extracts and catalogs the directory structure, allowing you to select specific directories for repository analysis.Preparing Your ZIP File
Before uploading, organize your projects into a ZIP archive:Gather your projects
Collect all project directories you want to analyze. Each project can be:
- A Git repository (recommended for full analysis)
- A standalone project directory
- A collection of coursework or assignments
Create the ZIP archive
Compress your projects into a single ZIP file:Your ZIP structure might look like:
Uploading via API
Upload your ZIP file using the/zip/upload endpoint:
The
portfolio_id is automatically generated and links all ZIPs in the same portfolio together. Save this ID for multi-ZIP workflows.Response Fields
| Field | Type | Description |
|---|---|---|
zip_id | integer | Unique database identifier for this upload |
filename | string | Original filename of the uploaded ZIP |
portfolio_id | string | UUID linking this ZIP to a portfolio |
Directory Selection
After upload, retrieve the directory listing to select which folders to analyze:Multi-ZIP Portfolio Workflow
For large portfolios, upload multiple ZIP files incrementally to the same portfolio:Extraction and Storage
Uploaded ZIPs are stored and extracted as follows:- Upload storage:
./uploads/YYYYMMDD_HHMMSS_filename.zip - Extraction path:
./.extracted/{zip_id}/ - Thumbnails:
./uploads/thumbnails/(for project images)
File Size and Format Requirements
- Format: Only
.zipfiles are accepted - Recommended size: Under 500 MB for optimal performance
- Git repositories: Must include
.gitdirectory for full analysis
Next Steps
After uploading and selecting directories:- Analyze repositories - Extract repository intelligence and user contributions
- Set consent preferences - Configure data handling and LLM integration
- Generate outputs - Create resumes and portfolio artifacts
API Reference
POST /zip/upload
Uploads a ZIP file and registers it in the database. Parameters:file(form-data, required): ZIP file to uploadportfolio_id(query, optional): UUID to link this ZIP to an existing portfolio
ZipUploadResponse with zip_id, filename, and portfolio_id
GET /zip//directories
Retrieves the directory structure of an extracted ZIP. Parameters:zip_id(path, required): Database ID of the uploaded ZIP
DirectoriesResponse with directory list and file paths
GET /zip/portfolios/
Lists all ZIPs belonging to a portfolio. Parameters:portfolio_id(path, required): Portfolio UUID
PortfolioResponse with array of ZIP items