CURATE
Curate: A Full-Stack Application for Artwork Exploration
Curate is a dynamic full-stack application developed over a three-week sprint for the Flatiron School's Full Stack Software Engineering program. It is designed to interactively visualize and manage artwork data provided by the Metropolitan Museum of Art's API, enriching the user's museum experience through digital engagement.
Project Concept
Curate leverages the vast collection of the Metropolitan Museum of Art to allow users to explore artworks currently on exhibition by gallery number. The application features a user-friendly interface that enables visitors to create custom collections, curate their own maps for museum visits, and even engage in a unique scavenger hunt that promotes exploration of different galleries.
Features and Functionality
- Interactive Map Display: Users can navigate through different galleries via an interactive map, visualizing the location and details of each artwork.
- Artwork Search and Management: The application integrates with the Met's API to enable detailed searches and allows users to save artworks, view them later, and organize them into personalized collections.
- Scavenger Hunt: To add an element of fun and discovery, Curate generates a list of random artworks from unique galleries, offering users a scavenger hunt experience within the museum.
Technical Implementation
- Frontend: The frontend is built with React JS, utilizing D3.js for dynamic SVG map manipulation, which enables smooth and interactive transitions and artwork representations on the museum map.
- Backend: The backend is developed using Flask and SQLAlchemy with a SQLite database, effectively handling requests for artwork data and user interactions. This setup facilitates the efficient storage and retrieval of user data and artwork information.
- Artwork Data Integration: Curate integrates real-time data from the Metropolitan Museum of Art's API, enhancing the search functionality and ensuring users have access to up-to-date information on exhibitions and artworks.
Challenges and Solutions
One of the key challenges was managing the complex data relationships between users, their collections, and artworks. By utilizing SQLAlchemy's ORM capabilities, we efficiently mapped these relationships, ensuring robust and scalable data management.
In summary, Curate not only makes museum visits more interactive and informative but also provides a platform for users to express their artistic interests and preferences through curated collections and planned visits. More information about the Met's open API can be explored here.