devwums/DeWordle

A decentralized, blockchain-based word-guessing game built on the Stellar ecosystem. It merges the fun and challenge of Wordle with the transparency and security of blockchain technology.

★ 0Forks 0TypeScriptGitHub ↗Compare

Project website ↗

README

DeWordle

CI Test Coverage License: MIT Stellar

DeWordle is an open-source word game platform migrating to a Soroban-native architecture in the Stellar ecosystem.

Table of Contents

Overview

DeWordle is being migrated from a traditional backend-driven architecture toward a Soroban-native design on Stellar.

The current repository contains:

  • A Next.js frontend with Stellar wallet integration.
  • A NestJS backend providing indexer and read-model infrastructure.
  • A Soroban Rust workspace containing the migration-target contracts.
  • A TypeScript Soroban SDK consumed by the frontend.
  • PostgreSQL-backed projections generated from indexed Soroban events.
  • Legacy Cairo contracts retained under onchain/ for reference.

Architecture

The migration architecture separates on-chain game state and transactions from backend indexing and frontend read models.

flowchart LR
    F[Next.js Frontend] --> W[Stellar Wallet / Soroban SDK]
    W -->|Transactions| C[Soroban Contracts]
    C -->|Events via RPC| I[NestJS Indexer]
    I --> P[(PostgreSQL)]
    I -->|REST Read Models| F
Loading

Main components

Component Role
frontend/ Next.js application, wallet integration, and user-facing game experience
backend/ NestJS API and Soroban event indexer
soroban/ Rust Soroban workspace and migration-target contracts
soroban/sdk/ts/ TypeScript SDK used by the frontend
onchain/ Legacy Cairo contracts retained for reference
PostgreSQL Stores indexed projections and backend read models
Stellar / Soroban Hosts the migration-target smart contracts

For the detailed migration architecture, see Soroban Foundation Architecture.

Gameplay

The repository includes automated gameplay coverage for the core win flow.

The end-to-end test opens the game, enters the target word, submits the guess, and verifies that the win dialog is displayed.

Gameplay screenshot: Add a real screenshot or GIF from the running application here before closing the README issue.

Once the asset is added, use:

![DeWordle gameplay](./docs/assets/gameplay.png)

Quick Start

Frontend

Install the frontend dependencies:

npm ci --prefix frontend

Start the Next.js development server:

npm run dev --prefix frontend

The development server runs at http://localhost:3000.

Backend

Install the backend dependencies:

npm ci --prefix backend

Start the NestJS development server:

npm run start:dev --prefix backend

Soroban

Run the Soroban workspace check:

npm run soroban:check

Docker Compose

The repository includes a root docker-compose.yml for the local PostgreSQL, Redis, backend, frontend, and Soroban RPC services.

The intended one-line startup command is:

docker compose up --build

Before using it, configure the required environment files for the Compose services. The current Compose configuration references backend/Dockerfile.dev and backend/.env.local; these files are not present in the current repository checkout and should be reconciled before treating the Compose stack as a clean-checkout quickstart.

Validation

Run the maintained frontend validation suite:

npm run verify:frontend

Run the maintained backend validation suite:

npm run verify:backend

Validate the Soroban workspace:

npm run soroban:check

Repository Layout

.
├── backend/       # NestJS API and indexer
├── frontend/      # Next.js application
├── soroban/       # Soroban Rust workspace
├── onchain/       # Legacy Cairo contracts
├── shared/        # Shared project code
├── infra/         # Infrastructure configuration
├── docs/          # Architecture, development, and contributor documentation
├── e2e/           # End-to-end tests
├── scripts/       # Repository automation and development utilities
├── docker-compose.yml
├── LICENSE
└── package.json

Documentation

License

DeWordle is released under the MIT License.

Contributors

BigBen-7kike-altIbinolajackcameranodependabot[bot]clintjeff2yusuftomilolaphertyameenHyzeahAchunghanottherealalanturingFahmedoHassan-oladipupoportableDDCedarichPeterOcheLaGodxykhaadishKAMALDEEN333NteinPreciousOthmanImamSudiptaPaul-31shamoo53ryzen-xpgiafratteajumobiisaac96walexjnrTinna23JoeX17Thommyy7devzakari-sketch

Issues