All in One Offer! | Access Unlimited Courses in any category starting at just $29. Offer Ends in:

Browse Library

  • Business Solutions
  • Become an Instructor
  • 0
    Shopping Cart

    Your Cart is empty. Keep shopping to find a course!

    Browse Courses
Get Unlimited Learning Access
$29
8 days left at this price!
30-Day Money-Back Guarantee

This plan includes

  • Instant access to 11,000+ online courses
  • Play & Pause Course Videos
  • HD Video Recorded Lectures
  • Learn on Mobile/PC/Tablet
  • Quizzes and Real Projects
  • Lifetime Course Certificate
  • Instructor Chat Support
  • Cancel Plan Anytime
Subscribe to Learnfly’s top courses
Get this course, plus 11,000+ of our top-rated courses for one year with Go Annually Plan.
$348 $244 a year Save 30%
8 days left at this price!
30-Day Money-Back Guarantee

This plan includes

  • Instant access to 11,000+ online courses
  • Play & Pause Course Videos
  • HD Video Recorded Lectures
  • Learn on Mobile/PC/Tablet
  • Quizzes and Real Projects
  • Lifetime Course Certificate
  • Instructor Chat Support
  • Cancel Plan Anytime
$29
$244
  • Node + Express.js + MongoDB with real life example
  • Create good software architecture and separation of concerns
  • Clean architecture principles
  • Test back-end applications
  • Use dependency injections in Node.js back-end projects

In this course, we will create Node.js basic shop API using Express.js and MongoDB. We will start this journey by understanding what clean architecture means, and right after will dive deep into coding.

We will start this course using in-memory DB and after that will move our app to MongoDB and Mongoose. I made a decision to make the course this way to show you how it's easy to move from one library to another when you are using good architecture.

We will test out the application using jest with the newest test stack and methodologies.

In this course, you will see how to use dependency injections in a really easy format and what it gives you. We will also make business validations for entity creation and updates. I want to show you how to use the response contracts layer to give one look at your every response from the server.

We will create an Application error handler to handle every exception or error and respond to a formatted response.

After every step of this course, you will have hands-on exercises and an answer right after.

Join this course to make a cool Node.js server. Enjoy and be happy :)

  • Beginner coding experience
  • All Level Node.js developers
  • Software developers
  • Back-end developers
View More...
  • Section 1 : Course introduction 3 Lectures 00:06:50

    • Lecture 1 :
    • Lecture 2 :
    • Project overview
    • In this lecture, we will take a look at what our results will be.
    • Lecture 3 :
    • Into the Clean architecture
    • What is Clean architecture? Some theoretical knowledge before coding.
  • Section 2 : Let's start coding 2 Lectures 00:07:35

    • Lecture 1 :
    • Project start
    • In this lecture, we will create a project and a folder structure.
    • Lecture 2 :
    • Create basic server
    • In this lecture, we will create a basic express server for our project.
  • Section 3 : Let's build the Repositories 15 Lectures 00:33:47

    • Lecture 1 :
    • Section Introduction
    • Lecture 2 :
    • User entity
    • Lecture 3 :
    • In-memory DB
    • Lecture 4 :
    • User's repository
    • Lecture 5 :
    • User's repository tests
    • Lecture 6 :
    • Product entity
    • Lecture 7 :
    • Hands on: create product's repository
    • Lecture 8 :
    • Product's repository
    • Lecture 9 :
    • Hands on: test the product's repository
    • Lecture 10 :
    • Product's repository tests
    • Lecture 11 :
    • Order entity
    • In this lecture, we will create an order entity class that will follow us in the next steps.
    • Lecture 12 :
    • Hands on: create order's repository
    • Lecture 13 :
    • Order's repository
    • Lecture 14 :
    • Hands on: test the order's repository
    • Lecture 15 :
    • Order's repository tests
  • Section 4 : Let's build the use cases 29 Lectures 01:49:13

    • Lecture 1 :
    • Section Introduction
    • Lecture 2 :
    • Add user use case
    • Lecture 3 :
    • Add user use case tests
    • Lecture 4 :
    • Get user by ID use case
    • Lecture 5 :
    • Get user by ID use case tests
    • Lecture 6 :
    • Update user use case
    • Lecture 7 :
    • Update user use case test
    • Lecture 8 :
    • Delete user use case
    • Lecture 9 :
    • Delete user use case test
    • Lecture 10 :
    • Hands on: create the add product use case
    • Lecture 11 :
    • Add product use case
    • Lecture 12 :
    • Hands on: test the add product use case
    • Lecture 13 :
    • Add product use case tests
    • Lecture 14 :
    • Hands on: create the get product by ID use case
    • Lecture 15 :
    • Get product by ID use case
    • Lecture 16 :
    • Hands on: test the get product by ID use case
    • Lecture 17 :
    • Get product by ID use case tests
    • Lecture 18 :
    • Hands on: create the update product use case
    • Lecture 19 :
    • Update product use case
    • Lecture 20 :
    • Hands on: test the update product use case
    • Lecture 21 :
    • Update product use case test
    • Lecture 22 :
    • Hands on: create the delete product use case
    • Lecture 23 :
    • Delete product use case
    • Lecture 24 :
    • Hands on: test the delete product use case
    • Lecture 25 :
    • Delete product use case test
    • Lecture 26 :
    • Hands on: create order use cases
    • Lecture 27 :
    • Add order use cases
    • Lecture 28 :
    • Hands on: test the order use cases
    • Lecture 29 :
    • Create order use case test
  • Section 5 : Let's build controllers 24 Lectures 01:05:40

    • Lecture 1 :
    • Section Introduction
    • Lecture 2 :
    • Response Contracts
    • Lecture 3 :
    • Initialize controllers by creating add user controller
    • Lecture 4 :
    • Get User by ID controller
    • Lecture 5 :
    • Delete user controller
    • Lecture 6 :
    • Update user controller
    • Lecture 7 :
    • User's controller tests
    • Lecture 8 :
    • Hands on: create an add product controller
    • Lecture 9 :
    • Add product controller
    • Lecture 10 :
    • Hands on: create the delete product controller
    • Lecture 11 :
    • Delete product controller
    • Lecture 12 :
    • Hands on: create the update product controller
    • Lecture 13 :
    • Update product controller
    • Lecture 14 :
    • Hands on: create the get product by ID controller
    • Lecture 15 :
    • Get product by ID controller
    • Lecture 16 :
    • Hands on: create an add order controller
    • Lecture 17 :
    • Add order controller
    • Lecture 18 :
    • Hands on: create get order by ID controller
    • Lecture 19 :
    • Get order by ID controller
    • Lecture 20 :
    • Hands on: create an update order controller
    • Lecture 21 :
    • Update order controller
    • Lecture 22 :
    • Hands on: create delete order controller
    • Lecture 23 :
    • Delete order controller
    • Lecture 24 :
    • Add application error handler
  • Section 6 : Let's create Business Validations 3 Lectures 00:00:02

    • Lecture 1 :
    • Section Introduction
    • Lecture 2 :
    • Add order business validations
    • Lecture 3 :
    • Fix tests after adding business validation rules
  • Section 7 : Let's move to Mongo 12 Lectures 00:16:54

    • Lecture 1 :
    • Section introduction
    • Lecture 2 :
    • Create Mongo Cluster
    • Lecture 3 :
    • Initialize Mongo with Mongoose
    • Lecture 4 :
    • Create user's schema
    • Lecture 5 :
    • Hands on: create product schema
    • Lecture 6 :
    • Create product schema
    • Lecture 7 :
    • Hands on: create order schema
    • Lecture 8 :
    • Create order schema
    • Lecture 9 :
    • Create Mongo users repository
    • Lecture 10 :
    • Hands on: create Mongo product repository
    • Lecture 11 :
    • Hands on: create Mongo orders repository
    • Lecture 12 :
    • Create products + orders Mongo repositories
  • Section 8 : Finish 1 Lectures

    • Lecture 1 :
    • Thank you! And how to contact with me?
  • How do i access the course after purchase?

    It's simple. When you sign up, you'll immediately have unlimited viewing of thousands of expert courses, paths to guide your learning, tools to measure your skills and hands-on resources like exercise files. There’s no limit on what you can learn and you can cancel at any time.
  • Are these video based online self-learning courses?

    Yes. All of the courses comes with online video based lectures created by certified instructors. Instructors have crafted these courses with a blend of high quality interactive videos, lectures, quizzes & real world projects to give you an indepth knowledge about the topic.
  • Can i play & pause the course as per my convenience?

    Yes absolutely & thats one of the advantage of self-paced courses. You can anytime pause or resume the course & come back & forth from one lecture to another lecture, play the videos mulitple times & so on.
  • How do i contact the instructor for any doubts or questions?

    Most of these courses have general questions & answers already covered within the course lectures. However, if you need any further help from the instructor, you can use the inbuilt Chat with Instructor option to send a message to an instructor & they will reply you within 24 hours. You can ask as many questions as you want.
  • Do i need a pc to access the course or can i do it on mobile & tablet as well?

    Brilliant question? Isn't it? You can access the courses on any device like PC, Mobile, Tablet & even on a smart tv. For mobile & a tablet you can download the Learnfly android or an iOS app. If mobile app is not available in your country, you can access the course directly by visting our website, its fully mobile friendly.
  • Do i get any certificate for the courses?

    Yes. Once you complete any course on our platform along with provided assessments by the instructor, you will be eligble to get certificate of course completion.
  • For how long can i access my course on the platform?

    You require an active subscription to access courses on our platform. If your subscription is active, you can access any course on our platform with no restrictions.
  • Is there any free trial?

    Currently, we do not offer any free trial.
  • Can i cancel anytime?

    Yes, you can cancel your subscription at any time. Your subscription will auto-renew until you cancel, but why would you want to?

606 Course Views

1 Courses

I am an experienced software developer and tech lecturer. Actually working as a senior software developer in Natural Intelligence and tech lecturer in Talpiyot Hitech prestige code Bootcamp. In my past was: 1. Android developer with 3 applications in Google Play Market. 2. Android and back-end Team leader of a real estate industry startup. 3. VP R&D of a medical industry startup. Feel free to contact me :)
View More...
  • Unmatched Variety and Value!
    Learnfly's monthly subscription offers unlimited access to a vast range of courses. Affordable pricing, compared to competitors, makes it the ultimate choice for continuous learning.
    Jessica M.

    4.7

    JM
  • Top-Notch Quality, Affordable Rates!
    High-quality courses with certified instructors make Learnfly stand out. The affordable pricing is a game-changer for those seeking premium education.
    Alex P.

    4.5

    AP
  • Certified Excellence Every Time!
    Learnfly's courses, taught by certified instructors, ensure top-notch learning experiences. The course completion certificates add significant value to one's skill set.
    Sarah R.

    4.3

    SR
  • Round-the-Clock Support!
    Learnfly goes the extra mile with 24/7 course support. Their dedication to helping students succeed is commendable.
    Ryan K.

    4.1

    RK
  • Learn Anywhere, Anytime!
    Whether on mobile, PC, or tablet, Learnfly's platform offers flexibility. Learning on the go has never been easier.
    Emily S.

    4.7

    ES
  • Job-Ready Skills!
    Learnfly's job-oriented courses equip learners with practical skills for the workplace. An investment in career growth!
    Jake M.

    4.2

    JM
  • Budget-Friendly Brilliance!
    Learnfly's pricing is a steal for the quality and variety of courses offered. Quality education without breaking the bank.
    Olivia T.

    4.5

    OT
  • Instructor Excellence Unleashed!
    Learn from the best with Learnfly's certified instructors. The platform ensures that knowledge is imparted by industry experts.
    Daniel L.

    4.0

    DL
  • Achievement Unlocked!
    Learnfly not only offers courses but also recognizes your efforts with course completion certificates. A sense of accomplishment with every course finished.
    Maya H.

    4.6

    MH
  • Learning Revolution!
    Learnfly's platform is a revolution in education. Access to unlimited courses at affordable rates is a game-changer.
    Ethan W.

    4.7

    EW
  • the-extreme-web-development-course

    The Extreme Web Development Course

    By : Paul Carlo Tordecilla

    Lectures 124 Beginner 4:26:22
  • develop-your-own-chrome-extension-firefox-plugin

    Develop your own Chrome Extension &...

    By : Harshit Srivastava

    Lectures 15 Beginner 2:1:54
  • the-ultimate-codeigniter-3-course

    The Ultimate Codeigniter 3 Course

    By : Paul Carlo Tordecilla

    Lectures 23 Beginner 2:17:35
  • superb-advance-javascript-become-javascript-professional

    Superb Advance Javascript - Become ...

    By : Paul Carlo Tordecilla

    Lectures 28 Beginner 1:28:39
  • application-development-with-ibm-watson

    Application development with IBM Wa...

    By : Harshit Srivastava

    Lectures 14 Intermedite 1:42:29
  • learn-react-16-and-redux-by-building-real-world-application

    Learn React 16 and Redux by buildin...

    By : Haider Malik

    Lectures 74 Beginner 6:46:11

Students learning on Learnfly works with Fortune 500 companies around the globe.

Sign Up & Start Learning
By signing up, you agree to our Terms of Use and Privacy Policy
Reset Password
Enter your email address and we'll send you a link to reset your password.