<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Emil Merle</title>
    <description>The latest articles on DEV Community by Emil Merle (@emilmerle).</description>
    <link>https://dev.to/emilmerle</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F849642%2F15762ae8-6dca-47db-abed-401ade5a9d85.png</url>
      <title>DEV Community: Emil Merle</title>
      <link>https://dev.to/emilmerle</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emilmerle"/>
    <language>en</language>
    <item>
      <title>Pixlr: Social Network based on Pixelart using Appwrite</title>
      <dc:creator>Emil Merle</dc:creator>
      <pubDate>Wed, 11 May 2022 17:11:12 +0000</pubDate>
      <link>https://dev.to/emilmerle/pixlr-social-network-based-on-pixelart-using-appwrite-4dc</link>
      <guid>https://dev.to/emilmerle/pixlr-social-network-based-on-pixelart-using-appwrite-4dc</guid>
      <description>&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://pixlr.social/" rel="noopener noreferrer"&gt;Pixlr&lt;/a&gt; is a social network developed by two developers that focuses on simple pixel art. It was created in the course of the &lt;a href="https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0"&gt;"Appwrite Hackathon on DEV"&lt;/a&gt; under the category "Web2 Wizards". The user interface was created using the web framework "&lt;a href="https://svelte.dev/" rel="noopener noreferrer"&gt;Svelte&lt;/a&gt;" and the CSS framework "&lt;a href="https://bulma.io/" rel="noopener noreferrer"&gt;Bulma&lt;/a&gt;". The backend uses the self-hosted open-source backend server "&lt;a href="https://appwrite.io/" rel="noopener noreferrer"&gt;Appwrite&lt;/a&gt;", which provides databases, user management and many other features.&lt;/p&gt;

&lt;p&gt;Creating posts in Pixlr is done with the help of a simply designed editor that provides a 32 by 32 pixel canvas for painting artistic masterpieces.&lt;/p&gt;

&lt;p&gt;An Appwrite server is used as the backend. The &lt;a href="https://appwrite.io/docs/client/account" rel="noopener noreferrer"&gt;Account API&lt;/a&gt; is used for independent registration via the frontend, as well as for linking posts, likes and comments with the respective creators. The posts, likes, comments and news (for display on the &lt;a href="https://pixlr.social/news" rel="noopener noreferrer"&gt;news page&lt;/a&gt;) are each stored in a separate collection. The structure of the documents can be seen in the following screenshots. To store the individual images of the posts, the &lt;a href="https://appwrite.io/docs/client/storage" rel="noopener noreferrer"&gt;Storage API&lt;/a&gt; is used and the IDs of the created files are stored as an attribute within a posts document.&lt;/p&gt;

&lt;p&gt;Attributes of the "Posts" collection:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra6dv888lcxspytvq1sd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra6dv888lcxspytvq1sd.png" alt="Attributes of the posts collection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attributes of the "Likes" collection:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feua4kuv257offbgqnaht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feua4kuv257offbgqnaht.png" alt="Attributes of the likes collection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attributes of the "Comments" collection:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvb09drgud475lygfynuh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvb09drgud475lygfynuh.png" alt="Attributes of the comments collection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attributes of the "News" collection:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydle9s01h2coxdizvmk5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydle9s01h2coxdizvmk5.png" alt="Attributes of the news collection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are using &lt;a href="https://appwrite.io/docs/functions" rel="noopener noreferrer"&gt;Appwrite functions&lt;/a&gt; for various things, for example to create a post or to delete a comment. With the execute access for functions, we can make sure only registered users can create and like posts or write comments. Also, we can automatically get the user that triggers the function and link him to the post or comment he creates. &lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Web2 Wizards&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/FinnKr" rel="noopener noreferrer"&gt;
        FinnKr
      &lt;/a&gt; / &lt;a href="https://github.com/FinnKr/pixlr" rel="noopener noreferrer"&gt;
        pixlr
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A Pixelart based social network
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;&lt;a href="https://pixlr.social/" rel="nofollow noopener noreferrer"&gt;Pixlr&lt;/a&gt;&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A Pixelart based social network.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Description&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Pixlr was developed during the &lt;a href="https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0" rel="nofollow"&gt;Appwrite Hackathon&lt;/a&gt; in April and May 2022
and is published on &lt;a href="https://pixlr.social/" rel="nofollow noopener noreferrer"&gt;pixlr.social&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pixlr lets users create 32x32 pixelarts and share them directly with other users. People who are logged in can comment and like post from other
users to give feedback on created art.&lt;/p&gt;
&lt;p&gt;Pixlr is using &lt;a href="https://appwrite.io/" rel="nofollow noopener noreferrer"&gt;Appwrite&lt;/a&gt; as backend and &lt;a href="https://svelte.dev/" rel="nofollow noopener noreferrer"&gt;Svelte&lt;/a&gt; and &lt;a href="https://bulma.io/" rel="nofollow noopener noreferrer"&gt;Bulma&lt;/a&gt; as frontend.&lt;/p&gt;
&lt;p&gt;A small article about this project can be found at DEV.to &lt;a href="https://dev.to/emilmerle/pixlr-social-network-based-on-pixelart-using-appwrite-4dc" rel="nofollow"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Getting Started&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Dependencies&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;NodeJS (for Frontend)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Installing and executing program&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;run &lt;code&gt;npm install&lt;/code&gt; in the &lt;a href="https://github.com/FinnKr/pixlr/tree/master/Frontend/pixlr-frontend" rel="noopener noreferrer"&gt;Frontend/pixlr-frontend&lt;/a&gt; folder.&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;npm run dev&lt;/code&gt; to start a local webserver.&lt;/li&gt;
&lt;li&gt;The Backend uses a configured appwrite installation. If you want to host your own Backend have a look at the &lt;a href="https://dev.to/emilmerle/pixlr-social-network-based-on-pixelart-using-appwrite-4dc" rel="nofollow"&gt;DEV.to article&lt;/a&gt; about this project.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Authors&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/FinnKr" rel="noopener noreferrer"&gt;Finn Kranzosch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/emilmerle" rel="noopener noreferrer"&gt;Emil Merle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;License&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;This project is licensed under the &lt;a href="https://github.com/FinnKr/pixlr/blob/master/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Acknowledgments&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://discord.gg/GSeTUeA" rel="nofollow noopener noreferrer"&gt;Appwrite Discord&lt;/a&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/FinnKr/pixlr" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Link to Website:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://pixlr.social" rel="noopener noreferrer"&gt;Pixlr.social&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots of our Website
&lt;/h3&gt;

&lt;h4&gt;
  
  
  The Home Page
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjule75oggplqa7bvuw3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwjule75oggplqa7bvuw3.png" alt="The Home Page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  The News Site
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzisq32w2n07ub176uub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzisq32w2n07ub176uub.png" alt="The News Site"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  The Image Editor
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoad38bkvjlw5dsqvgmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoad38bkvjlw5dsqvgmy.png" alt="The Image Editor"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;All Collaborators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/finnkr"&gt;Finn Kranzosch&lt;/a&gt;: &lt;a class="mentioned-user" href="https://dev.to/finnkr"&gt;@finnkr&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dev.to/emilmerle"&gt;Emil Merle&lt;/a&gt;: &lt;a class="mentioned-user" href="https://dev.to/emilmerle"&gt;@emilmerle&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/appwrite/appwrite" rel="noopener noreferrer"&gt;Appwrite Github Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/GSeTUeA" rel="noopener noreferrer"&gt;Appwrite Discord Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>appwritehack</category>
    </item>
  </channel>
</rss>
