Skip to main content

Database Collections Setup

Create Database

  1. Go to Appwrite Console → Databases
  2. Click Create Database
  3. Set ID: portfolio_db
  4. Name: Portfolio Database

Core Collections

blogs

Main blog posts collection.
AttributeTypeSizeRequired
titleString255Yes
categoryString100Yes
descriptionString500Yes
thumbnailUrlString2000Yes
galleryUrlsString[]2000No
likesInteger-No
featuredBoolean-No
fullDescriptionString100000Yes
customSlugString255Yes
authorNamesString[]255No
authorImagesString[]2000No
publishDateString50Yes
Indexes:
  • slug_idx (unique) on customSlug
  • category_idx on category
  • featured_idx on featured

projects

Portfolio projects collection.
AttributeTypeSizeRequired
titleString255Yes
categoryString100Yes
descriptionString500Yes
thumbnailUrlString2000Yes
galleryUrlsString[]2000No
likesInteger-No
featuredBoolean-No
fullDescriptionString100000Yes
customSlugString100Yes
useProjectPrefixBoolean-Yes
projectLinkString2000No
projectDetailsString[]500No

products

Shop products collection.
AttributeTypeSizeRequired
nameString255Yes
priceFloat-Yes
discountedPriceFloat-No
onSaleBoolean-No
featuredBoolean-No
imageUrlString2048No
categoryString255No
tagsString[]-No
descriptionString10000No
additionalInfoString10000No
galleryUrlsString[]-No

orders

Customer orders collection.
AttributeTypeSizeRequired
orderIdString100Yes
customerIdString50Yes
customerNameString200No
customerEmailString200Yes
itemsString10000Yes
subtotalFloat-Yes
discountFloat-No
couponCodeString50No
totalFloat-Yes
statusString20Yes
paypalOrderIdString100No
Status values: placed, processing, completed, cancelled URL shortener collection.
AttributeTypeSizeRequired
customPathString100Yes
destinationUrlURL-Yes
previewImageUrlURL-No
titleString255No
descriptionString500No
isActiveBoolean-Yes
clickCountInteger-No
createdAtDatetime-Yes
Indexes:
  • customPath_idx (unique) on customPath

Category Collections

For blog_categories, project_categories, shop_categories:
AttributeTypeSizeRequired
nameString100Yes
colorString20No
orderInteger-No

Settings Collections

header_section

AttributeTypeSizeRequired
nameString100Yes
rolesString[]100No
descriptionString1000No
nameFontString200No
rolesFontString200No
descriptionFontString200No

custom_fonts

AttributeTypeSizeRequired
nameString100Yes
fileIdString100Yes
fileUrlString2000Yes