Skip to content

luloxi/PunkSociety

Repository files navigation

🤘 PunkSociety is a forkable social dapp.

  • 🤹‍♂️ Posts can have text, image and links.
  • 💬 Like, comment and share posts.
  • 🫂 Follow other users.
  • 🔔 Receive notifications on activity.
  • 💌 Message other users and join group chats
  • 🧑‍🦽 Accessibility for visually impaired users

🤘 Roadmap

🐣 Phase 1 (MVP)

  • Create PunkPosts contract
  • Create ProfileInfo contract for users to register their info
  • Post creation page
  • User profile page
  • View other users profiles

👥 Phase 2 (Social Activity and Indexing)

✍️ Phase 3 (Gasless activity)

  • Signatures: Allow users to interact with the platform without paying gas fees
  • Database: To store and retrieve EIP 712 signatures (Reference: grants.buidlguidl.com)
  • Whitelist: Optional system to validate users to prevent spam

💌 Phase 4 (Direct messages)

  • Direct messages: Allow users to send messages to each other
  • Group chats: Allow users to create and join group chats

🧑‍🦽 Phase 5 (Accessibility)

🤘 Development

🛠️ Technical details

⚙️ Built using Foundry, NextJS, RainbowKit, Wagmi, Viem, and Typescript,

🔗 To be deployed on EVM compatible chains

📥 To see current development tasks, see here

📚 Prerequisites

👨‍🏫 Instructions

To get started follow the steps below:

  1. Open a terminal and run this commands to clone this repo and install dependencies:
git clone https://github.com/luloxi/PunkSociety.git
cd PunkSociety
yarn install
  1. After everything is installed, run this command to start a local blockchain network:
yarn chain

This command starts a local Ethereum network using Foundry. The network runs on your local machine and can be used for testing and development.

  1. 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)

  2. Open a second terminal, navigate to PunkSociety and run this command to deploy the test contract:

yarn deploy

This 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.

  1. Go to packages/nextjs/scaffold.config.ts and comment out targetNetworks: [chains.arbitrum] and uncomment targetNetworks: [chains.foundry]

  2. Open a third terminal, navigate to PunkSociety and run this command to start your NextJS app:

yarn start

Visit your app on: http://localhost:3000. You can interact with your smart contract using the Debug Contracts page.

About

Forkable social dapp | Built with Scaffold-ETH 2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published