modBrowse is a Shiny UI module for the Artalytics platform that provides interactive collection browsing with artwork cards, filtering, sorting, and statistics display. It is designed to be embedded in appPlatform, not deployed as a standalone application.
Installation
# Requires GITHUB_PAT for private repo access
pak::pkg_install("artalytics/modBrowse")Environment Variables
modBrowse inherits environment variables from its dependencies:
Database (via artcore): - ART_PGHOST - PostgreSQL host - ART_PGPORT - PostgreSQL port (default: 5432) - ART_PGUSER - Database user - ART_PGPASS - Database password
CDN (via artcore): - ART_BUCKETS_KEY_ID - DigitalOcean Spaces key ID - ART_BUCKETS_KEY_SECRET - Spaces secret key
See dependency package READMEs for full variable documentation.
Quick Example
library(shiny)
library(bslib)
library(modBrowse)
ui <- bslib::page_fluid(
modBrowseUI("browse")
)
server <- function(input, output, session) {
r <- reactiveValues(
artist = "746b8207-72f5-4ab6-8d19-a91d03daec3d"
)
observe({
r$appdata <- artutils::get_appdata(r$artist, r$artwork)
})
modBrowseServer("browse", r)
}
shinyApp(ui, server)Package Hierarchy
appPlatform (main application)
|
modBrowse, modGallery, modFrames, ... (Shiny modules)
|
artutils (data access layer)
|
artcore (infrastructure: DB, CDN)
modBrowse depends on artutils, artcore, and artshiny. It is used by appPlatform.
Key Features
- Collection Navigation - Browse artworks organized into themed collections
- Filtering - NFT status, prints available, listed for sale, variants
- Sorting - By creation date, brush strokes, or drawing time
- Statistics - Collection metrics with premium value boxes
- Responsive Design - Desktop checkbox filters, mobile select dropdown
- Dark Mode - Bootstrap 5 theme support
Documentation
- Get Started - Module overview
- Developer Guide - Integration workflow
- Module Architecture - Internal design
- Function Reference - Complete API
