All projects
NestJSGraphQLTypeORMVue 3StripeMySQL

Exalty

A website for an esport team - showcasing players, their in-game ranks, and selling team merchandise, powered by a NestJS GraphQL API with Stripe payments and a Vue 3 frontend.

2023
Exalty homepage with team logo on dark esport background

Overview

Exalty is the official website for an esport team. It presents the roster with each player’s profile and current in-game rank, and includes a merch store for fans to buy team gear.

Architecture

Two-app structure with a NestJS GraphQL API backed by TypeORM + MySQL, and a Vue 3 frontend consuming it via graphql-request with TanStack Vue Query for caching.

Stack

  • API: NestJS, Apollo GraphQL, TypeORM, MySQL, Stripe, Passport/JWT
  • Frontend: Vue 3, GraphQL, TanStack Vue Query, Vee-validate, Stripe.js
  • Codegen: @graphql-codegen for typed operations
Team roster - player jerseys with roles
Merch shop - custom jerseys with Stripe checkout
Membership tiers - Cotisant, Adherent, Adherent Premium