{"id":106,"date":"2021-05-30T20:11:00","date_gmt":"2021-05-30T20:11:00","guid":{"rendered":"https:\/\/shockbase.org\/blog-shockbase\/?p=106"},"modified":"2022-03-08T20:34:11","modified_gmt":"2022-03-08T20:34:11","slug":"user-space","status":"publish","type":"post","link":"https:\/\/shockbase.org\/blog-shockbase\/?p=106","title":{"rendered":"User Space"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There is a new function in ShockBase for anyone interested. Although this time it&#8217;s a little more than just that.<br>If there&#8217;s one feature that&#8217;s by far the most requested, it&#8217;s this one.<br>There was a wish from various people that it would be cool if you could somehow mark your own watches in the thousands of G-Shocks and maintain a list of your own watches.<br>Since I was not familiar with the whole subject of user management and authentication, I resisted it for a long time. In the last weeks I took the time and programmed all the basic functions.<br>What is currently available:<\/p>\n\n\n<ul>\n<li>fully automated registration with verification email<\/li>\n<li>fully automated password recovery<\/li>\n<li>a user space with currently 2 lists (&#8220;My watches&#8221; and &#8220;Wishlist&#8221;)<\/li>\n<li>colored marking of your own watches (if logged in) in series overview<\/li>\n<li>Excel export of your own models<\/li>\n<li>adding \/ deleting models on the detail page for a G-Shock model<\/li>\n<li>automatic logout after 30 minutes of inactivity<\/li>\n<\/ul>\n<p>As I said, the focus so far was on the implementation of the basic functionality. The first testers already had a lot of ideas about additional functions that should be added. I will implement that bit by bit.<\/p>\n<p><strong>What about data privacy?<\/strong><br \/>I have tried to raise only the absolutely necessary information. Passwords and email addresses (necessary for password recovery) are only saved as a hash and are therefore not readable for me either. This means that if you forget your username and email address, you can no longer access your data.<br \/>The freely selectable user name is saved in plain text.<br \/>The models in your lists are of course not saved in plain text, but they could be decrypted by me. \ud835\udddc \ud835\ude04\ud835\uddfc\ud835\ude02\ud835\uddf9\ud835\uddf1 \ud835\uddf9\ud835\uddf6\ud835\uddf8\ud835\uddf2 \ud835\ude01\ud835\uddfc \ud835\uddfd\ud835\uddfc\ud835\uddf6\ud835\uddfb\ud835\ude01 \ud835\ude01\ud835\uddf5\ud835\uddf6\ud835\ude00 \ud835\uddfc\ud835\ude02\ud835\ude01 \ud835\uddf3\ud835\uddfc\ud835\uddff \ud835\uddff\ud835\uddf2\ud835\uddee\ud835\ude00\ud835\uddfc\ud835\uddfb\ud835\ude00 \ud835\uddfc\ud835\uddf3 \ud835\ude01\ud835\uddff\ud835\uddee\ud835\uddfb\ud835\ude00\ud835\uddfd\ud835\uddee\ud835\uddff\ud835\uddf2\ud835\uddfb\ud835\uddf0\ud835\ude06.<\/p>\n<p>The login is accessible in the upper right corner. After login, your username appears in the upper right corner. Clicking your username brings you directly to your user space.<br \/>Here are a few pictures of what it looks like at the moment.<\/p>\n<p><!-- \/wp:post-content --><\/p>\n\n<!-- wp:gallery {\"imageCrop\":false,\"linkTo\":\"media\"} -->\n<figure class=\"wp-block-gallery has-nested-images columns-default\"><!-- wp:image {\"id\":107,\"sizeSlug\":\"large\",\"linkDestination\":\"media\"} -->\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"391\" src=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace1.png\" alt=\"\" class=\"wp-image-107\" srcset=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace1.png 563w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace1-300x208.png 300w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/a><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:image {\"id\":109,\"sizeSlug\":\"large\",\"linkDestination\":\"media\"} -->\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"777\" src=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2-1024x777.png\" alt=\"\" class=\"wp-image-109\" srcset=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2-1024x777.png 1024w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2-300x228.png 300w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2-768x583.png 768w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace2.png 1054w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:image {\"id\":108,\"sizeSlug\":\"large\",\"linkDestination\":\"media\"} -->\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"603\" height=\"1024\" src=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3-603x1024.png\" alt=\"\" class=\"wp-image-108\" srcset=\"https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3-603x1024.png 603w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3-177x300.png 177w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3-768x1303.png 768w, https:\/\/shockbase.org\/blog-shockbase\/wp-content\/uploads\/2022\/03\/userspace3.png 796w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/figure>\n<!-- \/wp:image --><\/figure>\n<!-- \/wp:gallery -->","protected":false},"excerpt":{"rendered":"<p>There is a new function in ShockBase for anyone interested. Although this time it&#8217;s a little more than just that.If<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-features"],"_links":{"self":[{"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=106"}],"version-history":[{"count":2,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/posts\/106\/revisions"}],"predecessor-version":[{"id":113,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=\/wp\/v2\/posts\/106\/revisions\/113"}],"wp:attachment":[{"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shockbase.org\/blog-shockbase\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}