Tech Stack and Resources
Learn what technologies we’ll use in the course, which resources can help us, and where to find the source code.
Technologies
The chosen technologies for this course are as follows:
Node.js
Node.js is a popular, cross-platform, and open-source JavaScript runtime environment for back-end development. Node.js is supposed to be used outside the browser context, which allows more support for traditional operating system APIs, like file system APIs.
We’ll use Node.js to develop the backend of our application. Node.js is trending nowadays. In fact, it’s one of the most widely-used technologies on the market. That’s probably because it’s built on top of JavaScript, the most used language on the web. According to Stack Overflow, Node.js is used by 50.4% of the web. It’s fast, productive, performant, concise, easy to learn, and has a large and thriving community.
Express
Express is an open-source, fast, minimalist, and unopinionated Node.js framework. It’s used to design and build web applications quickly and easily. Express adds more functionality to Node.js because of additions like middleware and routing. (Both of these terms will be discussed at length later.)
Express has rapidly become the most-used, standard server framework for Node.js. It helps us easily organize the backend of the application into a Model-view-controller (MVC) architecture. It also helps us manage almost everything in the application, like routing, requests, and views.
MongoDB
MongoDB is an open-source, document-oriented database, that’s categorized as a not only SQL (NoSQL) database. It stores data in the form of document collections. The basic unit used to store the data is a JSON-like document. Each document consists of a set of key-value pairs, and a set of documents associated with a set of functions is called a collection.
We’ll use MongoDB as the application database. It’s fully scalable, fast, dynamic, easy to learn—especially if we’re familiar with JavaScript—and has a large community.
React with Context API
React is a component-based JavaScript library for building user interfaces in front-end development. It’s based on the MVC architecture, which is used to manage the view that determines what the user sees and feels.
The Context API is a mechanism that allows React to manage the global state—that is, all the data passed in the application. We can think of the Context API as the global variables manager.
We’ll use React to help us build the application UI. React provides great features like JSX, flexibility, excellent developer experience, and a large community. The Context API itself is one of the most important features of React.
Tailwind CSS
Tailwind CSS is a utility-first, modern CSS framework used to build custom user interfaces quickly. This framework allows users to code the user interface (UI) using pre-made classes instead of writing custom CSS code., So, Tailwind CSS helps make development faster.
Tailwind CSS mainly concentrates on what should be displayed to the user, instead of the functionality of the component. This helps the developer to easily style their UI.
That’s not all. We’ll cover a lot more in this course. In the next chapter, we’ll delve deeper into the technical stuff.
Helpful resources
Below are some helpful links, guides, and other resources that we may need throughout the course. Remember, many of the issues that arise while coding have been discussed at length on various discussion boards. So, the answers to most coding challenges are often just a Google search away!
Node.js documentation
As we discussed before, Node.js will be the language that we’ll use to develop the back end and server side of the Node.js has great application documentation that consists of different parts. For example, we can find a separate section for learning. The documentation is a major resource for learning Node.js in this course.
MongoDB documentation
MongoDB is a document-oriented NoSQL database that we’ll use to manage and store the application data in this course. MongoDB has lengthy documentation that covers almost everything we need to know. If we’re stuck at any point while working with this database or want to learn how to implement some queries, we’ll most likely find what we need in the documentation.
React documentation
React is a JavaScript UI library that we’ll use to develop the front-end of the application in this course. React has great, and well-organized documentation that’s suitable for developers’ for levels that range from beginner to expert. These relevant documents are worth reading, even for those who are well-acquainted with React.