Skip to content

oagesus/cryptocompete

Repository files navigation

CryptoCompete Logo
CryptoCompete

The ultimate crypto trading simulator for competitive traders

Website · Features · Tech Stack · Architecture · MIT License

License .NET 10 Next.js 16 TypeScript 5 PostgreSQL


CryptoCompete is an open-source cryptocurrency trading simulator where each user starts with €10,000 in virtual funds to trade real cryptocurrencies at live market prices. Build your portfolio, sharpen your strategies, and compete against traders worldwide on a global leaderboard — all without any financial risk.

Try it live at cryptocompete.net

Features

  • Risk-Free Trading — Start with €10,000 in virtual funds and trade real cryptocurrencies without financial risk.
  • Live Prices — Real-time price updates so you always trade at current market rates.
  • Price History Charts — Analyze interactive historical charts to spot trends and refine your strategy.
  • Price Alarms — Set target prices and get notified by email when they're hit.
  • Global Leaderboard — Compete against traders worldwide and climb the rankings.
  • Portfolio Analytics — Track holdings, profit/loss, and overall performance at a glance.
  • Google Sign-In — Log in with your Google account or register with email and password.

Tech Stack

Frontend

Technology Purpose
Next.js 16 React framework with App Router
TypeScript 5 Type safety
Tailwind CSS 4 Utility-first styling
shadcn/ui + tweakcn UI components, theming, and charts
next-intl Internationalization (en-US, de-DE)

Backend

Technology Purpose
ASP.NET Core 10 Web API framework
Entity Framework Core 10 ORM and data access
PostgreSQL Relational database
SignalR Real-time WebSocket communication
JWT Token-based authentication
BCrypt Password hashing

External Services

Service Purpose
Binance API Live prices and historical price charts
CoinMarketCap API Market cap and price change stats
Frankfurter API Currency exchange rates
Google OAuth Google Sign-In
PayPal Subscription billing
Resend Transactional emails

Architecture

CryptoCompete follows a monorepo structure with a clear separation between the frontend and backend.

CryptoCompete/
├── cryptocompete-web/              # Next.js frontend
│   ├── app/                        # App Router pages & API routes
│   │   ├── auth/                   #   Authentication (login, register, etc.)
│   │   ├── dashboard/              #   Portfolio dashboard
│   │   ├── trade/                  #   Buy, sell & price alarms
│   │   ├── leaderboard/            #   Global rankings
│   │   └── account/                #   Settings, billing, profiles
│   ├── components/                 # React components & UI primitives
│   ├── hooks/                      # Custom React hooks
│   ├── lib/                        # Utilities (auth, crypto, currency, etc.)
│   ├── messages/                   # i18n translation files
│   └── providers/                  # React context providers
│
└── cryptocompete-api/              # ASP.NET Core backend
    ├── Controllers/                # REST API endpoints
    ├── Services/                   # Business logic & background services
    ├── Models/                     # EF Core entity models
    ├── Hubs/                       # SignalR hubs (real-time prices)
    ├── Data/                       # Database context & configuration
    └── Migrations/                 # EF Core database migrations

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors