A cool and very advanced whiteboard application built using next.js. Supports math, text, multi user collaboration and what not!
A cool and very advanced whiteboard application built using next.js. Supports math, text, multi user collaboration and what not!
This was awesome! I added a bunch of new features and fixed some ugly bugs!!:
Made some minor ui changes in the selection tools now this is ready to be shipped!
Log in to leave a comment
I did a little more work but the local site started throwing so many errors so i had to sit and fix em one by one its still the same old site though
Log in to leave a comment
Did some backed improvements. Lil tough with the packages and liveblocks
Log in to leave a comment
Oof im tired of doin this every time i try to add a new feature some dumb technical bug pops up. This time its seems that there was some âsyntax error in package.jsonâ but there was nothing. I even double checked it with a json linter but next was stubborn and did not run the site. I tried again and again and finally after remaking the package.json it worked poof. Its wasting my time instead of allowing me to make new things
Log in to leave a comment
This was simple but time taking I had to it and map all tools to keys on the keyboard and then write them all down in an array and make a dialog display for all of them I knew how to do this but it was just a time taking process.
Log in to leave a comment
Worked on some minor changes like colors and updated the canvas settings dialog to include the color theme as well
Log in to leave a comment
This was crazy. I found a crazy bug in the site that everytime i deleted an organization, it lead me to the home page and did not allow me to sign back in. It was really tough to figure out what was the problem i tried changing my proxy, middleware and others but they did not work. So i kept this aside for some time and just thought about the problem. And i actually found out the problem but not its cause i googled about clerk for a while and I found the 1 setting which had caused all of this âmembership requiredâ this option was checked which caused the site to lead the user to choose organization page leading to so many errors
Log in to leave a comment
I retried making a dark mode and this time it actually worked I had to make some minor changes here and there to match the theme but the replacement of hardcoded colors was a huge headache. But it turned out well
Log in to leave a comment
So i decided to make yet another useful feature EXPORT AS PNG This was rlly tough I tried different ways but i only found 1 of the comfortable html-to-canvas this was also difficult because I accidentally linked the wrong item to export. SO here it is
Log in to leave a comment
I added an eraser feature. This was verryyyyy easy. I just had to se which layer the user was hovering over and delete that layer!
Log in to leave a comment
I fixed a small issue in the custom color picker. Nothing big, just small issues
Log in to leave a comment
Added more colors! :yay: And also created a custom color component for you to choose your own color. (this was from react colorful library
Log in to leave a comment
I created an awesome feature to zoom in, zoom out reset camera and see zoom % in a top bar. It also allows you to reset camera position if lost
Log in to leave a comment
Log in to leave a comment
So i heavily cleaned up my code for bettr understanding
Log in to leave a comment
This was soooooooo tough. I thought adding 4 more shapes wouldnt be that hard but then i wound out its evil nature. I struggled to get the points and calculations right on my own so i had to google out things and second, i added a really nice feature of dragging to draw. That was fun and nice.
Log in to leave a comment
I spent some 20mins and reorganized the toolbar because it was becoming too cluttered. So i grouped all shapes into one, text, mat and those stuff as one and the pencil and line as one. This was simple
Log in to leave a comment
Created an awesome feature for the whiteboard. IT is really nice and im pretty sure you guys would like it.
this was not too hard i had to change the default bg and map it to the button which tells the canvas its bg. For some of them i had to get images from random websites to get the back ground. It looks cool!
Log in to leave a comment
I changes a lot of stuff, added some UI features here and there, tried to add multi page mode, but failed and so on, but i still fixed a lot of bugs!
Programmed a lot of bug fixes and major issues. Made it nicer for people to use and I also changed some UI here and there soâŠ. heres it!
Log in to leave a comment
I tried my best to add a themes to he site but it failed like crazy. First, i regret using hardcoded colors for the elements. That way, i cant change them when i tried to, they looked ugly, disgusting so i had to take it out here is how it looked. So i removed it
Log in to leave a comment
Soo I was trying to figure out how to add various canvas modes so that the user can draw on a single page or an infinite canvas. This was very hard. I tried various methods of doing that, for example, i tried clamping the camera and all that, but none of them worked. So i had to come up with my own intuitive method. What i did was, i added another type to the canvas types file and declared the 2 modes. Then I added some conditional checks if the mode is infinite and blah bah blah and finally it somehow worked. So hereâs a preview
Log in to leave a comment
Okay. This was a really huge version update:
So i decided to spice things up a bit and do some cool stuff so i added organization roles. Let me give a brief description of each role.
Since i was using clerk for the authentication, it allowed to add user roles. I had to map the user roles to live blocks and disable abilities one by one for all the roles.
Log in to leave a comment
Log in to leave a comment
I just added a bunch of new features:
Made some changes on the homepage and added a typewriter effect using a library. It was easy
Log in to leave a comment
Just did a lot of work. Firs i decided to make the lazy preview for people who wanted to see the preview without logging in, (i made the feature based on user requests), and i fixed some issues with the line tool and the pencil tool. Plus i kept on coming across an issue while drawing, it used to try to select and drag the user avatar, stopping the drawing. So i went over and fixed it. And i also added a dotted pattern to the board. Looks sleek.
Log in to leave a comment
I just finished creating the line tool. This was hard. First i tried a prototype to render the line as a component but then it did not allow me to draw straight lines, only slant lines. So i changed the thing to add a change to the pencil component itself to allow drawing a straight line. And it works! I also added a clean canvas option!
Created a stroke weight option to reduce the stroke size or decrease it in the selection tools. ow the shapes can be thick or thin.
Created a fill toggle. Now you can created outlined shapes too! This was an easy task.
Log in to leave a comment
This was awesome. I created a whole new tool for a triangle. It works well. And it loooks cool!!!
Log in to leave a comment
I made a collaborative whiteboard in Next JS! This was an awesome idea and a really nice way for me to learn next.js and tailwind CSS. This gave me an opportunity to lean a new thing rather than sticking to the old and basic html, CSS and JS. I loved this project, even though i used tutorials here and there, i actually liked the process and way of creating. I also appreciate the people giving me suggestions here and there. Thanks a lot to all of you!
Updated some minor changes and added readme.
Log in to leave a comment
Okay. This was real saddening and crazy. So this morning, when i was trying to deploy the website, i had to shift all external components into production and in the process, i accidentally deleted the clear authentication project, and on top of that the action was irreversible and crazy. So I spent some time and remade the clerk app and finally now, it has been deployed!!!
Log in to leave a comment
Okay⊠This was hard work I completely programmed the drawing functionality and meanwhile i also fixed many bugs which did not work as expected. Now they all are fine and you can draw things too! And yeah the thickness is pressure sensitive
Log in to leave a comment
Created the unauthenticated page, for people who are not logged in. I added some animations and also displayed the features.
Log in to leave a comment
Created the sticky Note object. It all looks good! Almost done with all the stuff. Only things left to do are the pencil and a page for non-logged in users
Log in to leave a comment
Created the text component. Had to cycle through a good set of fonts and pick the best one. Also finished the part of able to be changing the font size and color.
Log in to leave a comment
Created the ellipse object. I only had to add another case for the element, and some extra params.
Log in to leave a comment
I loved this! Now we can select multiple items somewhat like a selection net or you can say a rectangular selection tool. This was not that hard i did not have to write any new code for the selection part, only modified the way it works. But i also added tweaks in the existing code. I got many errors in this part.
Log in to leave a comment
Created the bring to front and send to back actions. They work well now.
Log in to leave a comment
This was some good progress. Now you can change the colors of your rectangle and even delete it! Its coming together just a few more things to wrap things up.
Log in to leave a comment
Created a small popup/toolbar appear whenever an object is selected. This will be used for changing the color or deleting the object.
Log in to leave a comment
Okay, this was some progress. Now the user can move the rectangles around the canvas and also I fixed a small but, which now enables you to deselect the object too!
Log in to leave a comment
So in this devlog, i changed quite a few things. First of all, there was a huge issue. I was allowed to look at the board even thought i was not authorized. That was a horrifying issue. So i had to research and do many different changes in my code to get it right. And second, I allowed the user to change the size of the rectangle to make it resizable.
Log in to leave a comment
Coded a little bit of extras like having a selection layer, and a different color
Log in to leave a comment
Sooo, this was a huge progress. Now, you can actually draw stuff on the canvas. Only a rectangle for now, but this was difficult. The main part where I struggled was the part where I had to get the co-ordinates of the mouse-pointer and stuff. Hereâs a demo.
Log in to leave a comment
This was extremely difficult. I had to somehow map an svg element to my mouse-pointer. I used a tutorial for this and i got it right! This looks awesome! I just took an icon and made it change the position to the mouse-pointerâs position, but it took a lot of lines
Coded a lot of stuff useful for the drawing features in the files, and also added the feature of selecting items in the toolbar.
Log in to leave a comment
Coded the backed work for the toolbar actions and for the front end, added the icons with labels.
Log in to leave a comment
Added a small tweak of getting some border colors for each participant in the room, and created a toolbutton component from scratch and imported it.
Log in to leave a comment
Created the participants component. I displays the userâs avatar
Log in to leave a comment
Fully created and finished the room info component. It looks goood.
Log in to leave a comment
Created a part of the board info. This was fun and easy.
Log in to leave a comment
Worked on the room authentication part of this project. This was a stressful task and i had to use live blocks and clerk both together to get this right. I struggled in a few parts of the unauthorized sections. Hereâs a clip.
Log in to leave a comment
Built the loading screen for the canvases.
Log in to leave a comment
I just finished setting up liveblocks, but I encountered a problem because the docs on liveblocks were not updated. So i had to research and get the right thing to work, now it works the same as before but i have added liveblocks in the backend so yeahâŠ. Hereâs a pic of the liveblocks board. Everytime a board is created, a new item is added to the list in this page.
Log in to leave a comment
This was some solid work, after a few days of break, i finally came back to work on this now, and i have started designing the canvas layout so when you click on a board, it leads to this board mage with the layout.
Log in to leave a comment
Created the search query functionality. This was fun and the last part for the website features. Now ready to start with the actual whiteboard code.
Log in to leave a comment
Fixed a small issue of the favorite relation with the board not getting disconnected when the board is deleted.
Log in to leave a comment
Created the favoriting functionality. This was a little hard because i had to create another backend table solely for this. I had to redo the same things i had done before now, because that was how it was needed. It was a little tough but at the end, it works! Hereâs a short clip
Log in to leave a comment
Okay, so this was a long devlog. I made quite a lot of changes. Here they are:
Log in to leave a comment
Created the delete function. This was easy. Also made the copy link function actually work!
Log in to leave a comment
Added this cool actions dropdown in the board card. It looks awesome!!
Log in to leave a comment
Added this cool loading screen for slower connections. With the skeleton component.
Log in to leave a comment
Created this new board button where you can finally create a new board. Like here. Also added a toast notification whenever a board is created.
Log in to leave a comment
There was this minute issue of the layout of the board details part, it looked bad, so I was determined to fix it. The borders were not properly aligned with the card. So i rewrote the card and got it right! And also, I added the favorites button
Log in to leave a comment
Created this label and gave a cool effect on hover. It shows the name, author and the time created.
Log in to leave a comment
Worked a lot on trying to get the overlay correct on the car. So once you hover, there is a cool dark effect.
Log in to leave a comment
Changed the look of the board card. Not too stylish, and i tried experimenting with new components but this was the best fit for this card. I am still thinking on how to make the cards look better.
Log in to leave a comment
Added the actual representation of the board. Looks fine until now. But planning to remove the images. They donât look very good for now.
Log in to leave a comment
Ohhh this was a very huge progress. I added a toast notification when a board is created, and now, even the data is displayed as a string on the homepage! Iâm really excited thats its working
Log in to leave a comment
Added the functionality of creating a board. Also the data gets stored in a table. A pretty good task and a huge step towards actually creating the whiteboard
Log in to leave a comment
Just coded the API mutation with convex again for the boards, so that every time the user creates a board, it will run the mutation
Log in to leave a comment
Added the empty states for no favorites and no search results. looks cool till nowâŠ
Log in to leave a comment
Coded the backend for âsearchâ and âfavoritesâ queries.
Log in to leave a comment
okay, this was scary. I somehow managed to mess up the task of filtering and the page was compiling and refreshing every 96 milliseconds đ±, and because of this, not even 1 action wan now working. I got scared and tried to find the problem. I searched frantically in all my changed files since the last commit and kept on deleting stuff. I still couldnât find the problem. Hopeless, I went and reverted all changes since the day before yesterdayâs commit. And it worked! It did not compile so fast anymore. So i went on and restored rest of the files, and while I was doing that, I found the CULPRIT. The function i had been using was making the file run almost every 1 second. I went up and searched for an alternative. And finally, this works perfectly until now!!
Log in to leave a comment
Yes, this was fun. It was easy to make this new dashboards section. Looks sleek now. And also created a small startup for first time users.
Added this Invite members button to add members to your organization. I kept struggling to get the container to correctly fit the dialog box. And somehow, the sub sections in the dialog di not work, and nothing was clickable. So I had to look up for new solutions, I tried debugging using the console and failed. I had to look up into the docs of the component. Finally the error was the key. I researched on the error and found out that it was the key to the problem. And⊠I fixed it. đ
Log in to leave a comment
Fully coded and finished up the search-bar to add the search to the url query. It was a difficult task to do, and I spent some time actually reading and cleaning up the code which I had written to get rid of unused stuff. Also added a small tweak to the mobile view of this website. Looks good to me now.
Log in to leave a comment
Added the search input component and styled the whole page to make it a little more polished and now it looks cool. Still have to code the search-bar.
Log in to leave a comment
Created a small filter for showing boards. I really liked this feature. This looks sleek and simple.
Log in to leave a comment
I made the final adjustments to the main sidebar to improve its layout and usability.
After that, I started developing the organizations sidebar by coding its features and styling it so it fits well with the rest of the interface. Looks good to me now!!! Its coming together!!
Log in to leave a comment
Built tooltips for each button âon-hoverâ using the tooltip component from shadCN ui. This was a very interesting process and I liked it!
Log in to leave a comment
I moved the organization into a completely new component to make it easier to change. I also change the text to show the icons. I tools much better now. You can also switch between organizations.
Log in to leave a comment
Added a list on the sidebar to show all created organizations. A simple task for nowâŠ
Log in to leave a comment
Added a âplusâ button on the sidebar to create an organisation. Used icons from lucid.
Log in to leave a comment
Built the basic UI of the page, look UGLY right now, but will work on the css later. đ
Log in to leave a comment
Reorganized the folder structure, and made a dashboard page with a sidebar
Log in to leave a comment
Sorry for posting this devlog so late. I ran into a tough issue that I had to solve on my own. I was trying to show a different screen when the user was logged in, but nothing appeared on the page. I checked all my files to find what went wrong. In the end, I found the problem: the provider was set to show content only when the user was logged in. I fixed that, and everything worked again.
Log in to leave a comment
Created a loading kind of page, to give it a better look. The loading has the logo of the website.
Log in to leave a comment
oooh this leg took a lot of time. Now that i got all the backend right, I tried to actually integrate the log in system. I tried many ways, but they were just not working. So i went and looked up for documentation on the convex docs. After finding it, when I implemented that, I got an error saying that a function was deprecated. So I had to look up more and FINALLY, I got it working. Hereâs a video
Log in to leave a comment
Fixed some small issues ad added convex and clerk for the backend. Clerk was used for the authentication stuff.
Log in to leave a comment
Modified the file structure and added a layout.tsx file with a new navbar, which renders in all pages of users.
Log in to leave a comment
Just fixed an error in the users logic. Since the users logic is dynamic, every time I type something as a subpage in the address bar like ââŠ/openâ or something, it was not giving a 404 page not found error but giving me the user id page, showing the user id as open. So i spent a little time on trying to fix it. At the end, I just went with the simplest solution. I routed the âuserâ page inside a âusersâ folder.
Log in to leave a comment
Coded the users logic. This was a little tough because the tutorial I was following had an older version and the version I was using did not support the code block.
Log in to leave a comment
Okay. So this is my first time working with next.js and tailwind CSS. Looked up on tutorials and also tries making some example pages. I also set up the project folder. All this was done with the cli tool for next js. This might be quite a long project. I also installed the button component from shadcn UI. and added a style.
Log in to leave a comment