So then the NoSQL database that we're going to be using is called Firestore, and it's provided to us by a service called Firebase, which is owned by Google. Now Firebase is known as a backend as a service. It provides us with a complete backend solution to all of our websites, meaning as front end developers, we don't need to worry about setting up a server to do things like interact with a database or run server side code or handle authentication of users. Firebase is an out of the box service which can help us do all of this without having to set up our own server. So it comes with some amazing different features such as authentication, hosting, cloud functions, cloud storage, and most importantly to us, a real time database or the new version Cloud Firestore. And the best thing about this is that it's completely free for small applications and websites. Now, before you use any of Firebase services, you have to sign up for a free account. So make sure you sign up. First of all, there should be a sign up link up here. I'm already logged in and once you've signed up and logged in, then you should see this. Go to console link at the top. So click on that and that's going to take you to what's known as your firebase console. And eventually my internet speeds up. Then I'll see it as well. Here we go. So this is going to list all of your different Firebase projects. Now I've already got two on the go, but I'm going to create a brand new one for this series. So let me add a new project and all we need to do is add a title. Now I'm going to call this Udemy hyphen modern hyphen JavaScript and then I'm going to click Accept at the bottom and then create this project. Now this is just going to take about 20 to 30s at most, and then once it's done, it's going to give you a link to go to your dashboard so we can see the new project is ready. So I'm going to continue and this takes us to the dashboard for our new project that we just created. So this area is the control center for the back end of your website. So anything server side that you need to do to set up or configure, you can do it from this area and you can see all of the different features that we have right here. Now, I'm not going to delve into all of these different features, but what I will talk a lot about is the database. So I'm going to click on that right here. But if you want to learn more about Firebase as a whole and the different features, I've got loads of extra free tutorials on my YouTube channel. All you have to do is search for the Net Ninja on YouTube. So anyway, now we're going to create a new Firestore database. Now Firebase actually comes with two types of database. There's the Firestore, which is what we're going to be using, and that is the newer type of database and there's the older real time database as well, which is still good, but this is the newer one and this is what I think is the better one. So we're going to create a new Firestore database now automatically it's going to start you in locked mode. And what that means is that it's going to create some Firestore rules which secures your data. Now, we don't want to do this because it means that we're not going to be able to interact easily with our database. So we're going to start in test mode. And that basically means that anyone who has your firebase information or Firestore information can potentially connect to it and can read and write data to and from it. So in the future it's important to go back to locked mode or create your own Firestore rules to secure that data. Now again, I'm not going to go into too much detail about this. We might touch on these later, but if you want to learn more about authentication and Firestore rules, again, do check out my playlist on YouTube. It's all on there for free. So we're just going to be concerned with reaching out to the database and interacting with it, saving data to it and retrieving data from it. So we're going to start in test mode so we can do that and then click Enable. So that's going to then redirect you to your new database. And you can see over here we can add collections to this database. Now, like I said, we can have as many different collections as we want. We're just going to create a single collection. And this is the collection ID, I'm just going to call it recipes. So our collection is now called Recipes. Now, the first thing that happens when you create a new collection is that Firestore is going to ask you to create the first document inside that collection. Now, remember, documents represent single records and they're very much like JavaScript objects. They have key value pairs now they're called field and value in Firestore. So what I could do is create a field, for example, called title, and this is going to be the data type string, but we could choose a different one and the value is going to be, I don't know, veg and tofu ninja curry. All right. And then. If you want to add a new field, we can do so. This field would be an author maybe. And this is also going to be a string. And I'm going to make the author right. And we'll add one more and we'll call this created underscore art. And we'll set this equal to a timestamp, which is a special type of object that it's going to store for us. And I'm going to set the date to be today and the time we'll leave as that. So that's our different fields or properties, if you like, of this first document object created. Now this thing at the top, I'm going to leave because if we leave this blank, then Firestore is going to automatically generate a unique ID for us. Remember I said that every document in Firestore has a unique ID and we can use those IDs later on to go out and query the database and get documents. So leave that blank and Firebase will automatically assign this a unique ID, then press save and we're going to notice. First of all, we have a recipes collection over here. And if I click on that, then we're going to see all of the recipes that we have now. Currently we only have one document, and this is where all the documents will be listed for that collection. And this document has this big ID right here. This is the unique ID that Firestore created for us. And clicking on one of these documents gives us details about the documents, the author property, the created app, which is a timestamp and the title. So these are the things that we entered a minute ago. Now, if you wanted to add a new field to this, you could do right here. Or if you wanted to add a sub collection, you could do. But I'm not going to delve into that just yet. That kind of goes beyond the scope of this lesson. But what I will do is add another document inside this collection. So just press add document again, leave this blank so it auto generates the ID, We'll do another title, which is a string. This time we'll call it the Spring Green Burrito. And then the next field is going to be the author who created this. It will be Chun-li and then created at again. This is going to be a timestamp. I'll choose today's date like so and save this. So now we have two documents inside this collection. We have this one and this one we just created. So now we have our first collection and our first two documents inside that collection. Now, ideally, what we want to be able to do is interact with this database and this collection from the code. So I'm going to show you how to do that in the next lecture.