Chapter 3:Building a Multi-Platform Backend Using Visual Studio Code
In the previous chapters, we spent time understanding and getting acquainted with the tool and its important features. To use Visual Studio Code (VS Code) for developing enterprise-grade applications, the best way would be to take a use case and go through the complete software development life cycle. For this purpose, we have selected Job Ordering System (JOS) as our example.
First, let's talk about the use case we have selected. JOS is an application that will provide users with the ability to request services online. These requests can be related to cleaning, fixing, or anything else. Users can go online, select a particular job type, enter the requested date and time, and submit their request. This request will be automatically picked up by the system and assigned to an agent. The system will also trigger an email notification to the agent.
The frontend of the application will be developed using the Angular framework, while the backend will be developed on a microservices architecture. Job requests by the user will be handled by a Node.js service; agent activities will be managed using a Java service based on the Java Spring Boot framework; the notification service will be developed using Python, and the integration service will be developed using .NET Core. The application will be cloud native, leveraging Azure services.
In this chapter, we will start building the JOS application and first discuss the application architecture. Moving on, we will discuss some key concepts of Azure resource groups and discuss various services part of the cloud-native application architecture. Finally, we will create microservices on different languages and see how VS Code fits well for developing applications as well as for provisioning Azure services.
In line with the preceding introduction, we will cover the following topics in this chapter:
- Overview of our application architecture
- Provisioning managed resources on Azure
- Building a job application programming interface (API) using Express JS in Node.js
- Building a schedule API in Java using the Java Spring Boot framework
- Building a notification API in Python