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.