Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

StabilityNexus/Plaza

Open more actions menu

Repository files navigation

Stability Nexus Plaza

 

Static Badge

Telegram Badge    X (formerly Twitter) Badge    Discord Badge    Medium Badge    LinkedIn Badge    Youtube Badge


Plaza

Plaza is a map-first, on-chain coordination hub where anyone can create, explore, and contribute to location-anchored impact projects. Each project deploys its own ERC20 token, tracks contributors and volunteers on-chain, and can receive ETH contributions directly through the dApp.


Tech Stack

Plaza combines an App Router Next.js frontend with on-chain coordination primitives:

Frontend

  • Next.js 15 (App Router)
  • TypeScript
  • TailwindCSS + tailwind-merge + tailwindcss-animate
  • shadcn/ui primitives (Radix UI)
  • RainbowKit + wagmi + viem for wallet connectivity
  • Mapbox GL for interactive location selection
  • Framer Motion for motion design

Blockchain

  • Solidity smart contracts (Foundry)
  • OpenZeppelin (Ownable, ERC20, ReentrancyGuard)
  • PlazaFactory deploys per-project Plaza ERC20s that track fundraising and volunteering
  • Deployed on Scroll Sepolia (Chain ID 534351)

Getting Started

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm
  • MetaMask or any other web3 wallet browser extension
  • A Scroll Sepolia RPC endpoint and testnet funds for interactions
  • Mapbox access token (for the location picker)

Installation

The Next.js app lives in src/. The Solidity contracts live in contracts/.

1. Clone the Repository

git clone https://github.com/StabilityNexus/Plaza.git
cd Plaza/src

2. Install Dependencies

Using your preferred package manager:

npm install
# or
yarn install
# or
pnpm install

3. Configure Environment Variables

Create src/.env.local and set your Mapbox token:

NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your_actual_token_here

If you need a Mapbox token, see MAPBOX_SETUP.md for step-by-step guidance.

4. Run the Development Server

Start the app locally:

npm run dev
# or
yarn dev
# or
pnpm dev

5. Open your Browser

Navigate to http://localhost:3000 to see the application. The landing page renders the interactive Mapbox experience; use the Create Project and Explorer routes to deploy and browse on-chain projects.


Smart Contracts (Foundry)

Contracts live in contracts/:

  • PlazaFactory.sol deploys project-specific Plaza contracts and tracks creators and deployments.
  • Plaza.sol mints per-project ERC20 tokens, tracks contributors/volunteers, collects a protocol fee, and holds raised ETH until withdrawn by the project owner.

Common commands (from contracts/):

forge build
forge test
forge fmt

Contributing

We welcome contributions of all kinds! To contribute:

  1. Fork the repository and create your feature branch (git checkout -b feature/AmazingFeature).
  2. Commit your changes (git commit -m 'Add some AmazingFeature').
  3. Run the development workflow commands to ensure code quality:
    • npm run lint
    • npm run build
  4. Push your branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request for review.

If you encounter bugs, need help, or have feature requests:

  • Please open an issue in this repository providing detailed information.
  • Describe the problem clearly and include any relevant logs or screenshots.

We appreciate your feedback and contributions!

© 2025 The Stable Order.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.