├── .env ├── .github └── workflows │ └── go.yml ├── .gitignore ├── Dockerfile ├── Jenkinsfile ├── Makefile ├── PROBLEM.md ├── README.md ├── adapters └── rest │ ├── handlers │ ├── handlers.go │ ├── leaderboard.go │ └── metadata.go │ ├── middleware │ └── logging.go │ └── server.go ├── cmd ├── events.go ├── init.go └── main.go ├── config.yaml ├── docker-compose.yml ├── docs ├── docs.go ├── read-flow.png ├── screenshot-1.png ├── screenshot.png ├── swagger.json ├── swagger.yaml └── write-flow.png ├── frontend ├── .env ├── .eslintrc.json ├── .gitignore ├── README.md ├── components.json ├── jsconfig.json ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── public │ ├── next.svg │ └── vercel.svg ├── src │ ├── app │ │ ├── favicon.ico │ │ ├── globals.css │ │ ├── layout.js │ │ ├── page.js │ │ ├── providers.js │ │ └── store.js │ ├── components │ │ ├── command-bar.js │ │ ├── leaderboard.js │ │ ├── theme-provider.js │ │ ├── theme-toggle.js │ │ └── ui │ │ │ ├── badge.jsx │ │ │ ├── breadcrumb.jsx │ │ │ ├── button.jsx │ │ │ ├── card.jsx │ │ │ ├── command.jsx │ │ │ ├── dialog.jsx │ │ │ ├── dropdown-menu.jsx │ │ │ ├── input.jsx │ │ │ ├── popover.jsx │ │ │ ├── sheet.jsx │ │ │ ├── skeleton.jsx │ │ │ ├── sonner.jsx │ │ │ ├── table.jsx │ │ │ ├── tabs.jsx │ │ │ ├── toast.jsx │ │ │ ├── toaster.jsx │ │ │ ├── tooltip.jsx │ │ │ └── use-toast.js │ └── lib │ │ └── utils.js └── tailwind.config.js ├── go.mod ├── go.sum ├── internal ├── buffer │ ├── buffer.go │ └── buffer_test.go ├── config │ └── config.go ├── consumers │ ├── base.go │ └── trade.go ├── manager │ └── manager.go ├── producers │ ├── base.go │ └── trade.go ├── storage │ ├── operations │ │ ├── operations.go │ │ └── redis.go │ ├── storage.go │ └── storage_test.go └── symbols │ └── symbols.go └── models └── models.go /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/.env -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/Dockerfile -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/Jenkinsfile -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/Makefile -------------------------------------------------------------------------------- /PROBLEM.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/PROBLEM.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/README.md -------------------------------------------------------------------------------- /adapters/rest/handlers/handlers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/adapters/rest/handlers/handlers.go -------------------------------------------------------------------------------- /adapters/rest/handlers/leaderboard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/adapters/rest/handlers/leaderboard.go -------------------------------------------------------------------------------- /adapters/rest/handlers/metadata.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/adapters/rest/handlers/metadata.go -------------------------------------------------------------------------------- /adapters/rest/middleware/logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/adapters/rest/middleware/logging.go -------------------------------------------------------------------------------- /adapters/rest/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/adapters/rest/server.go -------------------------------------------------------------------------------- /cmd/events.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/cmd/events.go -------------------------------------------------------------------------------- /cmd/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/cmd/init.go -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/cmd/main.go -------------------------------------------------------------------------------- /config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/config.yaml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/docs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/docs.go -------------------------------------------------------------------------------- /docs/read-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/read-flow.png -------------------------------------------------------------------------------- /docs/screenshot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/screenshot-1.png -------------------------------------------------------------------------------- /docs/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/screenshot.png -------------------------------------------------------------------------------- /docs/swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/swagger.json -------------------------------------------------------------------------------- /docs/swagger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/swagger.yaml -------------------------------------------------------------------------------- /docs/write-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/docs/write-flow.png -------------------------------------------------------------------------------- /frontend/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/.env -------------------------------------------------------------------------------- /frontend/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/components.json -------------------------------------------------------------------------------- /frontend/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/jsconfig.json -------------------------------------------------------------------------------- /frontend/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/next.config.mjs -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/postcss.config.mjs -------------------------------------------------------------------------------- /frontend/public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/public/next.svg -------------------------------------------------------------------------------- /frontend/public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/public/vercel.svg -------------------------------------------------------------------------------- /frontend/src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/favicon.ico -------------------------------------------------------------------------------- /frontend/src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/globals.css -------------------------------------------------------------------------------- /frontend/src/app/layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/layout.js -------------------------------------------------------------------------------- /frontend/src/app/page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/page.js -------------------------------------------------------------------------------- /frontend/src/app/providers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/providers.js -------------------------------------------------------------------------------- /frontend/src/app/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/app/store.js -------------------------------------------------------------------------------- /frontend/src/components/command-bar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/command-bar.js -------------------------------------------------------------------------------- /frontend/src/components/leaderboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/leaderboard.js -------------------------------------------------------------------------------- /frontend/src/components/theme-provider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/theme-provider.js -------------------------------------------------------------------------------- /frontend/src/components/theme-toggle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/theme-toggle.js -------------------------------------------------------------------------------- /frontend/src/components/ui/badge.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/badge.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/breadcrumb.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/breadcrumb.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/button.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/button.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/card.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/card.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/command.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/command.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/dialog.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/dialog.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/dropdown-menu.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/dropdown-menu.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/input.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/input.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/popover.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/popover.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/sheet.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/sheet.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/skeleton.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/skeleton.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/sonner.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/sonner.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/table.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/table.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/tabs.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/tabs.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/toast.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/toast.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/toaster.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/toaster.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/tooltip.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/tooltip.jsx -------------------------------------------------------------------------------- /frontend/src/components/ui/use-toast.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/components/ui/use-toast.js -------------------------------------------------------------------------------- /frontend/src/lib/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/src/lib/utils.js -------------------------------------------------------------------------------- /frontend/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/frontend/tailwind.config.js -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/go.sum -------------------------------------------------------------------------------- /internal/buffer/buffer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/buffer/buffer.go -------------------------------------------------------------------------------- /internal/buffer/buffer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/buffer/buffer_test.go -------------------------------------------------------------------------------- /internal/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/config/config.go -------------------------------------------------------------------------------- /internal/consumers/base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/consumers/base.go -------------------------------------------------------------------------------- /internal/consumers/trade.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/consumers/trade.go -------------------------------------------------------------------------------- /internal/manager/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/manager/manager.go -------------------------------------------------------------------------------- /internal/producers/base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/producers/base.go -------------------------------------------------------------------------------- /internal/producers/trade.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/producers/trade.go -------------------------------------------------------------------------------- /internal/storage/operations/operations.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/storage/operations/operations.go -------------------------------------------------------------------------------- /internal/storage/operations/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/storage/operations/redis.go -------------------------------------------------------------------------------- /internal/storage/storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/storage/storage.go -------------------------------------------------------------------------------- /internal/storage/storage_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/storage/storage_test.go -------------------------------------------------------------------------------- /internal/symbols/symbols.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/internal/symbols/symbols.go -------------------------------------------------------------------------------- /models/models.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pratikdaigavane/trading-leaderboard/HEAD/models/models.go --------------------------------------------------------------------------------