A simple canvas paint app.
To practice the usage of canvas HTML element, React, TypeScript, Material UI, and other technologies.
The current version of the app supports the following features:
- Drawing on the canvas
- Changing the tool: pen, brush, spray, blur, eraser
- Changing the tool's color
- Changing the tool's size
- Previewing the tool's size and color
The live demo is available at https://the-canvas-paint.vercel.app/.
The Canvas Paint with a demo image 😎:
This app is designed according to the Material Design guidelines, but... it's not following them strictly.
The whole Material Design system provides a lot of components, not only atomic ones but also the most primitive ones like Box
, Stack
and Grid
which is a regular <div>
with some predefined display properties.
The application uses only atomic components (such as Buttons, Inputs, etc.) and some more complete which are not easy to implement from scratch (like ColorPicker or Menu). The primary scaffold is based on the native div
elements and corresponding CSS styles.
- 🎁 Repository: mono-repository by NX
- 🌈 Framework: react
- 🛠️ Tools: any specific tools at the moment
- 🎨 Styling: React Material UI, styled-components by emotion from MUI, lucide icons
- 💎 Others: desktop-first approach, canvas HTML element
- Install Node.js.
- Clone the repository.
- Type and run:
npm i
in the root directory. - Type and run:
npm run dev
in the root directory. - Open
http://localhost:4200
in your browser to see the app.