Build a mobile-responsive web application called "BookSoc," a social network designed for book lovers that replaces viral videos with viral literary quotes. The design aesthetic should be "Dark Academia" meets modern minimalism—think cream-colored paper backgrounds, deep charcoal text, terracotta accents, and sage green highlights. Use serif fonts for quotes (like Playfair Display) and clean sans-serif fonts for UI elements.
Core Features & Views:
- Navigation:
- A sidebar for desktop and a bottom navigation bar for mobile.
- Tabs: Feed (Home), Discover, and Profile.
- A prominent "Serendipity" button (represented by a sparkle icon) that opens a modal to display a random "magic" quote.
- Home Feed (The Core Experience):
- Two tabs at the top: "Curated" (official content) and "Community" (user posts).
- Quote Cards: The main content unit. Each card should feature a large, elegant literary quote. Below the quote, include a "Book Chip" showing the book cover, title, and author. Clicking the quote or chip opens the Book Detail view.
- Social Actions: Like (Heart), Comment, Share, and Save buttons on every card.
- User Attribution: For Community posts, show the user's avatar and name. For Curated posts, label it as a "Curated Selection."
- Book Detail View (Modal/Overlay):
- When a user clicks a book, open a detailed overlay.
- Show the book cover (large), title, author, star rating, publication year, genres (as tags), and a synopsis.
- Actions: "Preview," "Share," and a distinct "Buy on Bookshop" button that links to an external search.
- Discover Page:
- Weekly Challenges: A horizontal scroll/carousel of reading challenges (e.g., "The Classics Revival") with progress bars and participant counts.
- Author Spotlight: A grid showing featured authors with their bios and verification badges.
- Genre Tags: A section to browse quotes by genre (e.g., Dark Academia, Philosophy).
- Profile Page:
- A simple placeholder profile showing a user avatar, name, bio (e.g., "Bibliophile"), and a grid of stats.
Data & functionality:
- Pre-populate the app with rich dummy data:
- At least 8 distinct books (mix of Classics like Great Gatsby and modern hits like Addie LaRue).
- At least 5 different fictional users with avatars.
- 10+ quotes, mixed between curated and community uploads.
- No authentication is required; assume a logged-in state for "Elara V."
- The "Serendipity" feature should just pick a random quote from the dummy data after a fake loading delay to simulate an AI generation.