Skip to content

hyogshin/kono-client

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

353 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Market Explorer
Maintainer Website Initial Commit
Last Updated Contributors License
Kono Platform Demo

Table of Contents

πŸ“– About the Project

Kono is a production-deployed crypto trading simulator that enabled users to practise trading with Β£10,000 in virtual assets. Built with enterprise-grade architecture, the platform demonstrates proficiency in modern full-stack development, real-time systems, and cloud infrastructure. The platform was successfully launched in March 2025 and served real users in production.

Business Problem Solved

  • Risk-free learning: Users mastered trading strategies without financial risk
  • Real market simulation: Live price feeds from 163+ cryptocurrencies via WebSocket
  • Gamification: Global rankings and performance tracking increased user engagement
  • Scalable architecture: Successfully supported concurrent users with Redis caching and microservices

Production Achievements

  • Featured as Disquiet Product of the Week #1 (Product Hunt alternative) with 4.9/5 user rating
  • 568 new users acquired with 447 active users during promotional period
  • Self-hosted trading competition with coffee prize to drive community engagement
  • 120 concurrent users at peak during event period
  • 10+ minutes average session time demonstrating strong user engagement
  • 89.3% scroll depth indicating minimal user drop-off throughout the application
Analytics tracked via Google Analytics and Microsoft Clarity
Trading Competition Poster

Live Period: 31 Mar - 3 May 2025

✨ Key Features

Feature Demonstrations

Real-Time Market Explorer Portfolio Management Dashboard
Market Explorer

Live price streaming for 163+ cryptocurrencies with WebSocket integration

Portfolio Management

Comprehensive wallet visualisation, transaction history, and performance analytics

Advanced Trading System Global Leaderboards
Trading Interface

Instant buy/sell execution with order history and real-time balance updates

Rankings

Redis-powered ranking system with daily and all-time performance tracking

User Customisation
Settings

Dark mode, i18n support (EN/KO), and personalised preferences

πŸš€ Technical Highlights

Frontend Excellence

  • Type-safe development: Full TypeScript implementation with strict type checking
  • Modern React patterns: Hooks, Context API, custom hooks for WebSocket management
  • Performance optimisation: Code splitting, lazy loading, memoisation
  • Responsive design: Mobile-first approach with Tailwind CSS
  • Internationalisation: i18n support for English and Korean markets

Backend Architecture

  • RESTful API design: Structured endpoints with proper HTTP semantics
  • Real-time data: WebSocket implementation for live price feeds
  • Caching strategy: Redis for high-performance data retrieval
  • Authentication: OAuth2 integration with secure JWT handling
  • Rate limiting: Protection against abuse and API throttling

DevOps & Infrastructure

  • CI/CD Pipeline: GitHub Actions for automated testing and deployment
  • Cloud hosting: AWS infrastructure (EC2, RDS, Elastic Beanstalk)
  • Monitoring: Prometheus + Grafana for observability
  • Database: MariaDB for transactional data with optimised queries

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React     │◄────►│ Spring Boot  │◄────►│   MariaDB   β”‚
β”‚  Frontend   β”‚      β”‚   Backend    β”‚      β”‚  Database   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                     β”‚
       β”‚                     β–Ό
       β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚              β”‚    Redis     β”‚
       β”‚              β”‚    Cache     β”‚
       β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Upbit     β”‚ ◄─── Real-time Price Updates (WebSocket)
β”‚   API       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Design Decisions:

  • Direct integration with Upbit WebSocket API for real-time cryptocurrency prices
  • Stateless API for horizontal scaling
  • Database optimisation with proper indexing
  • Redis caching strategy for frequently accessed data

πŸ› οΈ Technology Stack

Frontend
React TypeScript Tailwind

Backend
Spring Boot Java MariaDB Redis

DevOps & Tools
AWS GitHub Actions Prometheus Grafana

🚦 Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js >= 18.0.0
  • npm >= 9.0.0 or yarn >= 1.22.0
  • Git for version control
Installation
# Clone the repository
git clone https://github.com/hyogshin/kono-client.git
cd kono-client

# Install dependencies
npm install
# or using yarn
yarn install

# Set up environment variables
cp .env.example .env
# Edit .env with your configuration

# Start development server
npm run dev
# or
yarn dev

The application will be available at http://localhost:5173

Environment Variables
VITE_API_URL=your_backend_api_url
VITE_WS_URL=your_websocket_url

πŸ’» Usage

Development Commands
# Start development server with hot reload
npm run dev

# Build for production
npm run build

# Preview production build locally
npm run preview

# Run linter
npm run lint

# Run type checking
npm run type-check
Key User Flows
  1. Sign up β†’ Receive Β£10,000 virtual assets
  2. Browse markets β†’ View real-time prices for 163+ cryptocurrencies
  3. Execute trades β†’ Buy/sell with instant balance updates
  4. Track portfolio β†’ Monitor performance and transaction history
  5. Compete globally β†’ Climb the leaderboards

πŸ‘₯ Team

A collaborative 5 member team that successfully delivered a production-grade trading platform in 11 weeks.

Member Role Key Contributions
Hayden
Hayden
Frontend Lead, DevOps & PM WebSocket real-time integration, frontend architecture
Jenny
Jenny
Backend Engineer Ranking API, Redis caching, database optimisation
Keen
Keen
Full-stack Engineer Trading logic, API integration, full-stack features
Sep
Sep
Backend Engineer OAuth2 authentication, S3 architecture, API security
June
June
DevOps Engineer CI/CD pipeline, monitoring

πŸ“… Development Workflow

We follow industry-standard Agile methodologies with structured sprint cycles:

Sprint Timeline

Sprint Period Focus Key Deliverables
Planning 17/02 - 02/03/2025 Service planning & technical review Service concept, technology stack selection
Sprint 1 03/03 - 20/03/2025 MVP development setup API design, ERD, architecture, GitHub/server setup, Swagger documentation, CI/CD pipeline
Sprint 2 24/03 - 06/04/2025 Core feature development MVP completion, 1st production deployment (31/03)
Sprint 3 07/04 - 20/04/2025 Promotion & iteration User feedback integration, performance optimisation, feature updates
Sprint 4 21/04 - 03/05/2025 V2 release & maintenance Major update deployment, final optimisations, presentation prep

Development Practices

Agile Scrum API First ESLint Prettier Semantic Versioning Conventional Commits PR Reviews CI/CD Discord Sentry

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Reporting Issues
  • Use the issue tracker
  • Provide clear reproduction steps
  • Include environment details (OS, browser, Node.js version)
  • Add screenshots or error logs if applicable
Submitting Pull Requests
  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feat/amazing-feature
  5. Open a Pull Request with a clear description
Commit Convention

We follow Conventional Commits:

Type Description
feat New feature implementation
fix Bug fix
docs Documentation updates
style Code formatting (no logic changes)
refactor Code refactoring
test Adding or updating tests
chore Build process or auxiliary tool changes
perf Performance improvements

πŸ“„ License

This project is currently in active development. All rights reserved by the Kono team.

For commercial use or collaboration inquiries, please contact the team members.

About

πŸ“ˆ Cryptocurrency trading simulator

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.2%
  • JavaScript 1.8%
  • Other 1.0%