{"id":21107160,"url":"https://github.com/luloxi/basedshop","last_synced_at":"2026-04-11T01:09:12.794Z","repository":{"id":257909884,"uuid":"872095054","full_name":"luloxi/BasedShop","owner":"luloxi","description":"E-commerce dApp to sell products without intermediaries 🛍️","archived":false,"fork":false,"pushed_at":"2024-12-14T17:12:47.000Z","size":5138,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T03:41:51.435Z","etag":null,"topics":["ecommerce","foundry","nextjs","react","scaffold-eth-2","solidity","typescript"],"latest_commit_sha":null,"homepage":"https://basedshop.vercel.app/","language":"Solidity","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/luloxi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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}},"created_at":"2024-10-13T19:05:38.000Z","updated_at":"2024-12-17T17:47:44.000Z","dependencies_parsed_at":"2024-11-20T00:46:34.973Z","dependency_job_id":null,"html_url":"https://github.com/luloxi/BasedShop","commit_stats":null,"previous_names":["luloxi/basedshop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luloxi%2FBasedShop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luloxi%2FBasedShop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luloxi%2FBasedShop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luloxi%2FBasedShop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luloxi","download_url":"https://codeload.github.com/luloxi/BasedShop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243551248,"owners_count":20309300,"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":["ecommerce","foundry","nextjs","react","scaffold-eth-2","solidity","typescript"],"created_at":"2024-11-20T00:36:17.286Z","updated_at":"2026-04-11T01:09:12.745Z","avatar_url":"https://github.com/luloxi.png","language":"Solidity","readme":"E-commerce dApp to sell products without intermediaries 💰\n\n# 🛍️ Features\n\n- 💰 **Multiple payment methods**: Pay with native gas (ETH) or with USDC.\n- 📈 **Revenue dashboard**: Track and analyze your revenue and spending\n- 🤹‍♂️ **Articles media**: Articles can have text, image, audio, video and links\n- 🔔 **Notifications**: Receive alerts on activity\n- 💌 **Messaging**: Private messaging to communicate between seller and buyer\n- 🎨 **Profile customization**: Users can customize their profile\n- 📱 **Web 2.5 login**: Social login options with Web2 platforms (Google, Twitter, etc.)\n- 🎧 **Accessibility support**: ARIA compliant for screen readers and other assistive technologies\n\n# 🛍️ Roadmap\n\n## 🐣 Phase 1 (MVP)\n\n- ✅ **Integrate OnchainKit for Basenames and FundButton** (Reference: [OnchainKit](https://onchainkit.xyz/) | [OnchainKit extension for Scaffold-ETH 2](https://github.com/scaffold-eth/create-eth-extensions/tree/onchainkit))\n- ✅ **BasedArticles contract:** To register articles info\n- ✅ **BasedProfile contract:** To register users bio and email\n- ✅ **BasedShop contract:** To manage products and sales\n- ✅ **Article creation tool**\n- ✅ **User profile page**\n- ✅ Enable options for sharing on other platforms\n- ✅ Enable bookmarking articles\n- ✅ **Search**: By address, ENS or basename\n\n## 💰 Phase 2 (Shop features)\n\n- **Individual article viewer**\n- **Escrow system**: Hold funds until the buyer confirms the purchase\n- **Dashboard Insights**: Track and analyze revenue\n- **Stablecoin payment methods:** Pay with native gas or with `$USDC`. (Reference: [Easy2Pay](https://github.com/luloxi/Easy2Pay))\n- **Categories**: Categorize articles, filter by category and search by category\n\n## 📈 Phase 3 (Indexing and notifications)\n\n- **Integrate The Graph to index activity** and save RPC calls (Reference: [Bootstrap a Full Stack Modern dapp using the Scaffold-ETH CLI and Subgraph Extension](https://siddhantk08.hashnode.dev/bootstrap-a-full-stack-modern-dapp-using-the-scaffold-eth-cli-and-subgraph-extension) | [The Graph tool for creating a subgraph](https://thegraph.com/docs/en/developing/creating-a-subgraph/))\n- **Notification system**: Receive alerts on activity\n- **Search by article name**\n\n## 💬 Phase 4 (Social enhancement)\n\n- Enable audio, video and links on articles\n- Enable following users and commenting on products (rating with stars)\n- **Customization**: Allow users to customize their profile appearance\n\n## 💌 Phase 5 (Communication)\n\n- **Direct messages:** Allow users to send private messages to each other\n\n## ✍️ Phase 6 (Gasless activity)\n\n- **Signatures:** Interact with the platform without paying gas fees\n- **Database:** To store and retrieve EIP 712 signatures (Reference: [SE-2 firebase-auth-extension](https://github.com/ByteAtATime/firebase-auth-extension))\n\n## 👨‍🦽 Phase 7 (Ease of use)\n\n- **Web 2.5 social login:** Sign up and log in with Google, Twitter, Instagram, etc\n- **Account abstraction**: Interact with the platform without having to sign every interaction.\n- **Accesibility support**: For the hearing and visually impaired, the app should be ARIA compliant to support screen readers and other assistive technologies (Reference: [ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA))\n- **Multi-language support**: Switch between languages\n- **Educational Content**: Include step-by-step guides and tutorials\n\n# 🛍️ Development\n\n## 🛠️ Technical details\n\n⚙️ Currently built using [Scaffold-ETH 2](https://scaffoldeth.io/), [Foundry](https://book.getfoundry.sh/), [OnchainKit](https://onchainkit.xyz/), [Pinata](https://pinata.cloud/), [Vercel](https://vercel.com/), [NextJS](https://nextjs.org/), [RainbowKit](https://rainbowkit.com/), [Wagmi](https://wagmi.sh/), [Viem](https://viem.sh/), and [Typescript](https://www.typescriptlang.org/).\n\n🏦 Considering using protocols: [Circle USDC](https://www.circle.com/) as preferredd ERC20 payment method, [The Graph](https://thegraph.com/) for indexing events, [Chainlink](https://chain.link/) for price oracles, [Push Protocol](https://push.org/) for notifications and messages.\n\n📜 Considering using contracts: [ERC20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) and [ERC721](https://ethereum.org/en/developers/docs/standards/tokens/erc-721/), [Ownable](https://docs.openzeppelin.com/contracts/2.x/access-control) and [Upgradeable](https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable) from [OpenZeppelin](https://www.openzeppelin.com/) or [Solady](https://github.com/Vectorized/solady) for contract ownership. [EIP712 Signatures](https://eips.ethereum.org/EIPS/eip-712) for gasless stuff.\n\n🔗 To be deployed on Base\n\n📥 To see current development tasks, [see here](https://trello.com/b/j1HVwxL7/basedshop)\n\n## 📚 Prerequisites\n\n- [Node (\u003e= v18.17)](https://nodejs.org/en/download/package-manager)\n- Yarn ([v1](https://classic.yarnpkg.com/en/docs/install/#windows-stable) or [v2+](https://yarnpkg.com/getting-started/install))\n- [Git](https://git-scm.com/downloads)\n- [Foundry](https://book.getfoundry.sh/getting-started/installation)\n\n## 👨‍🏫 Instructions\n\nTo get started follow the steps below:\n\n1. Open a terminal and run this commands to clone this repo and install dependencies:\n\n```\ngit clone https://github.com/luloxi/BasedShop.git\ncd BasedShop\nyarn install\n```\n\n2. After everything is installed, run this command to start a local blockchain network:\n\n```\nyarn chain\n```\n\nThis command starts a local Ethereum network using Foundry. The network runs on your local machine and can be used for testing and development.\n\n3. Duplicate and rename `packages/foundry/.env.example` to `packages/foundry/.env` (you don't need to fill it out until deploying to a live network)\n\n4. Open a second terminal, navigate to `BasedShop` and run this command to deploy the test contract:\n\n```\nyarn deploy\n```\n\nThis command deploys a test smart contract to the local network. The contract is located in `packages/foundry/contracts` and can be modified to suit your needs. The `yarn deploy` command uses the deploy script located in `packages/foundry/script/Deploy.s.sol` to deploy the contract to the network. You can also customize the deploy script.\n\n5. Go to `packages/nextjs/scaffold.config.ts` and comment out `targetNetworks: [chains.sepolia]` and uncomment `targetNetworks: [chains.foundry]`\n\n6. Rename the `.env.example` to `.env` in the `packages/nextjs` folder.\n\n- [Log in or Create an account on Pinata](https://app.pinata.cloud/signin), then create a new project, and copy the **API Key** and the **Secret API Key** into the `.env` file's `NEXT_PUBLIC_PINATA_API_KEY` and `NEXT_PUBLIC_PINATA_SECRET_API_KEY` variables and save the file.\n- Get your [OnchainKit API Key here](https://portal.cdp.coinbase.com/products/onchainkit) and your [OnchainKit Project ID here](https://portal.cdp.coinbase.com/projects/), then copy them into the `.env` file's `NEXT_PUBLIC_ONCHAINKIT_API_KEY` and `NEXT_PUBLIC_CDP_PROJECT_ID` variables and save the file.\n\n7. Open a third terminal, navigate to `BasedShop` and run this command to start your NextJS app:\n\n```\nyarn start\n```\n\nVisit your app on: `http://localhost:3000`. You can interact with your smart contract using the `Debug Contracts` page.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluloxi%2Fbasedshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluloxi%2Fbasedshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluloxi%2Fbasedshop/lists"}