giant-bot

byThompsonguy

Build a full-stack mobile-first web app called "CelebHub" — a global celebrity discovery platform covering actors, musicians, athletes, and public figures across Hollywood, Bollywood, Chinese cinema, K-pop, and international sports. Frontend: Home screen — search bar, category filter chips (Actors, Musicians, Athletes, All), scrollable trending celebrity cards (avatar, name, role, country, trending tag) Search screen — live search with debounced input Celebrity profile page — photo, bio, birth date, nationality, profession, filmography/discography, social links, "similar celebrities" section, bookmark toggle Favorites page — saved celebrities per logged-in user Auth pages — email/Google sign-in Design: dark theme (#0B0A09 background, #C9A227 gold accent), rounded cards, bold display typography, mobile-first responsive layout Backend: FastAPI (or equivalent) service with REST endpoints for celebrities, search, favorites Postgres database with tables: celebrities (id, name, category, country, birth_year, bio, tag, photo_url, social_links), users, favorites (user_id, celebrity_id) Integration layer that pulls and caches data from TMDb API (actors), Wikipedia/Wikidata API (general public figures), and MusicBrainz API (musicians) — sync job to refresh cache periodically rather than hitting rate limits live Auth with email + Google OAuth Unit and integration tests for the API layer Infra: Standard Docker/CI setup for deployment, health checks on the API.

HomeProfileSearchAuthFavorites
Home

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

System Requirements Document for giant-bot

Introduction

The project "giant-bot" aims to create a comprehensive system for managing and delivering a mobile-first web application called "CelebHub." This platform will serve as a global celebrity discovery tool, covering a wide range of public figures from various entertainment and sports industries.

System Overview

The "giant-bot" project will develop a full-stack application that allows users to discover and explore celebrities across different categories such as actors, musicians, and athletes. The application will feature a responsive design optimized for mobile devices, providing users with an engaging and intuitive experience. The backend will be powered by FastAPI, with a PostgreSQL database to manage celebrity data and user interactions.

Page 2 of 4

Functional Requirements

  • As a User, I should be able to search for celebrities using a search bar on the home screen.
  • As a User, I should be able to filter celebrities by categories such as Actors, Musicians, and Athletes.
  • As a User, I should be able to view trending celebrity cards with details like avatar, name, role, country, and trending tag.
  • As a User, I should be able to perform live searches with debounced input on the search screen.
  • As a User, I should be able to view a celebrity profile page with photo, bio, birth date, nationality, profession, filmography/discography, social links, and a "similar celebrities" section.
  • As a User, I should be able to bookmark celebrities and view them on a Favorites page.
  • As a User, I should be able to sign in using email or Google OAuth.
  • As a User, I should see similar celebrities based on the same category (actors, musicians, athletes).
  • As a Developer, I should be able to set up a FastAPI service with REST endpoints for celebrities, search, and favorites.
  • As a Developer, I should be able to integrate with external APIs like TMDb, Wikipedia/Wikidata, and MusicBrainz for data synchronization.
  • As a Developer, I should be able to implement a sync job to refresh cached data periodically.
  • As a Developer, I should be able to perform unit and integration tests for the API layer.
  • As a Developer, I should be able to deploy the application using Docker with CI setup and perform health checks on the API.

User Personas

  • Guest User: Can browse and search for celebrities but cannot bookmark or save favorites.
  • Registered User: Can perform all actions of a Guest User and additionally bookmark celebrities and view saved favorites.
  • Admin: Can manage celebrity data, user accounts, and oversee API integrations.

Core User Flows

  • Guest User visits the home screen -> searches for a celebrity -> views profile -> explores similar celebrities.
  • Registered User logs in -> searches for a celebrity -> bookmarks a celebrity -> views Favorites page.
  • Admin logs in -> updates celebrity data -> manages user accounts -> monitors API health.
Page 3 of 4

Visuals Colors and Theme

  • primary: #0B0A09 (dark theme background)
  • primary_light: #2E2B28 (lighter tint for hover states)
  • secondary: #C9A227 (gold accent for emphasis)
  • accent: #FF5733 (vibrant pop color for CTAs)
  • highlight: #FFC300 (warm color for notifications)
  • bg: #0B0A09 (page background color)
  • surface: rgba(43, 42, 41, 0.8) (card/panel background)
  • text: #FFFFFF (primary text color)
  • text_muted: #B0B0B0 (softer color for secondary text)
  • border: rgba(201, 162, 39, 0.2) (subtle border color)

Signature Design Concept

The homepage of "CelebHub" will feature an interactive galaxy map where each star represents a celebrity. Users can click on a star to open a celebrity profile card, drag to rotate the galaxy, and hover to highlight connections between celebrities of the same category. This dynamic and engaging interface will be built using @react-three/fiber and @react-three/drei for 3D interactions, providing a unique and memorable user experience.

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, creating a layered depth effect as users scroll through the content. Decorative elements such as atmospheric blobs and particle fields will move at different speeds, enhancing the storytelling aspect of the platform. Internal pages will adopt a "static" model to prioritize layout clarity and reading speed.

Page 4 of 4

Non-Functional Requirements

  • The system must support high concurrency to handle global traffic.
  • The application should be optimized for mobile devices with a responsive layout.
  • The backend must ensure data consistency and integrity across all integrations.
  • The system should provide a seamless user experience with minimal latency.

Tech Stack

  • Frontend: React for Web
  • Backend: FastAPI
  • Database: PostgreSQL
  • Integration: TMDb API, Wikipedia/Wikidata API, MusicBrainz API
  • Infrastructure: Docker, CI/CD setup

Assumptions and Constraints

  • The application will initially focus on basic category matching for similar celebrities.
  • Future upgrades may include more sophisticated matching algorithms.
  • The system will rely on external APIs for celebrity data, subject to their rate limits and availability.

Glossary

  • Debounced Input: A technique to limit the rate at which a function is executed.
  • OAuth: An open standard for access delegation, commonly used for token-based authentication.
  • Parallax: A design technique where background images move slower than foreground images, creating an illusion of depth.
Home design preview
Auth: Sign In
Admin: View Dashboard
Admin: Manage Celebrities
Admin: Edit Celebrity Data
Admin: Sync Celebrity Data
Admin: Manage Users
Admin: Edit User Account
Admin: Monitor API Health
Admin: View Sync Logs