Build a Social Network with MEAN Stack- Part 1



Today we will be going over how to build a social network with the MEAN Stack (MongoDb, ExpressDb, AngularJS, and NodeJS), we start by giving our visitors the ability to create and account and login.

Please subscribe to the channel and follow us on twitter (

The source code can be found at

, , , , , , , , , , , , ,

36 thoughts on “Build a Social Network with MEAN Stack- Part 1

  1. at 1:05:33, I'm seeing the object pass in on my console, but it's not showing up in node "server" terminal (mac) – like nothing is happening. Been stumped here for awhile. Any thoughts would be appreciated. Awesome tutorial bro!

  2. Yo bro. We decided to Port our stack from a heap of garbage that was outdated five years ago to a pile of spaghetti who's creators just announced was going to be shelved because it was built by stoners to begin with. Yeah, go ahead and emulate this regard…bro

  3. To get everything working I had to change:

    POST's "success" and "error" to "then" and "catch"
    $scope.user._id to $scope.user.data._id (maybe because of my browser or some error dunno, this is important for code in the next video too)

  4. if you are getting error $http.post(…).success is not a function try this

    navigation controller

    (function(){
    angular.module('TimeWaste')
    .controller('NavigationController',['$scope','$http','$state',function($scope,
    $http,$state){
    $scope.logUserIn=function(){
    $http.post('api/user/login',$scope.login).then(function successCallback(response){
    localStorage.setItem('User-Data',JSON.stringify(response));
    },function errorCallback(response){
    console.log(response);
    });
    }
    }]);
    }());

    signup controller

    (function(){
    angular.module('TimeWaste')
    .controller('SignUpController',['$scope','$state','$http',function($scope,$state,
    $http){
    $scope.createUser=function(){
    $http.post('api/user/signup',$scope.newUser).then(function(response){
    },function errorCallback(){
    console.log(response);
    });
    }
    }]);
    }());

    good luck.

  5. Since how long have you been web developing and how did you learn everything you know? I hope I can be at your level someday. I have been working with the lamp stack and I have worked on some complex websites so I thought I had web development figured out and then I found out about the mean stack and I have worked on some projects and now I'm working on this one since I learned lamp by making a social network. but I'm still not as good as I am with lamp. some things I don't know how to do using mean stack are: sessions, hashing passwords, setting up mongodb on heroku, how to set up everything with a different hosting provider that's not heroku. Aws, digital ocean? lasly not only am i a beginner in the mean stack, now there is also react, redux, and angular 2. and for php there is code igniter, laravel, symfony which i don't know if I should learn since I'm hearing php sucks. and I still don't know wordpress, drupal, magento, etc. There is so much to learn and I want to learn it all lol I wish I had your knowledge. If only I could have a stack made of php, angular, socket.io, and myql to create single page applications with real time notifications. At the moment the only way I know how to do real time stuff in php is by querying the database every x seconds using ajax which apparently is not a good idea. I know socket.io but I don't know how to use it with php. I think I should just forget about php and move on to node.

  6. Not allowed to load local resource: file:///C:/Users/HARISH/IdeaProjects/follow/app/ang.js%22

    angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module follow due to:
    Error: [$injector:nomod] Module 'follow' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

    what to do when this error occurs?

    plz.help with this issue @TechWarriorz

Leave a Reply

Your email address will not be published. Required fields are marked *