Beginner Meteor Development - Build a Basic Reddit Clone

Learn the basics of Meteor by building a simple Reddit clone from the ground up
4.4 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
70 students enrolled
70% off
Take This Course
  • Lectures 22
  • Length 2 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2015 English

Course Description

Use Meteor to build real time responsive web applications faster than you ever though possible. The best way to learn Meteor is by building your own websites and that's exactly what we will be doing in this course.

This course will give you step by step instructions on how to build a simple Reddit clone with the following features

  • Real time posts and comments
  • User authentication
  • Upvotes and downvotes
  • Simple easy on the eyes layout that mimics Reddit.
  • Deployed to your own meteor subdomain

From which you will learn the following Meteor fundamentals

  • Basic app structure and tools
  • Templating system
  • Template events and helpers
  • Iron Router Integration
  • User Accounts
  • Meteor Methods
  • MongoDB Schemas
  • Read, Write and write from MongoDB
  • Publishers and Subscriptions
  • Server side security
  • Deployment to meteor subdomain

All this content in only a 3 HOUR tutorial. This really speaks to the power of Meteor as a development framework.

What are the requirements?

  • You should already have Meteor installed and a basic development environment setup (I will be using Sublime Text). Basic knowledge of html, css, and JavaScript is also required

What am I going to get from this course?

  • Build a basic Reddit clone using Meteor.
  • Be comfortable adding additional features to the app
  • Be able to build your own basic website

Who is the target audience?

  • This course is for absolute beginners to Meteor.
  • Take this course if your interested in a fast pace, easy to learn development framework

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

A quick introduction and overview of what we will be learning. We go over the general goals and why you should choose MeteorJs over another JavaScript framework.


An overview and quick usage of the various tools and packages we will be using to build our Meteor application. We discuss the 'meteor' and 'meteor mongo' command along with how to add packages.


Learn some best practices for structuring your basic Meteor application. Learn the difference between client side and server side code with Meteor. Also get a brief introduction to the load order of files in Meteor applications.

Section 2: Building the UI

We create a few of the basic templates needed for our website. We create the templates for the navbar and one needed to display new posts along with upvotes. Most of the time is spent discussing templates in Meteor, as part 2 is where we write most of the templates.


We finish up the templates needed for our website. We create the templates for posting comments & new posts, viewing comments and posts The student should now be able to create templates by themselves and include them in other templates.


We learn how to hook up template helpers in JavaScript to our previously created templates. After this tutorial the student should be comfortable with {‌{#if}}, {‌{#each}}, and Meteor template helpers.


We learn how to hook up template events. The main event we go over is form submit and we talk about how to retrieve data from a form once it is submitted.


We learn all about the iron:router package and how we can now correctly structure our application. At this point the site begins to take shape.


We learn how easy it is to implement a user account system in Meteor! Adding a username/password system only takes us a few minutes to be fully functional.

Section 3: Building the Server Side

We create schemas for our MongoDB database using simple-schema and collection2. We want to ensure that no bad data is inserted into our database and we plan our data model before writing any insert or find queries.


We learn how Meteor methods work and we send data from the client to the server. At this point the backend and frontend are finally linked as we can send data back and forth.


We learn how to insert data into MongoDB from the client. We can now get ready to update our website with live data that we have added.


We learn how to setup a basic publisher and subscription for the posts collection. Posts on the website are now populated from posts we have created, not from hard coded data.


We do a slightly more complicated publisher and subscription for the comments collection. We learn how to only show comments for a specific post.


We learn how to ensure that only logged in users can create posts and comments. We both hide the UI elements for creating posts and comments while also securing the server from malicious users. This is very easy with the built in Meteor helpers.

Section 4: Adding Extra Features

We use all that we have learned to implement upvotes and downvotes on posts. We store the upvotes and downvotes on the server and display them back to the user.


We implement upvotes and downvotes on comments. We use the same strategies for upvoting and downvoting posts.


We continue our extra features by adding sorting to both posts and comments. We learn a little more about MongoDB and modify our database schema to make sorting easier.


We add content to the post that was missing from our previous lectures. We also show how the same template can display different data based on where it is included.

Section 5: Finishing Up

We learn how to deploy a project to a free Meteor subdomain.


We go over the project and think about additional features that we could add.


The source code.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Curtis Larson, Freelance Software Developer

I'm a NYC based freelance software developer who previously worked at a large financial company. My main specialty is building full stack web applications and websites from the ground up using technologies like Nodejs, Meteorjs, and Bootstrap. I've been coding for 8 years and have extensive experience in mobile, web, and backend software development. I also love teaching others how to program through Udemy and my YouTube channel.

Ready to start learning?
Take This Course