All language subtitles for 005 Preparing Our App for Deployment_Downloadly.ir_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,030 --> 00:00:04,400 We're almost ready to deploy our application now. 2 00:00:04,400 --> 00:00:05,860 But before we do that, 3 00:00:05,860 --> 00:00:07,750 there is actually a couple of things 4 00:00:07,750 --> 00:00:09,410 that we should take care of. 5 00:00:09,410 --> 00:00:10,883 And so let's do that now. 6 00:00:12,640 --> 00:00:14,570 And the first thing that I want to do 7 00:00:14,570 --> 00:00:15,837 is to install a package 8 00:00:15,837 --> 00:00:19,060 that's gonna compress all our responses. 9 00:00:19,060 --> 00:00:22,820 So basically, whenever we send a text response to a client, 10 00:00:22,820 --> 00:00:26,020 no matter if that's JSON or HTML code. 11 00:00:26,020 --> 00:00:27,520 With the compression package, 12 00:00:27,520 --> 00:00:30,820 that text will then be dramatically compressed. 13 00:00:30,820 --> 00:00:33,990 All right, so let's install here. 14 00:00:33,990 --> 00:00:38,123 Npm install, and simply, compression. 15 00:00:39,400 --> 00:00:40,233 All right. 16 00:00:41,200 --> 00:00:42,863 So let's include that here. 17 00:00:51,061 --> 00:00:53,160 Now, so this will then expose 18 00:00:53,160 --> 00:00:54,983 a very simple middle layer function 19 00:00:54,983 --> 00:00:56,820 that we simply have to plug 20 00:00:56,820 --> 00:00:59,020 into our middle layer stack. 21 00:00:59,020 --> 00:01:00,773 So let's do that somewhere here. 22 00:01:02,110 --> 00:01:05,260 Close to the end, doesn't really matter. 23 00:01:05,260 --> 00:01:07,133 So app.use, 24 00:01:08,060 --> 00:01:10,570 enter in there call compression. 25 00:01:10,570 --> 00:01:13,400 So this here will then return a middle left function 26 00:01:13,400 --> 00:01:15,620 which is then again going to compress 27 00:01:15,620 --> 00:01:17,910 all the text that is sent to clients. 28 00:01:17,910 --> 00:01:20,520 So it's not going to be working for images 29 00:01:20,520 --> 00:01:23,240 because these are usually already compressed. 30 00:01:23,240 --> 00:01:26,393 So for example, a JPEG format is already compressed. 31 00:01:28,090 --> 00:01:30,780 So this is only going to be working for text. 32 00:01:30,780 --> 00:01:33,490 So once our website is actually deployed, 33 00:01:33,490 --> 00:01:37,490 we will then test if this compression is actually active. 34 00:01:37,490 --> 00:01:40,540 Anyway, the next step before deploying our app 35 00:01:40,540 --> 00:01:43,820 is to get rid of most of the console.logs 36 00:01:43,820 --> 00:01:45,460 that we still have in our code. 37 00:01:45,460 --> 00:01:48,230 And that's just because these logins will end up 38 00:01:48,230 --> 00:01:50,053 in our hosting platform logs. 39 00:01:50,990 --> 00:01:54,690 And so we don't want to pollute these logs in production. 40 00:01:54,690 --> 00:01:55,730 Okay. 41 00:01:55,730 --> 00:01:58,173 So let's just quickly search here for console. 42 00:02:01,310 --> 00:02:03,563 And as you can see, there are a lot of them. 43 00:02:04,400 --> 00:02:06,830 So this one is already commented out. 44 00:02:06,830 --> 00:02:09,562 So I'm not going to work on that one. 45 00:02:11,009 --> 00:02:13,870 But this one here, let's actually get rid of. 46 00:02:13,870 --> 00:02:15,370 And so now, one by one, 47 00:02:15,370 --> 00:02:17,620 we will take a look at all of them 48 00:02:17,620 --> 00:02:19,230 and the ones that are not relevant 49 00:02:19,230 --> 00:02:21,700 we will simply comment them out. 50 00:02:21,700 --> 00:02:22,880 All right. 51 00:02:22,880 --> 00:02:26,330 Here in the error controller we also have a ton of them 52 00:02:26,330 --> 00:02:28,033 but some are actually relevant. 53 00:02:29,570 --> 00:02:31,130 Now, not this one. 54 00:02:31,130 --> 00:02:33,130 Let's actually get completely rid of it. 55 00:02:36,970 --> 00:02:38,240 Also not this one, 56 00:02:38,240 --> 00:02:40,190 but then here we have these three 57 00:02:40,190 --> 00:02:41,920 that we actually created on purpose 58 00:02:41,920 --> 00:02:45,520 so that they end up in our hosting platform logs. 59 00:02:45,520 --> 00:02:46,353 Okay. 60 00:02:46,353 --> 00:02:49,140 So remember that we set it up in a way 61 00:02:49,140 --> 00:02:52,290 that when there is an error on the render website 62 00:02:52,290 --> 00:02:54,160 then we'd then get a log 63 00:02:54,160 --> 00:02:56,150 of the error that actually happened. 64 00:02:56,150 --> 00:02:58,550 Together with this emoji here. 65 00:02:58,550 --> 00:03:00,470 And so each time we see this, 66 00:03:00,470 --> 00:03:02,950 we can then easily identify in our logs 67 00:03:02,950 --> 00:03:05,890 that something bad happened on our side. 68 00:03:05,890 --> 00:03:08,310 Okay, and so we have a couple more here. 69 00:03:08,310 --> 00:03:11,250 For example, for other unknown errors where we 70 00:03:11,250 --> 00:03:14,720 do not want to leak the error details to the client. 71 00:03:14,720 --> 00:03:17,293 And so these ones are okay to keep them. 72 00:03:18,380 --> 00:03:20,250 This one we also want to keep 73 00:03:20,250 --> 00:03:22,140 in order to inform us in the logs 74 00:03:22,140 --> 00:03:24,523 that the database connection was successful. 75 00:03:25,440 --> 00:03:27,186 These ones here as well. 76 00:03:27,186 --> 00:03:30,500 This one here is actually in the import-dev-data 77 00:03:30,500 --> 00:03:32,153 so they are not important at all. 78 00:03:34,290 --> 00:03:36,523 Anyway, all the logs here, let's keep them. 79 00:03:38,610 --> 00:03:41,298 Then here, we have this one here, 80 00:03:41,298 --> 00:03:45,020 that we only really did in order to use this middle layer. 81 00:03:45,020 --> 00:03:48,200 So let's actually turn off this middle layer. 82 00:03:48,200 --> 00:03:50,140 Which again we only really used 83 00:03:50,140 --> 00:03:52,733 to test this post find middle layer. 84 00:03:54,520 --> 00:03:56,533 Next up in the user model. 85 00:03:57,710 --> 00:04:00,690 Well, this one we also do not want. 86 00:04:00,690 --> 00:04:03,293 This was just once more for testing purposes. 87 00:04:04,210 --> 00:04:06,370 Then we have package JSON, 88 00:04:06,370 --> 00:04:08,593 so these are actually not even come to the logs. 89 00:04:08,593 --> 00:04:10,470 Then we have to bundle 90 00:04:10,470 --> 00:04:13,180 where we are not going to change anything. 91 00:04:13,180 --> 00:04:14,943 Then we have index.js. 92 00:04:17,180 --> 00:04:20,029 So that's our client side JavaScript. 93 00:04:20,029 --> 00:04:22,473 So let's get rid of this console.log here. 94 00:04:25,848 --> 00:04:28,840 Then we also have some more here in logout 95 00:04:28,840 --> 00:04:30,640 but this one let's actually keep it. 96 00:04:31,600 --> 00:04:33,263 Some more in stripe. 97 00:04:34,210 --> 00:04:36,840 And we're not interested here in the session. 98 00:04:36,840 --> 00:04:38,940 But this one here when there is an error 99 00:04:38,940 --> 00:04:40,133 is actually okay. 100 00:04:41,660 --> 00:04:43,560 And then in server.js, 101 00:04:43,560 --> 00:04:44,760 we have these ones here, 102 00:04:44,760 --> 00:04:47,160 which we actually, again, did on purpose. 103 00:04:47,160 --> 00:04:51,120 So that they really end up showing in our log files. 104 00:04:51,120 --> 00:04:53,170 And don't worry if you don't really know 105 00:04:53,170 --> 00:04:55,120 what I mean with log files. 106 00:04:55,120 --> 00:04:56,790 You will see once we actually put 107 00:04:56,790 --> 00:04:59,490 our application onto Heroku. 108 00:04:59,490 --> 00:05:02,980 So I will show you with the log files by then, all right. 109 00:05:02,980 --> 00:05:06,360 Anyway, all of these console.logs here 110 00:05:06,360 --> 00:05:07,373 are on purpose. 111 00:05:08,550 --> 00:05:10,010 And so is this one here 112 00:05:10,010 --> 00:05:12,533 about the successful database connection. 113 00:05:13,410 --> 00:05:14,320 This one here as well 114 00:05:14,320 --> 00:05:17,410 informing us the port where the app is running. 115 00:05:17,410 --> 00:05:20,063 And this one, and this one are also important. 116 00:05:21,440 --> 00:05:22,680 All right. 117 00:05:22,680 --> 00:05:25,080 And so with this we took care of all the 118 00:05:25,080 --> 00:05:27,880 unnecessary console.logs that we're only just 119 00:05:27,880 --> 00:05:30,210 polluting our log outputs. 120 00:05:30,210 --> 00:05:33,893 Okay, so let's close all of these files here. 121 00:05:40,020 --> 00:05:41,230 All right. 122 00:05:41,230 --> 00:05:42,460 And now, next step, 123 00:05:42,460 --> 00:05:45,190 let's change URLs or API codes 124 00:05:45,190 --> 00:05:47,073 in the client side, JavaScript. 125 00:05:48,540 --> 00:05:51,720 So for example here in login.js, 126 00:05:51,720 --> 00:05:54,170 right now we do this API codes 127 00:05:54,170 --> 00:05:56,300 to this development API. 128 00:05:56,300 --> 00:05:58,803 So here, we of course, have our development URL. 129 00:06:00,293 --> 00:06:01,126 And so like this, 130 00:06:01,126 --> 00:06:03,090 it's not going to work in production 131 00:06:03,090 --> 00:06:04,840 because obviously from there, 132 00:06:04,840 --> 00:06:08,740 we are not gonna be able to access any development URL. 133 00:06:08,740 --> 00:06:10,000 And the same up here. 134 00:06:10,000 --> 00:06:13,050 But fortunately, there is a very simple solution. 135 00:06:13,050 --> 00:06:17,360 So all we need to do is to really get rid of this part. 136 00:06:17,360 --> 00:06:19,760 So if we just delete it like this, 137 00:06:19,760 --> 00:06:22,740 then we're gonna end up with this relative URL. 138 00:06:22,740 --> 00:06:24,810 And since the API and the website 139 00:06:24,810 --> 00:06:27,060 are hosted on the same server 140 00:06:27,060 --> 00:06:29,430 this is gonna work perfectly fine. 141 00:06:29,430 --> 00:06:31,410 So doing it like this is a bit like 142 00:06:31,410 --> 00:06:35,550 specifying the path to images in the HTML. 143 00:06:35,550 --> 00:06:38,670 For example, here in the overview page, 144 00:06:38,670 --> 00:06:40,230 where we have these images, 145 00:06:40,230 --> 00:06:42,660 we just simply say "/img" 146 00:06:42,660 --> 00:06:44,990 and that will then go to the current URL 147 00:06:44,990 --> 00:06:48,510 and will then add that path onto to that. 148 00:06:48,510 --> 00:06:49,343 Okay. 149 00:06:49,343 --> 00:06:51,980 And so the same thing is going to be happening here. 150 00:06:51,980 --> 00:06:52,930 Okay. 151 00:06:52,930 --> 00:06:56,620 Now again, this only works because the API and the website 152 00:06:56,620 --> 00:06:59,310 are basically using the same URL. 153 00:06:59,310 --> 00:07:01,810 So we're hosting them on the same place. 154 00:07:01,810 --> 00:07:03,660 But if you were hosting your website 155 00:07:03,660 --> 00:07:05,880 or your front end on one URL, 156 00:07:05,880 --> 00:07:08,260 and then your API on another URL, 157 00:07:08,260 --> 00:07:11,110 then it wouldn't work like this, okay. 158 00:07:11,110 --> 00:07:14,730 But in this simple application we can just do it like this 159 00:07:14,730 --> 00:07:17,173 because we have this very simple set up. 160 00:07:20,160 --> 00:07:22,880 So let's delete it here in login. 161 00:07:22,880 --> 00:07:26,030 In the index I believe we don't have any URLs. 162 00:07:27,560 --> 00:07:28,563 Yeah that's right. 163 00:07:29,460 --> 00:07:31,140 Also not in the alerts. 164 00:07:31,140 --> 00:07:34,063 Not in Mapbox I believe. 165 00:07:36,090 --> 00:07:36,923 Nope. 166 00:07:38,280 --> 00:07:39,763 But certainly in stripe. 167 00:07:40,780 --> 00:07:42,523 So to get our session. 168 00:07:43,890 --> 00:07:46,880 So we can just do the exact same thing here. 169 00:07:46,880 --> 00:07:48,430 And also in the updateSettings. 170 00:07:52,940 --> 00:07:54,350 Okay. 171 00:07:54,350 --> 00:07:55,183 Give it a save. 172 00:07:55,183 --> 00:07:56,800 And all of them. 173 00:07:56,800 --> 00:07:59,780 And so that one is fixed as well. 174 00:07:59,780 --> 00:08:02,890 And now finally, and continuing working on 175 00:08:02,890 --> 00:08:04,460 the client side JavaScript, 176 00:08:04,460 --> 00:08:06,473 we need to create our final bundle. 177 00:08:07,370 --> 00:08:08,250 All right. 178 00:08:08,250 --> 00:08:11,420 So right now, this is our bundle JavaScript file. 179 00:08:11,420 --> 00:08:13,680 But remember that this was just created 180 00:08:13,680 --> 00:08:15,453 using the watch function. 181 00:08:17,607 --> 00:08:18,920 So in our package.json 182 00:08:18,920 --> 00:08:22,350 we have this watch.js script which will just create 183 00:08:22,350 --> 00:08:25,540 a new bundle whenever we change one of the files. 184 00:08:25,540 --> 00:08:27,030 But without any compression, 185 00:08:27,030 --> 00:08:29,723 or without any performance optimization. 186 00:08:30,720 --> 00:08:33,669 But now that we're really done with all our JavaScript 187 00:08:33,669 --> 00:08:36,429 we are ready to actually build our JavaScript 188 00:08:36,429 --> 00:08:38,200 into a final bundle. 189 00:08:38,200 --> 00:08:42,120 And here we should replace this watch with build, 190 00:08:42,120 --> 00:08:43,730 and so that will then create 191 00:08:43,730 --> 00:08:46,860 our final compressed JavaScript bundle. 192 00:08:46,860 --> 00:08:48,100 All right. 193 00:08:48,100 --> 00:08:50,590 So let's try that out here now. 194 00:08:50,590 --> 00:08:51,963 With npm run. 195 00:08:54,190 --> 00:08:57,023 And once more with tab to auto complete. 196 00:09:00,050 --> 00:09:01,810 So let's see if... 197 00:09:01,810 --> 00:09:03,530 And it's done. 198 00:09:03,530 --> 00:09:06,593 And so let's take a look at our bundle now. 199 00:09:07,610 --> 00:09:10,560 And to see that now, it's really 200 00:09:10,560 --> 00:09:12,003 this nicely compressed. 201 00:09:13,840 --> 00:09:14,800 All right. 202 00:09:14,800 --> 00:09:19,000 Now you also see that we have a ton of these new files here 203 00:09:19,000 --> 00:09:23,110 and that's because you're in our file tree. 204 00:09:23,110 --> 00:09:26,230 Parcel actually creates this cache folder. 205 00:09:26,230 --> 00:09:31,230 But we do not want that folder in our git depository. 206 00:09:31,360 --> 00:09:32,193 Right. 207 00:09:32,193 --> 00:09:33,300 So let's add that here. 208 00:09:38,610 --> 00:09:39,610 And so now 209 00:09:39,610 --> 00:09:42,280 you see that automatically as soon as we save it, 210 00:09:42,280 --> 00:09:44,560 it will then go back to 211 00:09:44,560 --> 00:09:47,910 the original files that were updated. 212 00:09:47,910 --> 00:09:48,743 Okay. 213 00:09:48,743 --> 00:09:51,380 So once more, VS Code is really smart 214 00:09:51,380 --> 00:09:54,380 about everything related to git. 215 00:09:54,380 --> 00:09:55,213 All right. 216 00:09:56,550 --> 00:09:57,383 Okay. 217 00:09:57,383 --> 00:09:59,403 And I think that's actually it. 218 00:10:00,755 --> 00:10:03,840 So our application is now prepared to really be deployed. 219 00:10:03,840 --> 00:10:06,800 And so now the last step is to actually commit 220 00:10:06,800 --> 00:10:10,300 all of these modified files to our repository. 221 00:10:10,300 --> 00:10:13,490 So remember that the first step is to add all the files 222 00:10:13,490 --> 00:10:14,643 to the staging area. 223 00:10:15,510 --> 00:10:19,740 So git add, and in this case, all of the files. 224 00:10:19,740 --> 00:10:20,660 All right. 225 00:10:20,660 --> 00:10:24,880 And now all we need to do is git commit, 226 00:10:24,880 --> 00:10:27,907 then the message, and let's say, 227 00:10:27,907 --> 00:10:32,907 "Prepared app for deployment". 228 00:10:34,970 --> 00:10:35,803 Great! 229 00:10:35,803 --> 00:10:38,820 So you see that all our modifications are gone. 230 00:10:38,820 --> 00:10:40,290 Also from here. 231 00:10:40,290 --> 00:10:42,700 Which means that the current working branch, 232 00:10:42,700 --> 00:10:44,333 is so called clean. 233 00:10:45,735 --> 00:10:48,810 And so yeah, we're actually now ready to deploy our app 234 00:10:48,810 --> 00:10:49,823 in the next video. 17119

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.