Skip to content

p-matt/sympoly-client

Repository files navigation

Sympoly Client

A React-based web application that provides insights into Polymarket prediction markets by analyzing top trader consensus and market statistics.

Screenshot 1 Screenshot 2

Overview

Sympoly Client is a modern frontend application that visualizes prediction market data from Polymarket, focusing on the behavior and positions of top traders. The application helps users identify market trends by analyzing what the most successful traders are betting on.

Features

  • Market Statistics Dashboard: View comprehensive statistics for active Polymarket prediction markets
  • Top Trader Analysis: Analyze positions and consensus among top-performing traders
  • Smart Consensus Metrics: Calculate consensus scores based on top trader positions
  • Real-time Search: Search through active markets with instant results
  • Market Details: Deep dive into individual market statistics and trader positions
  • Dark/Light Theme: Toggle between dark and light modes for comfortable viewing
  • Responsive Design: Optimized for desktop and mobile devices

Architecture

Frontend (This Repository)

Built with:

  • React 19 - UI framework
  • Vite - Build tool and development server
  • Tailwind CSS 4 - Styling
  • Framer Motion - Animations
  • Lucide React - Icons

Backend API

The application connects to a Python backend API that:

  • Fetches data from the Polymarket API
  • Processes and aggregates trader positions
  • Calculates consensus metrics
  • Uses Celery Beat for scheduled tasks to:
    • Periodically update market data
    • Refresh trader positions
    • Update rankings and statistics
    • Maintain data freshness without user intervention

Project Structure

sympoly-client/
├── public/              # Static assets
├── src/
│   ├── components/      # React components
│   │   ├── layout/      # Layout components (Header, Footer, Layout)
│   │   └── market/      # Market-specific components
│   ├── hooks/           # Custom React hooks
│   │   ├── useMarkets.js          # Hook for fetching market stats
│   │   ├── useMarketPositions.js  # Hook for fetching market positions
│   │   └── useSearchMarkets.js    # Hook for market search
│   ├── lib/             # Utilities and API client
│   │   ├── api.js       # API communication layer
│   │   └── utils.js     # Helper functions
│   ├── pages/           # Page components
│   │   └── Home.jsx     # Main application page
│   ├── providers/       # React context providers
│   │   ├── ThemeProvider.jsx       # Theme management
│   │   └── TopNTradersProvider.jsx # Top N traders context
│   ├── App.jsx          # Root component
│   └── main.jsx         # Application entry point
├── github/              # Documentation assets
└── package.json         # Dependencies and scripts

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Backend API running (see backend repository)

Installation

  1. Clone the repository:
git clone <repository-url>
cd sympoly-client
  1. Install dependencies:
npm install
  1. Configure environment variables: Create a .env file in the root directory:
VITE_API_URL=http://localhost:8000
  1. Start the development server:
npm run dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors