{"id":23557474,"url":"https://github.com/barkprotocol/nft-marketplace","last_synced_at":"2025-07-02T16:38:50.898Z","repository":{"id":268507886,"uuid":"844854234","full_name":"barkprotocol/nft-marketplace","owner":"barkprotocol","description":"BARK is a decentralized NFT marketplace and staking platform built on the Solana blockchain. It allows users to mint, buy, sell, and stake unique digital assets.","archived":false,"fork":false,"pushed_at":"2025-05-15T16:29:53.000Z","size":2773,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T23:41:21.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barkprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-20T05:15:30.000Z","updated_at":"2024-12-28T13:02:13.000Z","dependencies_parsed_at":"2024-12-17T07:47:38.393Z","dependency_job_id":"7520e749-6581-43bc-91ad-cef54f35e23a","html_url":"https://github.com/barkprotocol/nft-marketplace","commit_stats":null,"previous_names":["barkprotocol/nft-marketplace"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/barkprotocol/nft-marketplace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barkprotocol%2Fnft-marketplace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barkprotocol%2Fnft-marketplace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barkprotocol%2Fnft-marketplace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barkprotocol%2Fnft-marketplace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barkprotocol","download_url":"https://codeload.github.com/barkprotocol/nft-marketplace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barkprotocol%2Fnft-marketplace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263177152,"owners_count":23425911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-26T14:30:56.435Z","updated_at":"2025-07-02T16:38:50.875Z","avatar_url":"https://github.com/barkprotocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BARK | NFT Marketplace (MVP)\n\n![BARK Hero](public/images/hero.png)\n\nBARK Protocol’s NFT marketplace and staking platform is built on the Solana blockchain, providing an innovative way for users to interact with digital assets. The platform allows minting, buying, selling, customizing, and staking NFTs with efficiency and creativity.\n\n---\n\n## Frontend\n\nThe frontend is a Next.js application written in TypeScript. It includes key components and pages for wallet integration, NFT marketplace, staking, and rewards claiming. The frontend communicates with the Solana blockchain using the Solana Web3.js library.\n\n### Core Components\n\n**Wallet Context:**\n- Manages wallet connections and disconnections using the `@solana/wallet-adapter-react` library.\n- Provides a context to share the wallet state across the application.\n- Supports Phantom, Solflare, and Backpack wallets.\n\n**NFT Staking Page:**\n- Allows users to stake NFTs to earn rewards.\n- Users connect their wallet, input the NFT mint address, and stake the NFT.\n- A mock transaction is sent to the Solana blockchain as a placeholder for actual staking logic.\n\n**Claim Rewards Page:**\n- Allows users to claim rewards accumulated from staked NFTs.\n- Rewards are transferred back to the user’s wallet in the form of fungible tokens.\n\n**Wallet Connection Management:**\n- Provides an interface for users to connect and disconnect from their wallets.\n- Displays the wallet address once connected.\n\n---\n\n## Features\n\n- **Mint Compressed NFTs or Standard NFTs**\n- **Browse and Purchase Listed NFTs**\n- **Stake NFTs to Earn Rewards**\n- **User Profiles**: View owned NFTs and transaction history\n- **Wallet Integration**: Supports Solflare, Metamask, Phantom, and Backpack\n- **Responsive Design**: Built with Tailwind CSS and Shadcn/ui components\n\n---\n\n## NFT Staking System\n\nThe BARK NFT Staking System allows users to stake their NFTs, earn rewards in fungible tokens, and interact with the Solana blockchain through a simple, user-friendly web interface built with Next.js and TypeScript.\n\nThis system supports Solana wallet integrations (e.g., Phantom, Solflare, Backpack) and utilizes the Solana Web3.js library to manage blockchain interactions. The architecture is designed to be scalable, modular, and highly interactive, offering features such as staking NFTs, claiming rewards, and wallet integration.\n\n---\n\n## NFT Minting Process\n\n### 1. **Create \u0026 Mint**\n- Customize your NFT with a **title**, **description**, **royalties**, and text overlays.\n- Choose between **standard** and **compressed NFTs**.\n- Upload and personalize your NFT image directly in the interface.\n- Mint **multiple NFTs** in a single transaction (up to 10).\n\n### 2. **Quick Mint**\n- Rapidly mint up to **100 NFTs** using pre-set configurations.\n- Ideal for creating **larger collections** quickly.\n\n### 3. **Image Customization**\n- Upload your own images or use the default **BARK icon**.\n- Add **background variations**, **text overlays**, and more.\n- Preview your customized NFT before minting.\n\n### 4. **Minting Progress**\n- Real-time **progress bar** for tracking the minting process.\n- Clear **success** and **error notifications** for a smooth experience.\n\n### 5. **Social Sharing**\n- Share your newly minted NFTs on **social media platforms**.\n- Generate **Solana Pay links** for quick and easy NFT purchases.\n\n### 6. **Claim Process**\n- Seamlessly claim pre-allocated NFTs using **unique claim codes**.\n\n---\n\n## How It Works\n\n1. **Creating an NFT**\n   - Navigate to the \"Create \u0026 Mint\" tab.\n   - Fill in details (title, description, royalties, type).\n   - Upload and customize your image.\n   - Set the quantity (1-100).\n   - Click **\"Mint NFT\"** to begin.\n\n2. **Quick Minting**\n   - Go to the \"Quick Mint\" tab.\n   - Select quantity and NFT type.\n   - Click **\"Quick Mint\"** for instant minting.\n\n3. **Claiming an NFT**\n   - Access the \"Claim\" tab.\n   - Enter your **unique claim code**.\n   - Click **\"Claim NFT\"** to receive it.\n\n4. **Social Sharing**\n   - After minting, use sharing options to showcase your NFT.\n   - Generate and share **Solana Pay links** for purchasing.\n\n---\n\n## Architecture\n\n### Solana Blockchain Integration:\n- **Solana Web3.js** is used for interacting with the Solana blockchain, allowing the frontend to mint NFTs, send transactions, and stake NFTs.\n- **Anchor Framework** is employed for building smart contracts (programs) on Solana.\n  \n### Backend:\n- The backend utilizes **Supabase** for storing user data and NFT metadata. Prisma ORM is used to interact with the PostgreSQL database.\n- The **Anchor Program** handles NFT minting, staking, and rewards logic directly on the Solana blockchain.\n\n### Staking and Rewards:\n- NFTs can be staked to earn rewards, which are fungible tokens sent back to the user's wallet.\n- Staking is handled via smart contracts deployed on the Solana blockchain.\n  \n### User Experience:\n- The frontend is built using **Next.js** with **TypeScript** for type safety and **Tailwind CSS** for responsive design.\n- **Shadcn/ui components** are used to simplify UI development and ensure consistency across the platform.\n\n---\n\n## Technologies Used\n\n- **Next.js** 15.1.0 with App Router\n- **React** 19\n- **TypeScript**\n- **Solana Web3.js**\n- **Anchor Framework**\n- **Prisma ORM**\n- **Supabase** (PostgreSQL database)\n- **Tailwind CSS**\n- **Shadcn/ui components**\n- **Lucide icons**\n\n---\n\n## Prerequisites\n\n- Node.js (v18 or later)\n- npm, pnpm, or yarn\n- Solana CLI tools\n- A Solana wallet (e.g., Solflare, Metamask, Phantom, Backpack)\n\n---\n\n## Installation\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/bark-protocol/nft-marketplace.git\ncd nft-marketplace\n```\n\n### 2. Install Dependencies\n```bash\npnpm install\n# or\nyarn install\n```\n\n### 3. Set Up Environment Variables\nCreate a `.env.local` file and add:\n```env\nDATABASE_URL=your_supabase_postgres_url\nNEXT_PUBLIC_SOLANA_RPC_HOST=your_solana_rpc_url\n```\n\n### 4. Run Database Migrations\n```bash\nnpx prisma migrate dev\n```\n\n### 5. Build the Anchor Program\n```bash\ncd lib/programs/nft-marketplace\nanchor build\n```\n\n### 6. Deploy the Anchor Program\nDeploy to your desired Solana network (localnet, devnet, or mainnet-beta):\n```bash\nanchor deploy\n```\n\n---\n\n## Usage\n\n1. **Start the Development Server**\n   ```bash\n   pnpm run dev\n   # or\n   yarn dev\n   ```\n\n2. **Access the Application**\n   Open your browser and navigate to `http://localhost:3000`.\n\n3. **Connect Your Wallet**\n   Use the **Connect Wallet** button in the header to link your Solana wallet.\n\n4. **Explore the Marketplace**\n   - Mint new NFTs\n   - Buy or sell NFTs\n   - Stake NFTs for rewards\n\n---\n\n## Prisma Configuration\n\n1. **Install Prisma**\n   ```bash\n   pnpm install prisma --save-dev\n   pnpm install @prisma/client\n   ```\n\n2. **Initialize Prisma**\n   ```bash\n   npx prisma init\n   ```\n\n3. **Generate Prisma Client**\n   ```bash\n   npx prisma generate\n   ```\n\n4. **Apply Migrations**\n   ```bash\n   npx prisma migrate dev --name init\n   ```\n\n5. **Test Prisma Client**\n   Create a script (`scripts/test-prisma.ts`) and run:\n   ```bash\n   npx ts-node scripts/test-prisma.ts\n   ```\n\n---\n\n## Contributing\n\nWe welcome contributions! Fork the repository and submit a pull request to help improve the platform.\n\n---\n\n## Documentation\n\n![Project documentation]:(/document)\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarkprotocol%2Fnft-marketplace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarkprotocol%2Fnft-marketplace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarkprotocol%2Fnft-marketplace/lists"}