Skip to main content

1.2 - Project Structure

This section describes the recommended project structure for integrating player-map.

src/
├── constants/
│ └── playerMapConstants.ts # Constants for player-map
├── contexts/
│ └── WalletContext.tsx # Privy, Wagmi, React Query configuration
├── components/
│ └── PlayerMapView.tsx # Component using GraphComponent
├── App.tsx # Application entry point
└── main.tsx # Main file (if Vite)

.env # Environment variables
package.json # Project dependencies

Folder organization

src/constants/

Contains configuration constants for player-map:

  • playerMapConstants.ts: Configuration of IDs, guilds, claims, etc.

src/contexts/

Contains required React contexts:

  • WalletContext.tsx: Provider configuration (Privy, Wagmi, React Query)

src/components/

Contains application components:

  • PlayerMapView.tsx: Main component integrating GraphComponent from player-map

Configuration files

.env

File containing environment variables (should not be committed):

  • VITE_PRIVY_APP_ID
  • VITE_PINATA_JWT_KEY
  • VITE_IPFS_GATEWAY

package.json

Contains project dependencies and build scripts.

Important points

  • Separation of concerns: Each file has a specific role
  • Modular organization: Facilitates maintenance and updates
  • Centralized configuration: Constants are grouped in a single file