Meteor.js: Build a Social Network
4.6 (22 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.
111 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Meteor.js: Build a Social Network to your Wishlist.

Add to Wishlist

Meteor.js: Build a Social Network

Learn how to create a simple social network with Meteor.js
4.6 (22 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.
111 students enrolled
Created by Ciprian Munteanu
Last updated 6/2016
English
Curiosity Sale
Current price: $10 Original price: $30 Discount: 67% off
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • 50 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • customize the accounts package for signup and post-signup functionality
  • work with database schemas
  • define routes, route groups, restrict access to registered users only
  • work with multiple layouts
  • work with MongoDB
  • work with simple and composite publications to retrieve related data from multiple collections at once
  • work with images and store them in MongoDB
  • work with methods and reactive methods
View Curriculum
Requirements
  • familiarity with JavaScript and Meteor.js would be helpful
  • Meteor.js should be installed on your system
  • a code editor of your choice is of course required
Description

Learn how to create a simple social network with Meteor.js.

This course is useful to anyone interested in working with Meteor.js, though you should have some familiarity with Meteor already.

While building the application, we will cover:
- signing up
- searching for users
- sending friend requests and accepting them
- posting statuses
- getting statuses from people we are friends with
- liking and commenting on statuses
- adding a profile image
- creating publicly-accessible profiles and albums

More specifically, we will:
- customize the accounts package for signup and post-signup functionality
- work with database schemas
- define routes, route groups, restrict access to registered users only
- work with multiple layouts
- work with MongoDB
- work with simple and composite publications to retrieve related data from multiple collections at once
- work with images and store them in MongoDB

I hope to see you in the course.

Who is the target audience?
  • anyone interested in building a simple social network with Meteor.js
Students Who Viewed This Course Also Viewed
Curriculum For This Course
52 Lectures
03:27:09
+
Introduction
1 Lecture 00:58

Welcome to the introductory video.

Preview 00:58
+
App Setup
3 Lectures 10:40

In this video, we will:

  • create our application
  • and add the packages we will use going forward
Preview 03:52

In this video, we will:

  • set up our first layout, and hero unit using Twitter Bootstrap and FlowRouter
Hero Unit
03:05

In this video, we will:

  • setup our navbar
Navbar
03:43
+
Accounts
4 Lectures 21:17

In this video, we will:

  • setup our templates for signing up and logging in with the UserAccounts package
Signup and Login Templates
02:35

In this video, we will:

  • configure the client-side signup functionality with the UserAccounts package
Client-side Configuration
06:20

In this video, we will:

  • define the database schema for our Users collection with the aldeed:collection2 package
Users Schema
06:51

In this video, we will:

  • create the server-side post-signup functionality for registered users for a few fields, and
  • implement the logout event
Post Registration and Logout
05:31
+
App Structure
2 Lectures 04:44

In this video, we will:

  • create the markup for the main layout we will be using in the application
Main Layout
02:14

In this video, we will:

  • define a route group with FlowRouter to restrict access for non-registered users
Routes Access
02:30
+
User Statuses - Part 1
4 Lectures 11:27

In this video, we will:

  • create the template for adding a new status
  • define the form submit event
  • implement basic validation and feedback using Session variables
Add Status Template
04:22

In this video, we will:
  • implement the database schema for our statuses
Preview 01:29

In this video, we will:

  • create the method for inserting statuses into our database
Add Status Method
02:14

In this video, we will:

  • create the template for displaying statuses
  • create the publication and subscription for the statuses collection
  • create a helper to better display date objects
List Statuses
03:22
+
Friend Requests
4 Lectures 18:51

In this video, we will:

  • create the template for searching users
  • implement the search functionality using the easy:search package
  • add a custom filter to exclude the currently logged-in user from the search results
Searching Users
05:52

In this video, we will:

  • implement the button to send a friend request to another user
  • implement the database schema for requests
  • implement the publication and subscription for requests
  • and add the method to save requests in the database
Sending Requests
05:00

In this video, we will:

  • implement a helper to check the type of relationship we have with other users, e.g. if a friend request was sent by us, or by them
Check Relationship Helper
04:45

In this video, we will:

  • implement the method to reject a friend request
Cancelling Requests
03:14
+
Friendships
2 Lectures 07:15

In this video, we will:

  • define the database schema for friendships
  • implement the functionality to save friendships in the database
  • create the publication and subscription for friendships
Preview 04:06

In this video, we will:
  • modify our relationship helper to check if we are already friends with a person
  • implement the method to remove a friendship
Cancelling Friendships
03:09
+
User Statuses - Part 2
1 Lecture 04:51

In this video, we will:

  • create a composite publication to return related data from multiple collections at once, using the reywood:publish-composite package
  • modify the list statuses template to display also the statuses from friends
  • implement a helper to check if we are the owner of a status
  • create the method to remove a status
Friends Statuses
04:51
+
Likes
2 Lectures 11:32

In this video, we will:

  • implement the database schema for likes
  • add the methods to save or remove likes
  • modify the composite publication to return likes as well
Likes - Part 1
06:41

In this video, we will:

  • implement a helper to check if we have liked or not a status
  • implement helpers to return the likes data for a status, e.g. how many have liked, the names of the users, and the proper notation to use
Likes - Part 2
04:51
+
Comments
4 Lectures 16:00

In this video, we will:

  • implement the database schema for comments
  • create the template for adding a comment to a status
  • perform basic validation and error handling with Reactive variables
Add Comment Template
06:32

In this video, we will:

  • create the method to save a comment in the database
  • modify the composite publication to return comments as well
  • create a publication for the logged-in users comments
Add Comment Method and Subscriptions
02:58

In this video, we will:

  • create the template for listing comments
  • create a helper to determine if a user is the owner of the comment, or of the status the comment was posted on
List Comments
05:04

In this video, we will:

  • implement the method to remove a comment
Remove Comment Method
01:26
8 More Sections
About the Instructor
Ciprian Munteanu
4.3 Average rating
472 Reviews
14,107 Students
3 Courses
Instructor

Hi, my name is Ciprian and I am a self-taught programmer and learning enthusiast. Having started working in a freight forwarding company doing financial analysis in Excel, I knew there had to be some better way to approach working with data.

This sparked my interest in programming and I started learning all I could. Some resources were very good, others not so much.

My expertise is currently in web technologies: HTML, CSS, JavaScript, Ruby on Rails and I would like to share what I know with others.

I'm always working on side projects and keeping up with the latest technology trends because it's my passion.

I intend on regularly reviewing the course feedback and adding new features as they become relevant or are requested.

You can always ask me personally if you get stuck or have anything at all I can help you with.

So please check out my courses below and I'll see you there!