1
00:00:02,020 --> 00:00:04,920
So now we got this basic app.js file.

2
00:00:04,920 --> 00:00:08,250
Before we now dive into writing more code,

3
00:00:08,250 --> 00:00:11,090
let's set up a basic project structure.

4
00:00:11,090 --> 00:00:14,450
At least that is a step I typically like to begin with,

5
00:00:14,450 --> 00:00:16,960
because I know that we will certainly

6
00:00:16,960 --> 00:00:20,580
have a couple of views, a couple of controllers, and models.

7
00:00:20,580 --> 00:00:23,230
Since we will use the MVC pattern,

8
00:00:23,230 --> 00:00:25,620
the Model View Controller pattern.

9
00:00:25,620 --> 00:00:28,780
And we're also going to add more folders and files,

10
00:00:28,780 --> 00:00:33,373
but at least the views and then the models,

11
00:00:34,890 --> 00:00:37,560
and then the controllers folder,

12
00:00:37,560 --> 00:00:41,350
these three folders make a lot of sense to be added.

13
00:00:41,350 --> 00:00:45,120
The node_modules folder, as you learned before in the course

14
00:00:45,120 --> 00:00:47,620
was not added directly by us,

15
00:00:47,620 --> 00:00:51,530
but instead indirectly by installing third-party packages,

16
00:00:51,530 --> 00:00:54,900
because that is the folder that does hold those packages,

17
00:00:54,900 --> 00:00:57,820
and we don't need to work in it itself.

18
00:00:57,820 --> 00:01:00,760
Now we could also create a couple of sub folders

19
00:01:00,760 --> 00:01:02,240
or files already,

20
00:01:02,240 --> 00:01:04,800
but the only thing I wanna do right now

21
00:01:04,800 --> 00:01:06,720
is in that views folder,

22
00:01:06,720 --> 00:01:10,150
I will actually add an auth sub folder.

23
00:01:10,150 --> 00:01:14,440
And that is something I haven't done before in this course.

24
00:01:14,440 --> 00:01:16,500
In this course, up to this point,

25
00:01:16,500 --> 00:01:19,050
I basically had all my view files

26
00:01:19,050 --> 00:01:21,300
directly in the views folder.

27
00:01:21,300 --> 00:01:25,683
And then I only had an includes folder for included files.

28
00:01:26,560 --> 00:01:30,260
Now in this course project we are working on here,

29
00:01:30,260 --> 00:01:33,590
will have a bunch of views, a lot of views,

30
00:01:33,590 --> 00:01:35,870
and therefore, to bring more structure

31
00:01:35,870 --> 00:01:39,900
into all those views, I'll structured them by feature.

32
00:01:39,900 --> 00:01:42,930
So the auth folder in the views folder

33
00:01:42,930 --> 00:01:46,720
will hold all the authentication related views.

34
00:01:46,720 --> 00:01:48,530
I'll also add an admin folder,

35
00:01:48,530 --> 00:01:51,430
which will hold the administration-related views,

36
00:01:51,430 --> 00:01:52,743
which we will add later.

37
00:01:53,640 --> 00:01:56,610
I will also add a products folder,

38
00:01:56,610 --> 00:02:00,850
which you guessed it, will hold the product related views.

39
00:02:00,850 --> 00:02:04,300
And then also a cart folder,

40
00:02:04,300 --> 00:02:09,300
which holds all the cart and maybe also order-related views.

41
00:02:09,479 --> 00:02:13,350
And we could add more, but this is a general structure,

42
00:02:13,350 --> 00:02:14,910
which we can already set up.

43
00:02:14,910 --> 00:02:17,210
And which I wanna discuss right now,

44
00:02:17,210 --> 00:02:21,000
so that it's clear that I will be using those sub folders

45
00:02:21,000 --> 00:02:24,910
to clearly structure my different view files.

46
00:02:24,910 --> 00:02:28,370
Because as you will see from the this course section,

47
00:02:28,370 --> 00:02:31,540
the project we're working on is rather big,

48
00:02:31,540 --> 00:02:34,540
and therefore, keeping your code and your files

49
00:02:34,540 --> 00:02:38,160
organized is key, otherwise working on your code

50
00:02:38,160 --> 00:02:40,790
will become very cumbersome in the future.

51
00:02:40,790 --> 00:02:44,290
And therefore, that's the base structure I'll use.

52
00:02:44,290 --> 00:02:45,730
Now, another folder,

53
00:02:45,730 --> 00:02:48,290
which we can already add to our project set up

54
00:02:48,290 --> 00:02:51,720
is a routes folder because we'll have different routes

55
00:02:51,720 --> 00:02:54,750
and I wanna organize them across different files,

56
00:02:54,750 --> 00:02:56,730
so that I have one file

57
00:02:56,730 --> 00:02:59,410
with the authentication-related routes,

58
00:02:59,410 --> 00:03:03,090
one file with the admin-related routes and so on.

59
00:03:03,090 --> 00:03:06,060
So basically that's the idea for the overall project,

60
00:03:06,060 --> 00:03:09,590
organizing our code, splitting our code.

61
00:03:09,590 --> 00:03:13,210
And since I wanna start with the auth feature,

62
00:03:13,210 --> 00:03:16,280
let's maybe start by going to that routes folder

63
00:03:16,280 --> 00:03:19,810
and adding an auth.js file in there.

64
00:03:19,810 --> 00:03:22,340
Actually that file would be perfectly fine,

65
00:03:22,340 --> 00:03:25,550
but I'll name it auth.routes.js,

66
00:03:25,550 --> 00:03:29,500
not because this is any kind of special file extension,

67
00:03:29,500 --> 00:03:31,570
it's a regular file name still,

68
00:03:31,570 --> 00:03:34,180
but simply so that later in the project,

69
00:03:34,180 --> 00:03:37,340
once I'm working with tons of different files,

70
00:03:37,340 --> 00:03:39,790
I don't have an auth file here,

71
00:03:39,790 --> 00:03:42,940
and auth filed somewhere else in the project

72
00:03:42,940 --> 00:03:44,920
because we could have auth controller,

73
00:03:44,920 --> 00:03:46,820
which has all the named auth.js.

74
00:03:46,820 --> 00:03:49,130
And this can become confusing,

75
00:03:49,130 --> 00:03:52,950
therefore I'm naming this auth.routes.js.

76
00:03:52,950 --> 00:03:56,350
I could have also chosen auth-routes.js,

77
00:03:56,350 --> 00:03:58,620
I just preferred the dot notation.

78
00:03:58,620 --> 00:03:59,790
But now this is the file

79
00:03:59,790 --> 00:04:02,170
that will hold my auth-related routes.

80
00:04:02,170 --> 00:04:05,200
And hence in this file here,

81
00:04:05,200 --> 00:04:07,970
we now do what we learned before in the course.

82
00:04:07,970 --> 00:04:11,760
We use express router to register a couple of routes.

83
00:04:11,760 --> 00:04:13,340
And then in the next step,

84
00:04:13,340 --> 00:04:16,930
we'll wire that up to our app.js file.

85
00:04:16,930 --> 00:04:18,860
So in here, we first of all again,

86
00:04:18,860 --> 00:04:20,910
start by requiring express,

87
00:04:20,910 --> 00:04:23,390
and that's important by the way.

88
00:04:23,390 --> 00:04:25,630
Of course, you'll learn that from the course already,

89
00:04:25,630 --> 00:04:27,850
but I wanna emphasize it here again,

90
00:04:27,850 --> 00:04:30,200
since the idea oft his course section

91
00:04:30,200 --> 00:04:32,784
is to practice everything again.

92
00:04:32,784 --> 00:04:36,500
We did already require express in app.js,

93
00:04:36,500 --> 00:04:39,130
so you could think that you don't need to do it again,

94
00:04:39,130 --> 00:04:41,900
if you also wanna use it in a different file,

95
00:04:41,900 --> 00:04:45,820
but that's not how NodeJS works.

96
00:04:45,820 --> 00:04:48,640
If you wanna use a certain package,

97
00:04:48,640 --> 00:04:52,380
a certain object, or feature that is being exported

98
00:04:52,380 --> 00:04:56,630
by another file, or package in some file,

99
00:04:56,630 --> 00:04:58,340
you always have to require it,

100
00:04:58,340 --> 00:04:59,983
you always have to import it.

101
00:05:00,930 --> 00:05:05,370
It's not enough to require express once in app.js,

102
00:05:05,370 --> 00:05:09,350
that only makes express available in this file,

103
00:05:09,350 --> 00:05:11,810
not in any other file.

104
00:05:11,810 --> 00:05:15,190
So if you wanna use features from the express package

105
00:05:15,190 --> 00:05:17,110
in another file as well,

106
00:05:17,110 --> 00:05:20,930
you have to require the express package in that other file.

107
00:05:20,930 --> 00:05:23,360
And that's why I'm requiring it again here

108
00:05:23,360 --> 00:05:25,313
in all auth.routes.js.

109
00:05:26,260 --> 00:05:27,410
Now, once it is required,

110
00:05:27,410 --> 00:05:30,140
we can construct such a router object

111
00:05:30,140 --> 00:05:32,980
by accessing express.Router,

112
00:05:32,980 --> 00:05:34,690
which is a function as you learned.

113
00:05:34,690 --> 00:05:37,710
And this simply creates such a router object.

114
00:05:37,710 --> 00:05:40,033
That's how the express package works.

115
00:05:41,560 --> 00:05:44,300
Then we can configure our router,

116
00:05:44,300 --> 00:05:45,860
we're going to do this year.

117
00:05:45,860 --> 00:05:48,460
I'll replace this comment soon.

118
00:05:48,460 --> 00:05:51,160
And in the end, we wanna export the router

119
00:05:51,160 --> 00:05:53,960
and you'll learn that in node applications

120
00:05:53,960 --> 00:05:56,980
and node websites, you can export

121
00:05:56,980 --> 00:06:00,120
by using module.exports.

122
00:06:00,120 --> 00:06:02,283
This might look a bit weird, but this in the ends,

123
00:06:02,283 --> 00:06:06,100
tells NodeJS which features, which objects,

124
00:06:06,100 --> 00:06:09,900
or functions that are defined in this file

125
00:06:09,900 --> 00:06:13,300
should be exposed to other files as well.

126
00:06:13,300 --> 00:06:16,640
And here all exposed the finished router.

127
00:06:16,640 --> 00:06:20,700
So to router with all the configuration we wanna have.

128
00:06:20,700 --> 00:06:22,800
Now, of course at the moment,

129
00:06:22,800 --> 00:06:25,610
it doesn't have any configuration yet.

130
00:06:25,610 --> 00:06:27,580
That's what we'll add now.

131
00:06:27,580 --> 00:06:32,230
Here, we can now use the router which we created in line 3.

132
00:06:32,230 --> 00:06:34,840
And you'll learn that this router object

133
00:06:34,840 --> 00:06:39,590
now has a couple of methods for registering different routes

134
00:06:39,590 --> 00:06:42,243
you might wanna support with your website.

135
00:06:43,100 --> 00:06:45,210
You can, for example, called the get method

136
00:06:45,210 --> 00:06:48,283
to accept get requests to a certain path.

137
00:06:49,250 --> 00:06:53,650
Or the post method to accept post requests.

138
00:06:53,650 --> 00:06:57,170
And you also actually learn about other HTTP methods,

139
00:06:57,170 --> 00:06:59,380
like patch or delete.

140
00:06:59,380 --> 00:07:03,200
I talked about those before in the course already.

141
00:07:03,200 --> 00:07:05,150
Just briefly, but I mentioned them.

142
00:07:05,150 --> 00:07:07,110
And you could all the register routes

143
00:07:07,110 --> 00:07:08,940
for these HTTP methods.

144
00:07:08,940 --> 00:07:11,650
And indeed we'll do that later in this course,

145
00:07:11,650 --> 00:07:13,550
but for the moment, we're going to start simple

146
00:07:13,550 --> 00:07:16,033
with a get request with a get route.

147
00:07:17,180 --> 00:07:20,210
Here, you then typically define the path.

148
00:07:20,210 --> 00:07:22,955
So to part after the domain,

149
00:07:22,955 --> 00:07:26,670
for which this route handler should become active.

150
00:07:26,670 --> 00:07:31,670
And that could be /signup so that this is our signup route,

151
00:07:31,910 --> 00:07:35,190
the route you visit for getting the signup page.

152
00:07:35,190 --> 00:07:37,000
And that's why it's a get request

153
00:07:37,000 --> 00:07:40,410
because this is not the route for getting the user data

154
00:07:40,410 --> 00:07:43,000
and for storing the user data anywhere.

155
00:07:43,000 --> 00:07:46,983
Instead, this is the route for just serving the signup page.

156
00:07:48,760 --> 00:07:51,410
Now you did then learn in this course

157
00:07:51,410 --> 00:07:53,760
that all these route handlers,

158
00:07:53,760 --> 00:07:56,930
which you define with help with express router,

159
00:07:56,930 --> 00:08:01,930
take middleware functions as arguments after this path,

160
00:08:03,580 --> 00:08:06,403
which you set up as a first parameter value.

161
00:08:07,379 --> 00:08:10,690
And indeed, you could now add multiple middleware functions

162
00:08:10,690 --> 00:08:13,250
that will be executed left to right,

163
00:08:13,250 --> 00:08:15,280
for all the incoming requests

164
00:08:15,280 --> 00:08:18,450
that are get requests targeting this path.

165
00:08:18,450 --> 00:08:22,540
But here we only need one final middleware function,

166
00:08:22,540 --> 00:08:24,820
which will handle the incoming request

167
00:08:24,820 --> 00:08:27,313
and which will send back a response.

168
00:08:28,160 --> 00:08:29,290
And we could do this

169
00:08:29,290 --> 00:08:32,110
by creating such a anonymous function here,

170
00:08:32,110 --> 00:08:34,520
that is one thing we could do.

171
00:08:34,520 --> 00:08:36,640
But I will not do that here.

172
00:08:36,640 --> 00:08:39,659
Instead, we learned about the MVC pattern

173
00:08:39,659 --> 00:08:42,809
and therefore, I wanna create a controller for that.

174
00:08:42,809 --> 00:08:46,360
So in that controllers folder, I'll add a new file,

175
00:08:46,360 --> 00:08:49,750
and I'll name it auth.controller.js.

176
00:08:49,750 --> 00:08:52,150
And again, I'm using this naming pattern

177
00:08:52,150 --> 00:08:53,750
only to avoid confusion,

178
00:08:53,750 --> 00:08:55,610
not because you have to,

179
00:08:55,610 --> 00:08:57,720
this could be named auth.js,

180
00:08:57,720 --> 00:09:01,160
and so could the routes of file be named like this.

181
00:09:01,160 --> 00:09:03,470
Also, if both files have to same name,

182
00:09:03,470 --> 00:09:06,390
but live in different folders, it would be fine.

183
00:09:06,390 --> 00:09:09,120
But here I'm working with auth.routes.js,

184
00:09:09,120 --> 00:09:12,530
and auth.controller.js to make it a bit easier

185
00:09:12,530 --> 00:09:14,350
to tell those files apart.

186
00:09:14,350 --> 00:09:17,523
Once I have them open up here at the top and so on.

187
00:09:19,170 --> 00:09:21,880
Now in this auth.controllet.js file,

188
00:09:21,880 --> 00:09:25,110
I wanna create the function that should become active

189
00:09:25,110 --> 00:09:28,003
when a get request reaches /signup.

190
00:09:29,090 --> 00:09:30,570
The function name is up to you,

191
00:09:30,570 --> 00:09:33,660
but all name it getSignup to make it clear that here

192
00:09:33,660 --> 00:09:36,963
we get the signup page, the signup view in the end.

193
00:09:38,010 --> 00:09:41,630
Now this function will get a request and a response object

194
00:09:41,630 --> 00:09:45,230
because it will be a regular express middleware function.

195
00:09:45,230 --> 00:09:48,540
And you'll learn that those functions get request response

196
00:09:48,540 --> 00:09:50,900
and next parameter values,

197
00:09:50,900 --> 00:09:54,410
where next is does special func you can call to send

198
00:09:54,410 --> 00:09:58,540
the incoming requests to the next middleware in line here.

199
00:09:58,540 --> 00:10:00,260
We don't need next at the moment,

200
00:10:00,260 --> 00:10:02,943
so I'll just accept request and response.

201
00:10:04,190 --> 00:10:06,120
Now the function doesn't do anything yet.

202
00:10:06,120 --> 00:10:07,670
We're going to add this.

203
00:10:07,670 --> 00:10:10,250
But it's also not too useful at the moment.

204
00:10:10,250 --> 00:10:12,280
It's just sitting here in this file,

205
00:10:12,280 --> 00:10:14,810
and of course, that's not too useful.

206
00:10:14,810 --> 00:10:18,020
We wanna use it in a different file instead.

207
00:10:18,020 --> 00:10:20,790
So therefore, again, we use module.exports

208
00:10:20,790 --> 00:10:23,740
and they could not adjust export to this function,

209
00:10:23,740 --> 00:10:27,250
but actually I'll define more functions in the near future.

210
00:10:27,250 --> 00:10:30,170
And therefore, I will instead export an object,

211
00:10:30,170 --> 00:10:33,230
which we can use to group multiple values

212
00:10:33,230 --> 00:10:34,740
or functions together.

213
00:10:34,740 --> 00:10:38,248
And in this object, I'll add a getSignup key.

214
00:10:38,248 --> 00:10:40,352
And the value for that key is a pointer

215
00:10:40,352 --> 00:10:43,185
at this get sign up function here.

216
00:10:44,160 --> 00:10:46,400
So we don't execute the function here,

217
00:10:46,400 --> 00:10:48,080
we have no parentheses,

218
00:10:48,080 --> 00:10:50,963
instead we just point at this function.

219
00:10:52,710 --> 00:10:55,803
And this makes it available outside of this file as well.

220
00:10:56,910 --> 00:11:00,300
Now that we're exporting this getSignup function,

221
00:11:00,300 --> 00:11:03,190
back in this auth.routes.js file,

222
00:11:03,190 --> 00:11:06,530
we can require our auth controller

223
00:11:06,530 --> 00:11:09,860
because you always need to require the things you wanna use.

224
00:11:09,860 --> 00:11:13,350
And for this, I'll create a constant named authController

225
00:11:13,350 --> 00:11:16,530
and store the imported value.

226
00:11:16,530 --> 00:11:18,610
So this object, which I'm exporting

227
00:11:18,610 --> 00:11:20,970
in the auth controller file in there

228
00:11:20,970 --> 00:11:25,970
by ../controllers/auth.controller.

229
00:11:28,610 --> 00:11:30,160
Now, in case you forgot,

230
00:11:30,160 --> 00:11:34,240
this ../ here means that I'm going up one level,

231
00:11:34,240 --> 00:11:37,000
and then here at the end, I don't have .js

232
00:11:37,000 --> 00:11:38,970
because with this require statement,

233
00:11:38,970 --> 00:11:42,423
you are allowed to emit the file extension.

234
00:11:43,300 --> 00:11:47,180
Now, for this going up one level thing, I need to do this

235
00:11:47,180 --> 00:11:50,510
because I'm requiring the auth.controller.js file

236
00:11:50,510 --> 00:11:53,030
from inside the auth.routes.js file.

237
00:11:53,030 --> 00:11:54,960
They are not in the same folder,

238
00:11:54,960 --> 00:11:58,380
so logically, I first need to go up one level,

239
00:11:58,380 --> 00:12:01,370
so that I'm in the main project folders, so to say.

240
00:12:01,370 --> 00:12:04,430
And then I can dive into the controllers folder

241
00:12:04,430 --> 00:12:06,933
where I then find the auth controller.

242
00:12:08,280 --> 00:12:09,113
And with that,

243
00:12:09,113 --> 00:12:13,720
we can now connect /signup to authController.getSignup,

244
00:12:13,720 --> 00:12:16,090
so that this function is triggered,

245
00:12:16,090 --> 00:12:20,653
whenever we get an incoming get request to /signup.

246
00:12:22,350 --> 00:12:25,150
Now we can also duplicate this route now

247
00:12:25,150 --> 00:12:27,490
and do the same for /login,

248
00:12:27,490 --> 00:12:31,760
so it would be all to serve a page with the login form.

249
00:12:31,760 --> 00:12:34,550
And for this and auth.controller.js,

250
00:12:34,550 --> 00:12:37,400
I'm quickly going to copy this function,

251
00:12:37,400 --> 00:12:39,690
and name it getLogin,

252
00:12:39,690 --> 00:12:43,170
and also expose it by using a key of getLogin

253
00:12:43,170 --> 00:12:45,533
and pointing at getLogin.

254
00:12:46,520 --> 00:12:48,470
So that here in the auth controller,

255
00:12:48,470 --> 00:12:52,450
getLogin is also defined and export it.

256
00:12:52,450 --> 00:12:57,350
And in auth.routes, we already require the auth controller,

257
00:12:57,350 --> 00:12:59,470
so here for the get login route,

258
00:12:59,470 --> 00:13:02,793
we can now simply point at getLogin like this.

259
00:13:03,690 --> 00:13:06,190
I'm also not executing the functions here

260
00:13:06,190 --> 00:13:08,320
because express should execute them,

261
00:13:08,320 --> 00:13:10,403
once we got incoming requests.

262
00:13:11,330 --> 00:13:13,870
And with that, the routes are defined here,

263
00:13:13,870 --> 00:13:17,870
or at least the first two routes are defined here.

264
00:13:17,870 --> 00:13:21,680
Now we can go to app.js and also make this file

265
00:13:21,680 --> 00:13:23,910
aware of these auth routes

266
00:13:23,910 --> 00:13:27,480
because that is something we have to do here.

267
00:13:27,480 --> 00:13:29,750
In this file, in app.js,

268
00:13:29,750 --> 00:13:32,720
I'll import my auth routes

269
00:13:32,720 --> 00:13:34,910
by again, requiring something,

270
00:13:34,910 --> 00:13:38,930
and since app.js already sits in the main project folder,

271
00:13:38,930 --> 00:13:41,560
we don't need to go up a level here.

272
00:13:41,560 --> 00:13:44,410
Instead here, we can directly create a relative path

273
00:13:44,410 --> 00:13:48,427
with ./routes/auth.routes.

274
00:13:51,130 --> 00:13:53,350
A ./ simply means,

275
00:13:53,350 --> 00:13:56,190
please look in the folder I'm currently in.

276
00:13:56,190 --> 00:13:59,960
So look for a routes folder in the folder I'm currently in,

277
00:13:59,960 --> 00:14:01,543
so in the project folder.

278
00:14:02,605 --> 00:14:04,930
For the packages, the third-party

279
00:14:04,930 --> 00:14:07,230
and built-in packages you're importing,

280
00:14:07,230 --> 00:14:09,513
you don't have ./ or ../,

281
00:14:10,470 --> 00:14:12,540
you just have to package name there,

282
00:14:12,540 --> 00:14:14,090
but for your custom files,

283
00:14:14,090 --> 00:14:16,720
you always need to define a path like this,

284
00:14:16,720 --> 00:14:19,340
which either starts with ./ or ../

285
00:14:20,580 --> 00:14:23,500
if you need to go up one level first.

286
00:14:23,500 --> 00:14:27,030
You can also have multiple ../ of each other

287
00:14:27,030 --> 00:14:29,430
if you need to go up multiple folders.

288
00:14:29,430 --> 00:14:31,113
That is always a possible.

289
00:14:32,740 --> 00:14:35,160
And now with the auth routes imported here,

290
00:14:35,160 --> 00:14:36,890
before we start listening,

291
00:14:36,890 --> 00:14:39,580
we can register them with app.use,

292
00:14:39,580 --> 00:14:43,560
which is a built-in method in the express app object

293
00:14:43,560 --> 00:14:45,990
that allows us to add a middleware

294
00:14:45,990 --> 00:14:49,063
that will be triggered for every incoming request.

295
00:14:50,240 --> 00:14:53,490
And we do wanna check for every incoming request.

296
00:14:53,490 --> 00:14:57,190
If this request is for one of these two routes.

297
00:14:57,190 --> 00:14:59,140
So therefore, we wanna use our middleware

298
00:14:59,140 --> 00:15:00,860
for every incoming request,

299
00:15:00,860 --> 00:15:02,450
and we do it like this.

300
00:15:02,450 --> 00:15:05,670
This makes sure that the auth routes middleware functions.

301
00:15:05,670 --> 00:15:07,930
So our router functions in there

302
00:15:07,930 --> 00:15:11,400
are evaluated for all incoming requests.

303
00:15:11,400 --> 00:15:13,120
Of course, our controller functions

304
00:15:13,120 --> 00:15:16,080
will then only be executed if the incoming request

305
00:15:16,080 --> 00:15:18,390
matches the criteria laid out here,

306
00:15:18,390 --> 00:15:21,373
so if it's a get request for one of these two paths.

307
00:15:24,100 --> 00:15:25,010
Okay.

308
00:15:25,010 --> 00:15:27,400
Now with that, we got the routes set up,

309
00:15:27,400 --> 00:15:29,960
but of course our controller functions

310
00:15:29,960 --> 00:15:32,730
aren't doing anything useful yet.

311
00:15:32,730 --> 00:15:35,580
The next step is to add a couple of views,

312
00:15:35,580 --> 00:15:40,173
so that we can return pages for signing up and logging in.

