<?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: Steph Monette</title>
    <description>The latest articles on DEV Community by Steph Monette (@smonette).</description>
    <link>https://dev.to/smonette</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%2F292064%2F0737c5fa-81b0-44a0-81b9-3327a4a73c51.png</url>
      <title>DEV Community: Steph Monette</title>
      <link>https://dev.to/smonette</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/smonette"/>
    <language>en</language>
    <item>
      <title>Getting Fancy with Hello Express</title>
      <dc:creator>Steph Monette</dc:creator>
      <pubDate>Tue, 28 Apr 2020 17:02:24 +0000</pubDate>
      <link>https://dev.to/glitch/getting-fancy-with-hello-express-hp1</link>
      <guid>https://dev.to/glitch/getting-fancy-with-hello-express-hp1</guid>
      <description>&lt;p&gt;At &lt;a href="https://glitch.com?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Glitch&lt;/a&gt; when you start a Node project, our default template is a &lt;a href="https://dev.to/glitch/getting-started-with-node-express-on-glitch-1b0m"&gt;Hello Express&lt;/a&gt; remix. It gives you a basic scaffold, with routing to HTML pages. But as your app gets bigger and more complex, this simple server might not be powerful enough for what you're trying to build. You might realize that you need to do things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;update the content of your page from a data source&lt;/li&gt;
&lt;li&gt;create reusable components like a shared navigation or footer &lt;/li&gt;
&lt;li&gt;display large sets of data, without copy-pasting the same code block over and over&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If that's the case, you need to add a templating engine to you app. We've collected a set of apps that are popular &lt;a href="https://glitch.com/@guides/guide-to-templating?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;template tools&lt;/a&gt; added on top of our Hello Express app.&lt;/p&gt;

&lt;h2&gt;
  
  
  What templating engines can I use?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mustache
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://glitch.com/@guides/guide-to-mustache?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Mustache&lt;/a&gt; is one of my personal favorites. It's a pretty straightforward language, with limited functionality so it's perfect for making an app more extensible.&lt;br&gt;
&lt;/p&gt;
&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/crystal-mustache?path=views%2Findex.html" alt="crystal-mustache on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Handlebars
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://glitch.com/@guides/guide-to-mustache?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Handlebars&lt;/a&gt; is a superset of Mustache, so the syntax looks almost identical. It adds more functionality, and it's painless to switch between the two engines if you need.&lt;br&gt;
&lt;/p&gt;
&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/misty-handlebars?path=views%2Fhome.hbs" alt="misty-handlebars on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  ejs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://glitch.com/~ejs-starter-app?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;ejs&lt;/a&gt; stands for "embedded JavaScript" and it's just that! It allows you to use JavaScript inside your templates for logic.&lt;br&gt;
&lt;/p&gt;
&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/ejs-starter-app?path=views%2Findex.ejs" alt="ejs-starter-app on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  pug
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://glitch.com/~pug-starter-app?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Pug&lt;/a&gt; (also known as Jade) is another popular templating system. It's syntax is super simple and is completely tag-less! &lt;br&gt;
&lt;/p&gt;
&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/pug-starter-app?path=views%2Findex.pug" alt="pug-starter-app on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Choose the template system that seems most appealing to you, then remix it!&lt;/p&gt;

&lt;h2&gt;
  
  
  What next?
&lt;/h2&gt;

&lt;p&gt;Is your markup looking good with your new template system? It might be time to think about improving your CSS workflow by adding a preprocessor like &lt;a href="https://glitch.com/@guides/guide-to-sass?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Sass&lt;/a&gt;. Here's a simple Sass app that's bolted onto Hello Express.&lt;/p&gt;


&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/sassy-starter-app?previewSize=100&amp;amp;path=index.html" alt="sassy-starter-app on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;Hello Express and these starter apps are the perfect blank canvas your code masterpiece. Remix one of these apps and &lt;a href="https://twitter.com/glitch"&gt;tweet&lt;/a&gt; us what you made. We can't wait to see what you build! ✨&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://glitch.com/pricing?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=handbook&amp;amp;utm_content=dev"&gt;Give your Glitch apps superpowers - keep them awake, lift rate limits, and get more memory and disk space.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
    </item>
    <item>
      <title>Our Favorite Launch Checklist</title>
      <dc:creator>Steph Monette</dc:creator>
      <pubDate>Wed, 19 Feb 2020 16:19:16 +0000</pubDate>
      <link>https://dev.to/glitch/our-favorite-launch-checklist-3a3j</link>
      <guid>https://dev.to/glitch/our-favorite-launch-checklist-3a3j</guid>
      <description>&lt;p&gt;One of my favorite things about &lt;a href="http://glitch.com?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Glitch&lt;/a&gt; is that the whole product is built with code sharing in mind. Every public project on Glitch has a &lt;a href="https://glitch.com/help/remix/?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;“remix” button&lt;/a&gt; that allows users to make their own copy of an app, and continue building. It’s amazing to see all the projects that are remixed from a single app, and take such different directions.&lt;/p&gt;

&lt;p&gt;I’m a member of the Solutions Engineering team and we’re dedicated to building apps that are easy to remix in order to help people build something great. As part of that, writing good documentation is critical. Here’s the checklist that our team uses to know that an app is ready for prime time. I hope it makes it easier to get started building reusable apps on Glitch (or anywhere on the internet!)&lt;/p&gt;




&lt;h2&gt;
  
  
  Write a descriptive README
&lt;/h2&gt;

&lt;p&gt;A good README should start with a description of the project, an overview of the file structure, and links to any relevant documentation. This should be written in plain language so anyone can get a gist of what your app is doing, and how they can use it in their own project.&lt;/p&gt;

&lt;p&gt;You can never assume someone’s familiarity or that something will be “obvious”. For that reason we include the &lt;em&gt;real estate tour&lt;/em&gt; of the file structure. This can be as simple as saying: “&lt;code&gt;styles.css&lt;/code&gt; is the file that controls the look of the app”, “&lt;code&gt;/views&lt;/code&gt; is the place where the HTML files live”. &lt;/p&gt;

&lt;p&gt;At the very end, I like to add a list of links to additional documentation that might be helpful. If your app is dependent on any packages or templating languages you should link them so folks can have an easy reference. We also link any other related &lt;a href="https://glitch.com/@glitch/glitch-team-faves?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;Glitch projects&lt;/a&gt; or &lt;a href="https://glitch.com/glimmer/category/starter-kits?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;starter kits&lt;/a&gt; that might be helpful.&lt;/p&gt;

&lt;p&gt;The README is also the place to tell users where they can make the project their own, and customize. This could be different endpoints on the API to try, different visualization on charting library.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add setup instructions to the README
&lt;/h2&gt;

&lt;p&gt;READMEs should have a section that covers all the setup instructions for when a person remixes. This can include any account setup they might need to do, as well as telling them to put their API keys into the &lt;code&gt;.env&lt;/code&gt; file. &lt;/p&gt;

&lt;p&gt;As &lt;code&gt;.env&lt;/code&gt; files &lt;a href="https://glitch.com/help/env/?utm_medium=weblink&amp;amp;utm_source=dev.to&amp;amp;utm_campaign=blog&amp;amp;utm_content=dev"&gt;are secret&lt;/a&gt;, Glitch doesn’t copy over the credentials when someone remixes. Calling out in your README where folks need to add their keys ensures that the remixer won’t be discouraged when the app errors. They’ll be empowered to get it running using their own info!  &lt;/p&gt;

&lt;h2&gt;
  
  
  Write meaningful comments in code
&lt;/h2&gt;

&lt;p&gt;We err on the side of over communicating, and have comments for all the critical pieces of the codebase. Make sure your comments are written in plain language, and are descriptive.&lt;/p&gt;

&lt;p&gt;Aim to describe what every function does. Your goal is that any user can jump in and very quickly get a sense of how the code works. &lt;/p&gt;

&lt;p&gt;If there are easy ways to customize an app, I also like to add that in a comment. Include some text encouraging folks to “uncomment the code to see the change.”  &lt;/p&gt;

&lt;h2&gt;
  
  
  Update the app description &amp;amp; project avatar
&lt;/h2&gt;

&lt;p&gt;To update this, go to your project editor, then click the project name in the top left. There’ll be a field to write a description of what your app does. Make it descriptive, and list any big technologies or tools you’re using. Here you can also upload a new icon for your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clean up your codebase
&lt;/h2&gt;

&lt;p&gt;Make sure you remove any code you aren’t using. This can be leftovers from past iterations, a function you commented out, a variable you never call, or maybe a npm package you’re no longer using.&lt;/p&gt;

&lt;p&gt;Also take a step back to consider if the structure is right for the type of app you’re building. Are you using the features of Express or would a simple webpage would do the trick?&lt;/p&gt;

&lt;h2&gt;
  
  
  Have someone else try remixing
&lt;/h2&gt;

&lt;p&gt;Ask a friend who’s unfamiliar with your project to try remixing. Did the app work immediately? Were there any steps that were missing from your documentation?&lt;/p&gt;

&lt;h2&gt;
  
  
  Share your app with the world.
&lt;/h2&gt;

&lt;p&gt;Be sure to &lt;a href="https://twitter.com/glitch"&gt;@glitch&lt;/a&gt; on Twitter so we can see what amazing things you’re building. And follow us here on &lt;a href="https://dev.to/glitch"&gt;Dev.to&lt;/a&gt; to get the latest from Glitch.&lt;/p&gt;




&lt;p&gt;Like this checklist? We &lt;a href="https://launch-checklist.glitch.me/"&gt;made an app&lt;/a&gt; that you can remix and modify for your own workflow!&lt;/p&gt;


&lt;div class="glitch-embed-wrap"&gt;
  &lt;iframe src="https://glitch.com/embed/#!/embed/launch-checklist?previewSize=100&amp;amp;path=index.html" alt="launch-checklist on glitch"&gt;&lt;/iframe&gt;
&lt;/div&gt;


</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>glitch</category>
    </item>
  </channel>
</rss>
