A comprehensive digital platform for discovering, curating, and managing personal art exhibitions using APIs from the Harvard Art Museums and the Metripolitan Museum of Art.
- Multi-Museum Search: Browse artworks from Metropolitan Museum of Art and Harvard Art Museums
- Advanced Filtering: Filter by medium, culture, department, date range, and image availability
- Pagination: Navigate through search results with Previous/Next controls
- Detailed Views: Explore high-resolution artwork images and comprehensive metadata
- Personal Collections: Create and manage custom exhibitions with your favorite artworks
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Accessibility: Full keyboard navigation and screen reader support
- Real-time Search: Instant search results with loading states and error handling
- Persistent Storage: Your exhibitions are saved locally and persist between sessions
The application is deployed on GitHub Pages and can be accessed at:
🔗 The Error Display - Live Demo
- Node.js 18+
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/jakr-s/the-error-display cd the-error-display -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Add your Harvard Art Museums API key to
.env:VITE_HARVARD_API_KEY=your_api_key_here -
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
- Frontend Framework: React 19 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- State Management: TanStack Query (React Query)
- HTTP Client: Axios
- Icons: Lucide React
- UI Components: Headless UI
- Storage: Local Storage API
- Endpoint:
https://collectionapi.metmuseum.org/public/collection/v1/ - Authentication: None required
- Features: Search, object details, high-resolution images
- Endpoint:
https://api.harvardartmuseums.org/RESOURCE_TYPE?apikey=YOUR_API_KEY - Authentication: API key required
- Features: Advanced search, detailed metadata, multiple collections
- Use the search bar to find artworks by title, artist, or keywords
- Apply filters to narrow down results:
- Medium: Painting, sculpture, photography, etc.
- Culture: Geographic or cultural origin
- Department: Museum department or collection
- Date Range: Creation period
- Has Image: Show only artworks with available images
- Click "My Exhibitions" in the navigation
- Click "Create New Exhibition"
- Enter exhibition title and description
- Start adding artworks from search results
- Add Artworks: Click the "+" button on artwork cards
- Remove Artworks: Use the "×" button in exhibition view
- Edit Exhibitions: Modify title and description anytime
- Delete Exhibitions: Remove entire collections
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
| Variable | Description | Required |
|---|---|---|
VITE_HARVARD_API_KEY |
Harvard Art Museums API key | Yes |
- Metropolitan Museum: No documented limits
- Harvard Art Museums: 2,500 requests per day
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Add tests if applicable
- Commit your changes:
git commit -m 'Add feature' - Push to the branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.