Choodle is a simple mobile-first doodling app that publishes to the blockchain. By enabling creative expression and ownership, Choodle seeks to bring the advantages of web3 technologies to typical users without friction.
- Optimized for drawing on mobile touchscreens
- "Undo" functionality to remove last line stroke from canvas
- Text-based prompt for drawing, updatable via CMS (Sanity)
- Ability to save a black-and-white, aliased image with a 3:4 aspect ratio
- Image saved with unique browser ID
- Native sharing via "share" button allows user to save image, share via messaging application of choice, etc.
Choodle consists of three main parts: the progressive web app client, a Sanity Studio instance, and the smart contract for holding a collection of Choodles as on-chain ERC721 tokens.
frontend
: built with SvelteKit.choodle-cms
: a Sanity Studio application for viewing stored choodles, and static content for the interface.contracts
: the smart contract that holds the collection of choodles.
To use the web client, run pnpm dev
in the frontend/
directory, and connect to it
on [http://localhost:5173/]
To use Sanity Studio, run pnpm dev
in the choodle-cms/
directory, and connect to it on [http://localhost:3333/]
We use Hardhat for building and testing smart contract code, and OpenZeppelin
Use hardhat tasks to deploy smart contracts to local / testnet / mainnet as needed. We host the PWA and sanity client on Vercel, which has an easy configuration for automatically deploying Sveltekit based on repo updates.
If you'd like to contribute to this project, please follow the steps below.
- Fork the repository
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit them:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature-name
- Submit a pull request
This project is licensed under the MIT License.
Contact
- Email: [email protected]
- Website: choodle.xyz
- Twitter: @choodlexyz
- Instagram: @choodlexyz
Friends