Skip to content

Instantly share code, notes, and snippets.

@ryansobol
Last active December 17, 2015 21:59
Show Gist options
  • Save ryansobol/5678936 to your computer and use it in GitHub Desktop.
Save ryansobol/5678936 to your computer and use it in GitHub Desktop.

What's the name of your app?

BlogPress

What does it do?

As the name suggests, BlogPress is a web app for creating and maintaining a blog.

Registered users (aka authors) can create, update, and destroy articles. Authors write articles using Markdown syntax which is converted to HTML on-the-fly.

Articles remain private until published by the author. Published articles are listed chronologically on the homepage. All users can browse, read, and comment on published articles. An email will be sent to the author when a comment is submitted. The author can then choose to display or delete the comment.

What's the GitHub url?

https://github.com/ryansobol/blogpress

What's the production url?

https://blogpress.herokuapp.com

Who was on your team?

Just me, Ryan Sobol.

Which covered topics did you leverage?

  • Twitter Bootstrap, jQuery, and the Asset Pipeline
  • SimpleForm
  • Authentication from scratch
  • ActionMailer
  • Brakeman
  • Heroku

Which feature(s) are you most proud of?

From the beginning, I wanted to support articles written in Markdown. I decided to save the body text as is and use the RedCarpet gem to convert the text into HTML when rendering the article page.

I'm also really pleased with how selecting a published date turned out. I decided to replace Rails' date input field with the jQuery UI Datepicker plug-in. It's much more user-friendly.

How did you ensure your code is correct?

Mostly by testing the app in the browser. I wrote some specs for sending emails though. My wife helped me find some bugs near the end.

What challenges, technical and/or non-technical, did you overcome?

I struggled with jQuery for a while. The selector syntax is really hard to remember. Thankfully, a classmate came to the rescue.

I also had a hard time with Devise. Eventually I had to drop it for something simpler. Maybe I'll give it another try this Summer when I have more time.

Also, work was really demanding in May so I wasn't able to finish all the features I wanted. But, in the end, I'm happy with the way everything turned out.

What would you have liked to add given more time?

More jQuery animations! I stared tinkering with them near the end and now I'm hooked.

What would you do differently?

I would have spent more time sketching out the UX and UI for the homepage. I spent way too much time tweaking the HTML and CSS for that page.

How does the final version of your app compare to your initial vision?

Actually, the final version is pretty close to my initial visiion. The project was heavily inspired by my experience using WordPress for a personal blog. I've known what I wanted to build for a while and now I have the skills to do it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment