Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PawnNexus

PawnNexus is a community-driven website for sharing and discovering Dragon's Dogma 2 pawns.

The project was created to fill the gap left by the original PawnGuild, which never expanded to Dragon's Dogma 2. The goal isn't to replace it, but to provide a modern alternative focused on the current game while keeping the experience simple and familiar.

The website allows players to register their pawns, browse other players' companions, search using different filters, and keep their pawn information up to date.

Features

  • User accounts with JWT authentication
  • Email verification and password recovery
  • Create, edit and manage pawn listings
  • Multiple images per pawn
  • Automatic image optimization (WebP/JPEG)
  • Community moderation system
  • Admin dashboard
  • Activity tracking
  • Responsive interface
  • Cloudflare-based infrastructure

Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS

Backend

  • Cloudflare Workers
  • Hono
  • D1 Database
  • R2 Storage
  • Resend
  • JWT Authentication

Infrastructure

PawnNexus runs entirely on Cloudflare services.

  • Cloudflare Pages
  • Cloudflare Workers
  • Cloudflare D1
  • Cloudflare R2

This keeps operational costs extremely low while providing a globally distributed infrastructure.

Development

The repository contains separate production and development environments.

Development environment:

  • Dedicated Worker
  • Dedicated D1 database
  • Separate Cloudflare Pages deployment

Changes are tested in the development environment before being deployed to production.

Running locally

git clone https://github.com/rRopelato/PawnNexus.git

cd PawnNexus

npm install

npm run dev

The frontend and Worker can also be started independently:

npm run dev:frontend
npm run dev:worker

Syncing Dev Data

Use this before starting a new development block when you want the dev site to contain the same users and pawns as production:

npm run sync-dev

What it does:

  • Reads data from the production D1 database pawnnexus.
  • Writes only to the development D1 database pawnnexus-dev.
  • Applies pending dev migrations before syncing, so the dev schema is ready.
  • Clears dev application tables before copying production rows.
  • Preserves IDs, timestamps, roles, pawn status, email verification fields, image URLs, and pawn data.
  • Keeps d1_migrations intact.
  • Does not modify production data.
  • Does not copy R2 images because dev and production use the same R2 bucket.
  • Does not send emails.
  • Does not copy active email verification or password reset tokens.

For non-interactive usage, pass the explicit confirmation flag:

npm run sync-dev -- --yes

Environment

The project requires Cloudflare resources and a few environment variables.

Examples include:

JWT_SECRET
RESEND_API_KEY
EMAIL_FROM
APP_BASE_URL
PUBLIC_IMAGE_BASE_URL

Production secrets are intentionally not included in this repository.

Contributing

Suggestions, bug reports and pull requests are always welcome.

If you find an issue or have an idea for improving the project, feel free to open an Issue or submit a Pull Request.

License

This project is licensed under the MIT License.

Disclaimer

PawnNexus is a fan-made project created by the community.

Dragon's Dogma and Dragon's Dogma 2 are trademarks of Capcom. This project is not affiliated with or endorsed by Capcom.

About

A pawn hub for Capcom's game Dragon's Dogma 2

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages