SharedNotebook banner

SharedNotebook

8 devlogs
12h 4m 1s

Shared Notebook is a collaborative scrapbook where anyone can leave their mark(writings). Click anywhere, and type, Use emoji stickers, GIFs, drag things around, change fonts and ink colors. There are also themes that update for all visitors when someone switches them!!!!

This project uses AI

I used ai for debugging and help me calculate the math stuff used in code ( like relative positions of the screen because i couldnt figured out how to make it work :”) )

Demo Repository

Loading README...

aneezakiran07

Shipped this project!

HI!!
So i build a shared notebook where anyone can write their thoughts, use stickers or gifs. also delete or edit others writings TT. The whole point of it was it being chaotic and fun to mess with!! I hope you guys use it for some time.
The hardest part was calculating the relative positions. Figuring out how to find out what page you are on right now so your gifs/stickers will be added to that page. Then drag n drop feature was also hardest for me :”)

I am happy how it turned out!!! Suggest me more features if you guys have any!!
Also i made this project during my midterms :”) (thats why my grades sucks)

aneezakiran07

HI!!!
IN this devlog, i again checked all the functionalities and found out that toolbar is just static at the header so i make it sticked to the top regardless of the page position!!!
I just had to add one thing in its css
position: sticky
so, it was easy work, but i found out how dumb i am, i was only testing my website using the first page only TT and didnt thought about adding gifs or stickers in later pages

Note: i added video of the project explaining all the functionalities!!! watch it to find out all the functionalities TT ( but they are so obvious to the users, i dont think so u guys need to hear me yap)

0
aneezakiran07

HI!!!
so in this devlog, i debugged the drag n drop feature. I found out that drag and drop isnt working deep down in the page because i was calculating the Y position of updated position wrongly :”)
Spent Hour figuring out whats causing the issue :”) , apart from this, i cleaned my code and tested all the functionalities.
Also, I will decide on new features based on reviews or voting. so suggest me more features please TT

0
aneezakiran07

DEBUGGED EDITING FEATURE
HIII!!!
SO in this devlog, I debugged the editing feature :”) SO, clicking a node to edit it would also trigger the global page click handler at the same time, so i stopped that with e.stopPropagation(). ALSO, contentEditable was also not working where the cursor kept jumping to position 0 instead of the end,then i set a Range to fix that. also if someone clicked away without typing anything it would save an empty string, so i just delete the row instead if its blank. none of it was super hard but debugging all of it at once was a little( NOT LITTLE) pain :”)) I ALMOST GAVE UP AND WAS THINKING OF JUST REMOVING THE EDITING FEATURE :”)

0
aneezakiran07

GIFS and STICKER INTEGRATION
HIII!!!
SO in this devlog, i integrated the gifs and emojies. For it i also made a table in SUPABASE for stickers and gifs so they updated in real time.
I add a list of emojies in the code(hardcoded) and you can also search it accordingly. I dont use any apis for the emojies and implemented it all in code.
Also, i used api of giphy for gifs, user can now add gifs into the Page. and can also search them. I also added options for gifs user can use to search! like sakura, kawaii and cats(cuz i love cats)
Adding api made life alot easier TT and also giphy apis are free to use, you can also use that to integrate gifs in your project!!!
Also, user can also resize the gifs or stickers!

0
aneezakiran07

MORE THEMES + EMOJI PLACEMENT DEVLOG
HII!!!
In this update i did a bunch of theme improvements.
second thing. before there were like 2-4 emojis per theme placed at 6 hardcoded positions (corners and sides). now every theme has 10-12 emojis and they get randomly scattered across 10 positions. I also changed the website background to use the same background/overlay register page was using.
I will keep adding more themes later!!! Sakura is still my fav one tho!!!
Next Update: Writing freely with given pen OR integration of gifs or emojies!!!

0
aneezakiran07

THEME INTEGRATION DEVLOG
HII!!!
in this devlog i added japanese-themed page background named SAKURA AND made the add page button.
the theme were the MOST fun part. theme has three layers,
a body background (the color behind the page),
a page style (the actual notebook paper look),
little emoji in the corners.
the theme also sync in realtime across all users through the page_settings table in supabase. so if someone changes the theme everyone sees it instantly.
I will update more themes later on!!!
also spent way too long on fixing the text going outside the page from the right side. TT
Also, added the change font button!!!

0
aneezakiran07

HII!!!
in this devlog, i made editing existing text work. It wasn’t working and it took forever to figure out why. turns out there were actually two separate problems happening at the same time which made it extra confusing to debug.
first problem was the RLS policies. the writings table only had SELECT and INSERT policies, which meant update and delete calls were being blocked by Supabase. fixed it by adding two policies in the Supabase dashboard: anyone can update and anyone can delete, both with using (true).
second problem was way more _____. the click handler wasn’t reaching the writing nodes at all. tried React’s onClick, tried onMouseDown, tried native event listeners, nothing worked. eventually added console logs and figured out that e.target.closest(“.writing-node”) was returning null because clicks were landing on the inner text div, not the wrapper. fixed it by switching to e.target.closest(“[data-id]”) which catches clicks anywhere inside the node, and moved everything into a single global document.addEventListener to avoid React’s errors TT

Attachment
0
aneezakiran07

HI!!!
so i built a shared notebook app where multiple people can write on the same page at the same time. it has a notebook with lines and a red margin and a pen. you click anywhere on the canvas and write there.
the first version used a basic input that saved on Enter. I know its annoying because you write alot of thing and forgot to hit enter and all your text is gone
so in next update i will make it so that without hitting enter, it will save your work, and also let user to edit and delete current writings.
Also there’s a color picker and font selector in the toolbar. pretty happy with how it turned out

Attachment
0