Skip to main content

Overview

Templates provide pre-configured collection structures that you can use as starting points for your inventory. Each template includes custom field definitions, asset types, and organizational patterns optimized for specific use cases.

Template Marketplace

The template marketplace offers community-created templates for various inventory types:

Gaming Collections

Templates for video games, board games, and collectibles

Electronics

Templates for tech inventory and equipment tracking

Books & Media

Templates for libraries, media collections, and archives

Business Assets

Templates for office equipment and business inventory

Browsing Templates

Access the marketplace through the Templates section:
1

Navigate to Market

Open the template marketplace from the main navigation. The screen displays available templates with preview cards.
2

Filter by Tags

Use tag filters to narrow down templates:
// From asset_templates_market_screen.dart:36
List<AssetTemplate> _getFilteredTemplates(List<AssetTemplate> templates) {
  return templates.where((t) {
    final matchesTags = _selectedTags.isEmpty ||
        _selectedTags.every((tag) => t.tags.contains(tag));
    return matchesName && matchesTags;
  }).toList();
}
3

Search by Name

Use the search bar to find specific templates by name or description.
4

View Template Details

Click on a template card to see:
  • Detailed description
  • Included custom fields
  • Download count
  • Creation date
  • Author information

Using Templates

Installing from Marketplace

To add a template to your library:
1

Select Template

Browse the marketplace and find the template that matches your needs.
2

Preview Fields

Review the custom field definitions included in the template. These will define what information you can track for each item.
3

Add to Library

Click “Save to Library” or “Install” to add the template to your personal collection.
// From template_provider.dart:86
Future<bool> saveTemplateToLibrary(AssetTemplate template) async {
  try {
    _service.trackDownload(template.id);
    
    // Optimistic update
    final index = _marketTemplates.indexWhere((t) => t.id == template.id);
    if (index != -1) {
      _marketTemplates[index].downloadCount++;
    }
    
    await fetchUserLibrary();
    notifyListeners();
    return true;
  } catch (e) {
    _errorMessage = e.toString();
    return false;
  }
}
4

Create Collection

Navigate to your library and use the template to create a new collection with the predefined structure.

Template Components

Each template includes:
Templates come with pre-configured custom fields tailored to the collection type. For example, a video game template might include:
  • Platform (dropdown)
  • Condition (dropdown)
  • Purchase Price (price)
  • Purchase Date (date)
  • Complete-in-Box (boolean)
  • UPC Code (text)
See Custom Fields for more details on field types.
Defines the categories and subcategories for organizing items within the collection.
Templates include descriptive information:
{
  "id": "video_games_collection",
  "name": "Video Game Collection",
  "description": "Track your game library with platform, condition, and value tracking",
  "tags": ["gaming", "collectibles", "entertainment"],
  "downloadCount": 1247,
  "createdAt": "2024-01-15T10:30:00Z"
}

Creating Collections from Templates

Once a template is in your library:
  1. Select the Template - Choose from your saved templates
  2. Name Your Collection - Give your collection a unique name
  3. Customize (Optional) - Modify field definitions or add new ones
  4. Start Adding Items - Begin populating your collection with assets
Collections created from templates are independent copies. Changes to the original template won’t affect your existing collections.

Publishing Your Own Templates

Share your collection structures with the community:
1

Prepare Your Collection

Create a collection with well-defined custom fields and organizational structure. Ensure it represents a reusable pattern.
2

Open Template Editor

Navigate to Templates → Create or use the “Publicar Plantilla” button.
3

Configure Template Metadata

Fill in the template information:
// Template structure
{
  "id": "unique_template_id",
  "name": "Descriptive Name",
  "description": "Clear explanation of use case",
  "tags": ["category1", "category2"],
  "fields": [
    // Custom field definitions
  ]
}
4

Add Custom Fields

Define all custom fields that should be included:
  • Field name and type
  • Validation rules
  • Default values
  • Helper text
Reference the Custom Fields documentation for field type options.
5

Tag Appropriately

Add relevant tags to help users discover your template. Use existing tags when possible for better organization.
6

Publish to Marketplace

Submit your template for review. The system will:
// From template_provider.dart:56
Future<bool> publishTemplateToMarket(AssetTemplate template) async {
  _setLoading(true);
  try {
    await _service.publishTemplate(template);
    _errorMessage = null;
    notifyListeners();
    return true;
  } catch (e) {
    _errorMessage = e.toString();
    rethrow;
  } finally {
    _setLoading(false);
  }
}

Template Publishing Guidelines

  • Clear Purpose: Template should solve a specific use case
  • Complete Fields: Include all essential custom fields
  • Good Descriptions: Write clear, helpful descriptions
  • Appropriate Tags: Use relevant, existing tags
  • Tested: Verify the template works as expected
  • Use descriptive, searchable names
  • Avoid generic terms like “My Template”
  • Include the collection type (e.g., “Vinyl Record Collection”)
  • Keep names concise but informative
  • Include only universally applicable fields
  • Use appropriate field types for data validation
  • Provide sensible default values when applicable
  • Consider common use cases for your target audience

Managing Your Template Library

Personal Library

Your template library shows all saved templates:
// From template_provider.dart:74
Future<void> fetchUserLibrary() async {
  _setLoading(true);
  try {
    _userLibrary = await _service.getUserLibrary();
    _errorMessage = null;
  } catch (e) {
    _errorMessage = e.toString();
  } finally {
    _setLoading(false);
  }
}
Access your library to:
  • View saved templates
  • Create new collections
  • Modify template copies
  • Remove unused templates

Template Updates

When template authors publish updates:
Existing collections created from a template are not automatically updated. You’ll need to create a new collection from the updated template or manually apply changes.

Template Marketplace Features

Download Tracking

Template popularity is tracked via download counts:
// From template_service.dart:36
Future<void> trackDownload(String templateId) async {
  try {
    final url = '/templates/$templateId/download';
    await _dio.post(url);
  } on DioException catch (e) {
    print("Error tracking download: ${e.message}");
  }
}
This helps users identify popular and trusted templates.

Template Detail View

Full template information is loaded on-demand:
// From template_service.dart:51
Future<AssetTemplate> getTemplateById(String id) async {
  try {
    final url = '/templates/detail/$id';
    final response = await _dio.get(url);
    
    if (response.statusCode == 200) {
      return AssetTemplate.fromJson(response.data);
    } else {
      throw Exception('Template not found');
    }
  } on DioException catch (e) {
    throw _handleError(e);
  }
}
This provides complete field definitions and configuration details.

Best Practices

For Template Users

  • Preview all fields before installing
  • Check download counts and ratings
  • Read descriptions carefully
  • Customize after creation as needed

For Template Creators

  • Test with real data before publishing
  • Use clear, descriptive names
  • Include comprehensive field sets
  • Update templates based on feedback

Common Use Cases

Track your game library with fields for:
  • Platform and region
  • Physical condition
  • Box and manual status
  • Purchase information
  • Current market value
Organize your reading collection with:
  • ISBN and publication info
  • Author and series
  • Edition and printing
  • Reading status
  • Lending tracking
Manage tech assets with:
  • Model and serial numbers
  • Warranty information
  • Purchase date and price
  • Depreciation tracking
  • Maintenance schedules
Track workshop equipment with:
  • Brand and model
  • Condition ratings
  • Location in workshop
  • Maintenance logs
  • Replacement cost

Troubleshooting

If a template fails to load:
  1. Check your internet connection
  2. Refresh the marketplace
  3. Try viewing the template details
  4. Contact the template author if the issue persists
If fields are missing:
  1. Verify the template includes those fields in the detail view
  2. Check if you’re viewing the correct collection
  3. Ensure the template installation completed successfully
  4. Try reinstalling the template

Next Steps

Custom Fields

Learn about creating custom field definitions

Plugins

Extend functionality with plugins

Asset Types

Configure asset type hierarchies

Bulk Operations

Efficiently manage multiple items

Build docs developers (and LLMs) love