singodiyashubham87 / Draw-it-out

An online Whiteboard application built using ReactJS & TailwindCSS utilising the HTML5 Canvas & the JavaScript Canvas API.
https://draw-it-out.vercel.app
MIT License
82 stars 162 forks source link

No option to save or export drawings: [FEAT] #39

Closed aviral-hub closed 2 months ago

aviral-hub commented 4 months ago

Problem: Users currently lack the ability to save or export their drawings from the website. This limitation prevents them from preserving their work and sharing it with others, resulting in frustration and inconvenience.

Solution: Implement a feature that allows users to save their drawings directly from the website. Additionally, provide options for exporting drawings in various file formats (such as PNG, JPEG, or SVG) to facilitate sharing and compatibility with different devices and software.

Alternative Solutions:

  1. Integration with cloud storage services (e.g., Google Drive, Dropbox) to enable automatic saving and backup of drawings.
  2. Implementing a "Download" button that allows users to export their drawings directly to their device.
  3. Providing a "Share" button that generates a shareable link or allows users to share their drawings directly to social media platforms.

Additional Context: Adding this feature would greatly enhance the user experience, empowering users to preserve their creative work and share it with others effortlessly. It would also contribute to the overall usability and competitiveness of the website by addressing a common user need.

porwalshreyaa commented 4 months ago

Hey, please assign this issue to me.

singodiyashubham87 commented 4 months ago

@aviral-hub Are you interested in working on the issue?

Aanya10Mishra commented 4 months ago

i am interested....please assign this to me.

Bhumika1312 commented 4 months ago

Hi @singodiyashubham87,

Could you please assign the task related to issue resolution to me? I am eager to work on it.

Here are the steps I plan to take:

  1. Add two buttons to the HTML. One button will clear the canvas, and the other will save the drawing.
  2. Make some changes in the JavaScript to set up event listeners for mouse events.

Thank you.

DownOnCoffee commented 4 months ago

Please assign me this task, I am an experienced frontend developer. I have worked with exporting and saving files before thus It will be an easy task for me!

krishna-singha commented 4 months ago

I am interested in this issue please assign to me

SapanaDashoni15 commented 4 months ago

@singodiyashubham87 Hello,

I like this project idea and wants to work on this project. Kindly assign me this issue under GSSoc'24.

codebreaker3008 commented 4 months ago

@singodiyashubham87 Could you assign this to me, as I can help you as I have an idea what to do here

singodiyashubham87 commented 4 months ago

@aviral-hub Since you haven't replied till now, I'm assigning the issue to the next interested person.

singodiyashubham87 commented 4 months ago

@Aanya10Mishra I've assigned you the issue, Best of Luck!

Aanya10Mishra commented 4 months ago

Thanks a lot @singodiyashubham87...looking forward to it! BTW whom do I have to ask in case of any doubt

singodiyashubham87 commented 4 months ago

@Aanya10Mishra You can tag me on the GSSOC server. Soon there will be a separate channel for Draw-it-out, after that you can ask all your doubts and queries there only. Me or the mentors will assist you.

singodiyashubham87 commented 4 months ago

@Aanya10Mishra Are you working on the issue or should I assign it to the next contributor?

Aanya10Mishra commented 4 months ago

yeah...i am working on it.

Aanya10Mishra commented 4 months ago

hey @singodiyashubham87 how may i get in contact with you? I'm little confused.

singodiyashubham87 commented 4 months ago

@Aanya10Mishra Yeah, Sure. You can reach me out on discord (#singodiyashubham87) or the mentor ( #0xabdulkhalid )

singodiyashubham87 commented 3 months ago

@Aanya10Mishra It's been 2 weeks any update?

Bhumika1312 commented 3 months ago

@singodiyashubham87 Can you please assign this issue to me I also want to work on this issue under GSSOC'24

singodiyashubham87 commented 3 months ago

I am unassigning due to inactivity.

singodiyashubham87 commented 3 months ago

@Bhumika1312 How are you going to implement the export drawing feature?

Bhumika1312 commented 3 months ago

@singodiyashubham87 Here are the steps I plan to take:

  1. Add two buttons to the HTML. One button will clear the canvas, and the other will save the drawing.
  2. Make some changes in the JavaScript to set up event listeners for mouse events.

I will try my best to complete this task

singodiyashubham87 commented 3 months ago

@Bhumika1312 Both these functionalities for clearing the canvas & saving the drawing are already there, We need a feature to share the drawing with someone.

porwalshreyaa commented 3 months ago

We need a feature to share the drawing with someone

By saving it in drive? Can I take this?

singodiyashubham87 commented 3 months ago

@porwalshreyaa Hold on, Please. If Bhumika is not ready to take up the issue then I will pass it on to you.

Bhumika1312 commented 3 months ago

@singodiyashubham87 I will follow these steps: Step 1: Add a button to share the drawing. Step 2: When the share button is clicked, use JavaScript to convert the canvas drawing to a data URL. Step 3: Use the data URL to display the drawing in a new tab or allow the user to download it.

singodiyashubham87 commented 3 months ago

@Bhumika1312 But we don't want the image to open in a new tab or to download the image. We want to share it with someone, for instance, I created something & I want to share it with my friend I want a button to click and the drawing is saved somewhere (ex. drive) & then I'll get a link to share with my friend.

Bhumika1312 commented 3 months ago

We can use a cloud storage API, like Google Drive API, directly from your JavaScript to implement this.

porwalshreyaa commented 3 months ago

@Bhumika1312 If you are unsure then we can collab on this issue.

porwalshreyaa commented 3 months ago

@Bhumika1312 But we don't want the image to open in a new tab or to download the image. We want to share it with someone, for instance, I created something & I want to share it with my friend I want a button to click and the drawing is saved somewhere (ex. drive) & then I'll get a link to share with my friend.

If you allow it, I and Bhumika can together complete this feature.

singodiyashubham87 commented 3 months ago

@porwalshreyaa @Bhumika1312 Very well then, I'm assigning you both the issue. You both can make co-author commits & when you create a PR, Do mention me & ask me to assign that PR to both of you. Best of Luck :)

Bhumika1312 commented 3 months ago

@singodiyashubham87 Sure and Thank you

porwalshreyaa commented 3 months ago

@Bhumika1312 ping me on discord, we'll chat there.

Bhumika1312 commented 3 months ago

@Bhumika1312 ping me on discord, we'll chat there. Can you provide me your discord id

porwalshreyaa commented 3 months ago

Can you provide me your discord id

anonymousfrog