Presence is Proof-Of-Presence Platform where community creators issue proof-of-presence NFTs to community members and grow their communities while community members receive NFTs and prove their presence.
Presence combines on-chain and off-chain infrastructure creating a hybrid model that allows:
- Community Creators to:
- Create communities and manage them
- Create NFTs corresponding to different levels
- Manage users allowed to mint these NFTs
- Create viewable links, polls (off-chain voting) and proposal (on-chain voting) accessible by only specified level NFT holders.
- Create and share mint link and qr.
- Upload images and metadata.json to ipfs
- Vweify Presence of a user
- Community Members to:
- Explore and Join Communities
- Mint proof-of-presence NFTs
- Vote on proposals and polls
- Access links and documents
- Gain on-chain and off-chain points
- Verify creators
The app version is more user focused allowing most of the features of user for web version :
- See NFTs
- Mint NFTs
- Verify a solana account's presence
- See links accessible by NFT based on level.
- Vote on polls and proposals.
- Check account info
- Blockchain: Solana
- Database: Supabase
- Solana Programs: Rust, Anchor
- Storage: IPFS for metadata and media files
- Frontend: Next.js, Tailwind CSS
- Frontend: Expo, Typescript
- Node.js
- npm or yarn
- Solana wallet
- Anchor
-
Clone the repository
-
Navigate to project folder
-
Install dependencies:
npm install --legacy-peer-depsor
yarn install- .env: Copy .env.example to .env and enter the variables
- On web version, start the development server and pen http://localhost:3000 with your browser to see the DApp :
npm run dev- On the app version, first setup to launch the app on either an emulator or connect to an android device using cable. More info in readme of ./presence-app
Use expo's commands to run the app (Ensure you have set up correctly before launching app i.e. setting sdk.dir in android/local.properties etc).
npm run androidFor any queries or questions, reach https://github.com/ShivRaiGithub (sshaktirai@gmail.com)