{"id":13534059,"url":"https://github.com/MooseSaeed/Tailwinder","last_synced_at":"2025-04-01T22:31:10.827Z","repository":{"id":108940411,"uuid":"482287466","full_name":"MooseSaeed/Tailwinder","owner":"MooseSaeed","description":"An open-source community website dedicated to Tailwind CSS enthusiasts, powered by the amazing Appwrite platform.","archived":false,"fork":false,"pushed_at":"2022-05-12T16:45:41.000Z","size":881,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-02T21:31:53.696Z","etag":null,"topics":["appwrite","tailwindcss","vuejs"],"latest_commit_sha":null,"homepage":"https://dev.to/moose_said/introducing-tailwinder-home-for-tailwind-fans-powered-with-appwrite-4c0o","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MooseSaeed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-16T15:15:44.000Z","updated_at":"2024-08-08T04:25:43.000Z","dependencies_parsed_at":"2023-06-11T03:31:24.849Z","dependency_job_id":null,"html_url":"https://github.com/MooseSaeed/Tailwinder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooseSaeed%2FTailwinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooseSaeed%2FTailwinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooseSaeed%2FTailwinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooseSaeed%2FTailwinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MooseSaeed","download_url":"https://codeload.github.com/MooseSaeed/Tailwinder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246720481,"owners_count":20822912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","tailwindcss","vuejs"],"created_at":"2024-08-01T07:01:25.940Z","updated_at":"2025-04-01T22:31:10.307Z","avatar_url":"https://github.com/MooseSaeed.png","language":"Vue","funding_links":[],"categories":["Showcase (Built with Appwrite 📣)"],"sub_categories":["Vue"],"readme":"\u003ch1 align=\"center\"\u003eWelcome to Tailwinder 👋\u003c/h1\u003e\n\u003cp\u003e\n  \u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-0.1.0-blue.svg?cacheSeconds=2592000\" /\u003e\n  \u003ca href=\"docs\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"url\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/Moose_Said\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Twitter: Moose_Said\" src=\"https://img.shields.io/twitter/follow/Moose_Said.svg?style=social\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n![Tailwinder Overview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5e4v812njxbsj6e0shg9.gif)\n\n\u003e An open source community for tailwind fans - powered by Appwrite\n\n\u003e This project was built for [Appwrite hackathon on Dev Community](https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0)\n\n### ✨ [Demo](https://vimeo.com/manage/videos/709162501)\n\n### Appwrite Node SDK API Location\n\n[HERE](https://github.com/MooseSaeed/Tailwinder/tree/master/api)\n\n### ⚙️ Built With\n\n| Used Stack                                                    |\n| ------------------------------------------------------------- |\n| [Appwrite](https://appwrite.io/)                              |\n| [Appwrite Node SDK](https://github.com/appwrite/sdk-for-node) |\n| [TailwindCSS](https://tailwindcss.com/)                       |\n| [VueJS](https://vuejs.org/)                                   |\n| [Vue Router](https://router.vuejs.org/)                       |\n| [SwiperJS](https://swiperjs.com/vue)                          |\n| [AnimateCSS](https://animate.style/)                          |\n\n### More Info\n\n| Content Table (Tailwinder Structure):                                          |\n| ------------------------------------------------------------------------------ |\n| [1- Homepage](#chapter-1)                                                      |\n| [1-a- Dynamic Profile Picture \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-11)          |\n| [1-b- Dynamic Dark/Bright Theme Toggle \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-12) |\n| [1-c- Fading Navbar](#chapter-13)                                              |\n| [1-d- Cool Tailwinder Logo view](#chapter-14)                                  |\n| [2- Signup/Signin](#chapter-2)                                                 |\n| [2-a- Dynamic User URL \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-21)                 |\n| [2-b- User Login/Logout \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-22)                |\n| [3- User Profile](#chapter-3)                                                  |\n| [3-a- Dynamic Profile Picture \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-31)          |\n| [3-b- Dynamic User Information \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-32)         |\n| [3-c- User Information Update \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-33)          |\n| [3-d- Dynamic User Contributions \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-34)       |\n| [4- Components](#chapter-4)                                                    |\n| [4-a- Dynamic Components Fetching \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-41)      |\n| [4-b- Add New Component \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-42)                |\n| [4-c- Component View \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-43)                   |\n| [5- Tailwinder Academy](#chapter-5)                                            |\n| [5-a- Dynamic Resources Fetching \u003cu\u003e(Appwrite Feature)\u003c/u\u003e](#chapter-51)       |\n| [5-b- Add / View Academy Resources \u003cu\u003e(Appwrite Feature)](#chapter-52)         |\n| [6- Tailwinder Community](#chapter-6)                                          |\n| [Development Stack Used](#chapter-7)                                           |\n| [Appwrite Utilization](#chapter-8)                                             |\n\n#### 1- **Homepage**:\u003ca name=\"chapter-1\"\u003e\u003c/a\u003e\n\n![Tailwinder Homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gnkbmfhovrhjynk176ut.gif)\n\n- **Dynamic Profile Picture \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-11\"\u003e\u003c/a\u003e\n\nThe profile picture in the Navbar is dynamic, Appwrite fetches the picture for this specific user and display it in the Navbar across the website.\nIt also detects if the user doesn't have a profile picture and display an Avatar with the first letter of the user's first and last name. We will see that in action when we get to Userprofiles section.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview) Web SDK.\n[Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials) Web SDK.\n\n---\n\n- **Dynamic Dark/Bright Theme Toggle \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-12\"\u003e\u003c/a\u003e\n\nThe dark/bright theme toggle isn't just changing the theme in general, It registers the the user's choice to the user preferences with Appwrite to automatically change the theme when this specific user is logged in 🌞🌙.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Update Account Preferences](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdatePrefs) Web SDK.\n[Get Account Prefrences](https://appwrite.io/docs/client/account?sdk=web-default#accountGetPrefs) Web SDK.\n\n---\n\n- **Fading Navbar**\u003ca name=\"chapter-13\"\u003e\u003c/a\u003e\n\nThe Navbar fades out while scrolling down but appears again on scroll up. It includes the logo, important links and user dropdown.\n\n---\n\n- **Cool Tailwinder Logo view**\u003ca name=\"chapter-14\"\u003e\u003c/a\u003e\n\nThis is an opensource component by Claire Larsen created in October 21, 2015 and the [codepen](https://codepen.io/ClaireLarsen/pen/XmVyVX) is available. I have added few adjustments to make it a VueJS component and change few things to fit the theme.\n\n---\n\n#### 2- **Signup/Signin**:\u003ca name=\"chapter-2\"\u003e\u003c/a\u003e\n\nhttps://www.youtube.com/watch?v=t3-PSxNbzI8\n\n- **Dynamic User URL \u003cu\u003e (Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-21\"\u003e\u003c/a\u003e\n\nThe user is able to insert username which will be used to create a dynamic unique URL for this specific user. The code catches the username and saves it as a user preference and then fetches the username for the URL.\n\n---\n\n- **User Login/Logout \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-22\"\u003e\u003c/a\u003e\n\nSimple auth to login and logout the user using appwrite.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Create Account](https://appwrite.io/docs/client/account?sdk=web-default#accountCreate) Web SDK.\n[Create Account Session](https://appwrite.io/docs/client/account#accountCreateSession) Web SDK.\n[Update Account Preferences](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdatePrefs) Web SDK.\n[Get Account](https://appwrite.io/docs/client/account?sdk=web-default#accountGet) Web SDK.\n[Delete Account Session](https://appwrite.io/docs/client/account?sdk=web-default#accountDeleteSession) Web SDK.\n\n---\n\n#### 3- **User Profile**:\u003ca name=\"chapter-3\"\u003e\u003c/a\u003e\n\n![User Profile Overview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olpar6uzdjkmbr5fzuli.gif)\n\n- **Dynamic Profile Picture \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-31\"\u003e\u003c/a\u003e\n\nThe user profile again, is dynamic. Fetched by Appwrite for this specific user same as the profile picture in the user dropdown Navbar. It detects if the user didn't add a picture then it adds an Avatar instead.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview) Web SDK.\n[Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials) Web SDK.\n[Update Account Preferences](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdatePrefs) Web SDK.\n\n---\n\n- **Dynamic User Information \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-32\"\u003e\u003c/a\u003e\n\nAs you can see, every user has the ability to update their info and it's being displayed in their profile with Appwrite Node-SDK. Of course I could come up for a better design for the way it's displayed but I think that's okay.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Get User Preferences](https://appwrite.io/docs/server/users#usersGetPrefs) Node SDK.\n\n---\n\n- **User Information Update \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-33\"\u003e\u003c/a\u003e\n\nhttps://www.youtube.com/watch?v=cS86TZGh46I\n\nIn the above video, you can notice that I'm changing the user's **profile picture**, **name**, **email** and **preferences**.\n\nThe code checks if the user already has a profile picture, if not it displays an avatar.\n\n**The User can:**\n\n- update a new profile picture, the code checks if there is already one, if yes then Appwrite deletes the previous bucket that contains the profile picture, create new bucket, create new file and display it. If the user didn't add a profile picture, it just updates it for the user.\n- The can update their name.\n- The user can update email, if the user made any changes in the email input, a new input for password will be displayed.\n  -The user can update prefrences.\n\nThis is being done with Appwrite Node-SDK as it displays the already existing information and allows the user to update them.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[List Users](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersList) Node SDK.\n[Get User](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersGet) Node SDK.\n[Delete Bucket](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageDeleteBucket) Node SDK.\n[Create bucket](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageCreateBucket) Node SDK.\n[Create File](https://appwrite.io/docs/client/storage?sdk=web-default#storageCreateFile) Web SDK.\n[List Files](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageListFiles) Node SDK.\n[Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview) Web SDK.\n[Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials) Web SDK.\n[Update Account Name](https://appwrite.io/docs/client/account#accountUpdateName) Web SDK.\n[Update Account Email](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdateEmail) Web SDK.\n[Update Account Preferences](https://appwrite.io/docs/client/account#accountUpdatePrefs) Web SDK.\n[Get User Preferences](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersGetPrefs) Node SDK.\n\n---\n\n- **Dynamic User Contributions \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-34\"\u003e\u003c/a\u003e\n\n![Tailwinder Contributio](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jepj6kuji9zwumaatbme.gif)\n\nThe above GIF demonstrates how Appwrite can fetch the user's contributions and categories and display them with dynamic URL that leads to the actual contribution. The code gets all collections and files and loop over them filtering only the ones created by the user and provides a dynamic URL.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[List Collections](https://appwrite.io/docs/server/database?sdk=nodejs-default#databaseListCollections) Node SDK.\n[List Documents](https://appwrite.io/docs/client/database?sdk=web-default#databaseListDocuments) Web SDK.\n\n---\n\n#### 4- **Components**:\u003ca name=\"chapter-4\"\u003e\u003c/a\u003e\n\n- **Dynamic Components Fetching \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-41\"\u003e\u003c/a\u003e\n\nAs you can see in the above GIF, appwrite is dynamically fetching all submitted components by users, and every component has a unique identified URL and every user has a unique URL as explained before. Also component thumbnails are being fetched from their buckets and displayed to the user.\n\nComponents category are being identified and displayed as well dynamically with appwrite.\n\nComponents submitters user's profile picture is being dynamically fetched as well.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[List Collections](https://appwrite.io/docs/server/database?sdk=nodejs-default#databaseListCollections) Node SDK.\n[List Documents](https://appwrite.io/docs/client/database?sdk=web-default#databaseListDocuments) Web SDK.\n[List Files](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageListFiles) Node SDK.\n[Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview) Web SDK.\n[Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials) Web SDK.\n[Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview) Web SDK.\n\n---\n\n- **Add New Component \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-42\"\u003e\u003c/a\u003e\n\nhttps://www.youtube.com/watch?v=OmuTzSwrvrw\n\nThe user is able to add new components to the community. Every component has category, sample pictures, name, description and component code.\n\nThe code is catching the component name and transform it into a slug to be used as a dynamic URL for the component.\n\nAppwrite creates new bucket and then add the pictures to this specific bucket with ID same as the component slug.\n\nThen appwrite creates new document with collection name, id, name of component, name of user, id of user, component code and description.\n\nThe code automatically and dynamically redirects the user to the submitted component and shows a flash message of success.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Create bucket](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageCreateBucket) Node SDK.\n[Create File](https://appwrite.io/docs/client/storage?sdk=web-default#storageCreateFile) Web SDK.\n[Create Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseCreateDocument) Web SDK.\n\n---\n\n- **Component View \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-43\"\u003e\u003c/a\u003e\n\nhttps://www.youtube.com/watch?v=UBrBPC34HUg\n\nAs explained above, I have created a unique slug for the component URL along with the users as well. Appwrite fetches the component details and dynamically inject them in the URL. Vue Router is being used for this piece of action.\n\nI also used [Swiper JS](https://swiperjs.com/vue) with Appwrite to display the component sample pictures.\n\nThe user is able to view the component sample pictures, name, description, component submitter's details and also is able to copy the code and test it in [TailwindCSS Playground](https://play.tailwindcss.com/).\n\nComments are available on the table too, and will be displayed to all users who visits this specific component. The user who created the comment is able to delete the component as well.\n\n\u003cu\u003eUtilized from Appwrite:\u003c/u\u003e\n[Get Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseGetDocument) Web SDK.\n[Get User Preferences](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersGetPrefs) Node SDK.\n[List Documents](https://appwrite.io/docs/client/database?sdk=web-default#databaseListDocuments) Web SDK.\n[List Files](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageListFiles) Node SDK.\n[Delete Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseDeleteDocument) Node SDK.\n[Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials) Web SDK.\n\n---\n\n#### 5- **Tailwinder Academy**:\u003ca name=\"chapter-5\"\u003e\u003c/a\u003e\n\n![Tailwinder Academy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5wb34nujv95jxw8hgvsx.gif)\n\n- **Dynamic Resources Fetching \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-51\"\u003e\u003c/a\u003e\n\nThis section is my favorite. It's where users are able to share learning resources with the community. My code uses almost the same structure as [Components](#chapter-4) ,So there is no point of repeating the same here again.\n\n---\n\n- **Add New Resources to The Academy \u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\u003ca name=\"chapter-52\"\u003e\u003c/a\u003e\n- **View Resources\u003cu\u003e(Appwrite Feature)\u003c/u\u003e**\n\n![Tailwinder Academy Add/View](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tvqvmp5mjnqknf1ckpvf.gif)\n\nCombining [Youtube](https://developers.google.com/youtube/v3) API with Appwrite turned out to be super fun! The user is able to add new learning resources and others can view them, leave a comment and learn something new. The structure is almost the same so there is no need to repeat it here.\n\n---\n\n#### 6- **Tailwinder Community**:\u003ca name=\"chapter-6\"\u003e\u003c/a\u003e\n\nhttps://www.youtube.com/watch?v=T_JYcbKMlvo\n\nThis can be considered as a blog for Tailwinders. The user is able to view posts submitted by others or add his own.\n\nThe design structure is the same but I added [Deepgram](https://deepgram.com/) touch to it by allowing the user to write articles with their voice.\n\n### Appwrite Utilization\n\n| Appwrite Utilization                                                                                     | SDK      |\n| -------------------------------------------------------------------------------------------------------- | -------- |\n| [Get File Preview](https://appwrite.io/docs/client/storage?sdk=web-default#storageGetFilePreview)        | Web SDK  |\n| [Get User Initials](https://appwrite.io/docs/client/avatars?sdk=web-default#avatarsGetInitials)          | Web SDK  |\n| [Update Account Preferences](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdatePrefs) | Web SDK  |\n| [Get Account Prefrences](https://appwrite.io/docs/client/account?sdk=web-default#accountGetPrefs)        | Web SDK  |\n| [Create Account](https://appwrite.io/docs/client/account?sdk=web-default#accountCreate)                  | Web SDK  |\n| [Create Account Session](https://appwrite.io/docs/client/account#accountCreateSession)                   | Web SDK  |\n| [Delete Account Session](https://appwrite.io/docs/client/account?sdk=web-default#accountDeleteSession)   | Web SDK  |\n| [Get Account](https://appwrite.io/docs/client/account?sdk=web-default#accountGet)                        | Web SDK  |\n| [List Documents](https://appwrite.io/docs/client/database?sdk=web-default#databaseListDocuments)         | Web SDK  |\n| [Create Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseCreateDocument)       | Web SDK  |\n| [Get Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseGetDocument)             | Web SDK  |\n| [Create File](https://appwrite.io/docs/client/storage?sdk=web-default#storageCreateFile)                 | Web SDK  |\n| [Update Account Name](https://appwrite.io/docs/client/account#accountUpdateName)                         | Web SDK  |\n| [Get User Preferences](https://appwrite.io/docs/server/users#usersGetPrefs)                              | Node SDK |\n| [List Users](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersList)                         | Node SDK |\n| [Get User](https://appwrite.io/docs/server/users?sdk=nodejs-default#usersGet)                            | Node SDK |\n| [Delete Bucket](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageDeleteBucket)          | Node SDK |\n| [Create bucket](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageCreateBucket)          | Node SDK |\n| [List Files](https://appwrite.io/docs/server/storage?sdk=nodejs-default#storageListFiles)                | Node SDK |\n| [Update Account Email](https://appwrite.io/docs/client/account?sdk=web-default#accountUpdateEmail)       | Web SDK  |\n| [List Collections](https://appwrite.io/docs/server/database?sdk=nodejs-default#databaseListCollections)  | Node SDK |\n| [Delete Document](https://appwrite.io/docs/client/database?sdk=web-default#databaseDeleteDocument)       | Node SDK |\n\n## Author\n\n👤 **Mostafa Said**\n\n- Website: https://linktr.ee/moosesaid\n- Twitter: [@Moose_Said](https://twitter.com/Moose_Said)\n- Github: [@MooseSaeed](https://github.com/MooseSaeed)\n- LinkedIn: [@moosesaid](https://linkedin.com/in/moosesaid)\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/MooseSaeed/Tailwinder/issues).\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nCopyright © 2022 [Mostafa Said](https://github.com/MooseSaeed).\u003cbr /\u003e\nThis project is [MIT](https://github.com/MooseSaeed/Tailwinder/blob/master/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMooseSaeed%2FTailwinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMooseSaeed%2FTailwinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMooseSaeed%2FTailwinder/lists"}