Skip to content

Commit

Permalink
adds tusky integration info to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
zanuka committed Jan 6, 2025
1 parent 39522cc commit b9a0f9d
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 40 deletions.
48 changes: 46 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,45 @@ LeaderPort products will use [Walrus](https://docs.walrus.site/) for decentraliz
2. Integration with Sui wallet for transactions
3. Proper error handling for storage operations

## LeaderPort concept
### Achievement Storage with [Tusky.io](https://tusky.io/blog/15-reasons-to-build-with-tusky-api)

LeaderPort leverages Tusky's enhanced API layer over Walrus to provide a robust achievement and leaderboard storage solution. While Walrus handles the core decentralized storage, Tusky adds critical features that align with our platform needs:

### Key Integration Benefits

1. **Structured Achievement Management**
- Organized file system for achievement badges and metadata
- Hierarchical storage for different game/competition categories
- Efficient bulk uploads for achievement batches

2. **Enhanced Security & Access Control**
- End-to-end encryption for private achievements
- Vault-based access management for team leaderboards
- Token-gated achievement collections (coming soon)
- Magic link sharing for temporary leaderboard access

3. **Developer-Friendly Implementation**
- JavaScript SDK for seamless frontend integration
- Webhook support for real-time achievement updates
- CLI tools for bulk achievement management
- Automated storage epoch management

4. **Performance Optimization**
- CDN-backed achievement asset delivery
- Edge-optimized caching for leaderboard data
- Chunked uploads for large achievement batches
- Resumable uploads for reliable data transfer

### Future Capabilities

- NFT minting integration for achievement tokens
- Long-term achievement storage through Epoch Vaults
- Cross-chain achievement gating (Sui, Ethereum, Solana)
- Crypto payment support for premium features

## Why LeaderPort

As I explored this new idea during Christmas break, I needed a name. [leaderport.io](https://leaderport.io) was available and it was close enough to what I was trying to build, perhaps even a bit too literal. It will work for now and we can always rebrand in the future if needed.

- The "Port" in LeaderPort suggests both a gateway/portal and a place where important information docks/arrives
- It serves as a central hub where different types of leadership data converge
Expand All @@ -153,7 +191,9 @@ LeaderPort products will use [Walrus](https://docs.walrus.site/) for decentraliz
- Fitness: "Top performer tracking for health goals"
- Business: "Sales leaderboards and performance metrics"

Product Description: LeaderPort transforms your browser into a command center for real-time rankings. Whether you're tracking top-performing stocks, leading sports scores, trending cryptocurrencies, or competitive metrics, LeaderPort serves as your all-in-one portal to performance leadership. With customizable dashboards and instant updates, you'll always know what's leading the pack across any domain that matters to you.
### Product Description / Elevator Pitch

LeaderPort transforms your browser into a command center for real-time rankings. Whether you're tracking top-performing stocks, leading sports scores, trending cryptocurrencies, or competitive metrics, LeaderPort serves as your all-in-one portal to performance leadership. With customizable dashboards and instant updates, you'll always know what's leading the pack across any domain that matters to you.

## Browser Extension Strategy

Expand Down Expand Up @@ -246,3 +286,7 @@ This project is licensed under the [Apache License, Version 2.0](LICENSE).
Copyright (c) 2024-present, Mike Delucchi :: Zanuka Labs






76 changes: 38 additions & 38 deletions docs/leaderport-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,48 +58,48 @@ leaderport/

### Phase 1: Web Application Foundation
1. **Initial Setup**
```typescript
// apps/web/app/page.tsx
export default function Home() {
return (
<main>
<section className="hero">
<h1>Welcome to LeaderPort</h1>
<div className="cta-container">
<ConnectWalletButton />
<Link href="/leaderboard">View Public Leaderboards</Link>
</div>
</section>
</main>
);
}
```
```typescript
// apps/web/app/page.tsx
export default function Home() {
return (
<main>
<section className="hero">
<h1>Welcome to LeaderPort</h1>
<div className="cta-container">
<ConnectWalletButton />
<Link href="/leaderboard">View Public Leaderboards</Link>
</div>
</section>
</main>
);
}
```

2. **Core Routes**
```
/ # Home with login/public options
/leaderboard # Public leaderboard view
/connect # Wallet connection flow
/dashboard # Authenticated user dashboard
```
```
/ # Home with login/public options
/leaderboard # Public leaderboard view
/connect # Wallet connection flow
/dashboard # Authenticated user dashboard
```

3. **Shared Component Architecture**
```typescript
// packages/ui/components/LeaderboardView/index.tsx
export interface LeaderboardViewProps {
data: LeaderboardData;
isAuthenticated?: boolean;
onScoreSelect?: (score: Score) => void;
}

export function LeaderboardView({
data,
isAuthenticated,
onScoreSelect
}: LeaderboardViewProps) {
// Shared leaderboard UI logic
}
```
```typescript
// packages/ui/components/LeaderboardView/index.tsx
export interface LeaderboardViewProps {
data: LeaderboardData;
isAuthenticated?: boolean;
onScoreSelect?: (score: Score) => void;
}

export function LeaderboardView({
data,
isAuthenticated,
onScoreSelect
}: LeaderboardViewProps) {
// Shared leaderboard UI logic
}
```

### Phase 2: Extension Integration
- Reuse core components
Expand Down

0 comments on commit b9a0f9d

Please sign in to comment.