Giter Site home page Giter Site logo

wojciechmarek / the-canvas-paint Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 757 KB

The classic paint app powered by a native html canvas element.

Home Page: https://the-canvas-paint.vercel.app

TypeScript 97.60% HTML 0.77% JavaScript 0.18% CSS 1.45%
canvas emotion lucide-icons material-design ms-paint mui nx paint paintbrush react

the-canvas-paint's Introduction

The Canvas Paint

A simple canvas paint app.

Purpose

To practice the usage of canvas HTML element, React, TypeScript, Material UI, and other technologies.

Features

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

Demo

The live demo is available at https://the-canvas-paint.vercel.app/.

Screenshot

The Canvas Paint with a demo image ๐Ÿ˜Ž:

demo

Material Design

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.

Used technologies

  • ๐ŸŽ 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

How to run

  1. Install Node.js.
  2. Clone the repository.
  3. Type and run: npm i in the root directory.
  4. Type and run: npm run dev in the root directory.
  5. Open http://localhost:4200 in your browser to see the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.