Three-Project Series

Build Your First Microservice you own this product

prerequisites
basic JavaScript • intermediate Node.js • basic Express.js
skills learned
create a CRUD application in Node.js and Express • create a microservice • set up Docker • create an image • run an image in a container • run multiple microservices using Docker Compose • set up MongoDB using Docker and Docker Compose • deploy an image to an Azure Container Registry
Haider Malik
3 weeks · 4-6 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Play the role of developer for Musify, a SaaS company that helps startups bring their products to market. Musify’s new client wants to launch a music-streaming app connecting music artists and end users. For this large and complex application, Musify’s development team has chosen to take advantage of the microservices architecture—and avoid the problems that often come with monolith applications. Using popular Node.js technology, you’ll build a CRUD (Create, Read, Update, and Delete) REST API in Node.js and Express that will allow artists to upload and delete their music audio files as well as letting end users view and listen to songs according to their preferences. You’ll publish the REST API to an Azure container registry in the cloud, allowing the development team to easily and conveniently run and update the application. You’ll create an additional REST API for storing audio files and use Docker Compose to run both microservices and connect them with a database. When you’re done, you’ll have valuable firsthand experience building a complete microservices application using popular Node.js technology.


Note: This series requires an Azure account. While a credit card is required to set up the account, Azure includes a twelve-month free trial for new users. (https://azure.microsoft.com/en-us/free).

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

In doing the exercises you learn everything that the course material says you’ll learn.

Thomas Greenhalgh, Site reliability engineer, PayPal

here's what's included

Project 1 Create the Service

Welcome to Musify! You’re a backend developer for a SaaS company that helps startups bring their products to market. Musify’s new client wants to launch a music-streaming app connecting music artists and end users. For this large and complex application, Musify’s development team has chosen to take advantage of the microservices architecture, and it’s your job to create the first microservice for the app using Node.js technology. You’ll start by setting up the framework for the server using Express.js. Then you’ll build a CRUD (Create, Read, Update, and Delete) REST API in Node.js and Express that will allow artists to upload, find, and delete their music audio files as well as letting end users view and listen to songs according to their preferences. When you’re done, you’ll have experience using popular Node.js technology to create a backend REST API ready to deploy.

Project 2 Publish the Service

You’re a software engineer at Musify, a SaaS company that helps companies launch their products. For its newest client, Musify has created a REST API that allows music artists to upload and delete their audio files as well as letting end users view and listen to songs according to their preferences. Your task is to set up the microservice structure using Docker and deploy the REST API to the Azure portal. You’ll write instructions in a Dockerfile to create and run a custom Docker image in a container. You’ll create a container registry in the Azure portal and push the Docker image to an Azure container registry in the cloud. When you’re finished, you’ll have the know-how and experience to publish a microservice to Azure, and the development team will be able to easily and conveniently access, run, and update the application.

Project 3 Data Management

Musify, a SaaS company that helps startups bring their products to market, has a client who wants to launch a Spotify-inspired app that will connect music artists with their fans. Musify has already built the first microservice for the app in Node.js and deployed it on an Azure container registry. As a software engineer at Musify, your job is to create a microservice for storing audio files on Azure and enable communication between microservices. You’ll create an Azure Storage account, upload an audio file to the account, and write the HTTP request handler for downloading and streaming the file. You’ll use Docker Compose to run and manage both microservices, and you’ll call one microservice from within the other using the HTTP package. Lastly, you’ll connect the first microservice to a MongoDB database to store the song records. When you’re done, you’ll have the skills and knowledge to build and manage multiple microservices and connect databases to your application using Docker and Docker Compose.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Build Your First Microservice project for free

It was a valuable experience. I will definitely use it at work.

Alex Khvatov, Associate director of software engineering, IQVIA Inc.

The instructions are clear and easy to understand.

Anooplal Hariharan, Full Stack Developer, Nilan Consulting

project author

Haider Malik
Haider Malik is a senior full-stack web developer and instructor passionate about helping others learn web development. He’s created over 20 web development courses on Udemy, and his student roster is almost 50,000 strong.

Prerequisites

These liveProjects are for Node.js developers who know the basics of JavaScript and are interested in learning how to build a microservices application with Node.js. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Docker (minimum version 20.10.11)
  • Azure Portal
  • Node.js
  • Docker Compose
  • Postman
  • Express.js
TECHNIQUES
  • Create a microservice
  • Publish a microservice
  • Manage data for a microservice

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.