0:00:24
welcome back guys uh to another episode
0:00:32
bill uh i messed out all right now mine
0:00:38
welcome back guys uh turn to another
0:00:40
show bill break and fix brought to you
0:00:47
you have raw quotas as
0:00:52
how we're feeling finesse
0:00:54
hey everyone hey zayn um yeah feeling
0:01:01
i need to get my background like you
0:01:08
sent it on the whatsapp group
0:01:10
chat already i think few there's a few
0:01:14
kind of days or weeks ago i can't
0:01:17
you say if you want
0:01:21
if you want me to send it to you by
0:01:24
email um yeah let me know
0:01:28
i just i it's all good like i just need
0:01:30
to set it up honestly
0:01:34
perfect no problem hey hey get down no i
0:01:38
love your punctuality
0:01:44
all right so before we start into the
0:01:48
let's play our respect to the eldest
0:01:51
past and present and the future and also
0:01:56
acknowledge acknowledge the real
0:01:58
concerns of the land so here we go
0:02:02
i begin today by acknowledging the
0:02:04
traditional custodians of the land on
0:02:06
which we gather today and pay my
0:02:08
respects to the elders past present and
0:02:10
future i extend their respect to
0:02:13
aboriginal and torres strait islander
0:02:24
just a if you guys didn't know um
0:02:27
i finished what's up because
0:02:32
but now he's feeling um
0:02:38
looking as a warrior so welcome back
0:02:44
missed you and those dev jokes as well
0:02:50
i missed the jokes
0:02:54
all right so it would be your turn to
0:02:57
choose a letter so three
0:03:09
okay what does everyone two see to be
0:03:13
yes today i think um
0:03:22
tori chose c as well
0:03:25
and before that i don't know why i chose
0:03:28
c as well oh yeah you chose
0:03:32
interesting okay um
0:03:36
we won't play the two that's closest to
0:03:40
the c we'll play some other one that's
0:03:43
so fifth one then closes
0:03:57
so into the space into space yeah yeah
0:04:08
you know this music reminds me of have
0:04:10
you ever played sims by the way
0:04:16
i think i did but yeah as
0:04:20
as i could many years back
0:04:24
i don't know if you remember but this
0:04:28
it's kind of same like what they play in
0:04:34
it sounds similar but i don't know
0:04:39
yeah now that we recall is
0:04:51
like yeah when the loading screen or
0:04:53
like when you yeah like building a house
0:04:57
yeah putting furniture and stuff here
0:05:00
yeah it's all coming back now
0:05:04
that's pretty cool yeah
0:05:08
that was one memories huh
0:05:10
they didn't have to worry about the
0:05:18
in our fantasy world no worries man
0:05:27
all right cool so just uh
0:05:30
give a bit of a background that what we
0:05:34
um so touring and i came up with an uh
0:05:39
it was predominantly tori then he came
0:05:42
up with an idea that to
0:05:44
get the board we can actually have two
0:05:50
form sections so one is saying get a
0:05:54
board and one is clear board and have
0:05:57
them as tabs oh okay
0:06:01
yeah and all that was because we had the
0:06:05
error message saying that you can't
0:06:09
create a board because this board
0:06:15
when you press the go button oh yes yes
0:06:18
yes yeah yeah yeah so
0:06:22
i thought that was a brilliant idea and
0:06:29
you know what happens when our principal
0:06:32
developer jumps on the screen
0:06:36
and he shares his wisdom and tell
0:06:40
shows us that come on now you can do
0:06:50
um he asked a question as in why are we
0:06:53
um building two forms sections so you
0:06:57
get a board and then creates a board
0:07:04
explained in the chat that this is the
0:07:07
reason why because we have got one error
0:07:09
message saying this and it functions in
0:07:13
so the principal developer you just get
0:07:18
an amazing person he goes
0:07:21
why not change the error message
0:07:28
listen here's a really small part
0:07:32
that's saved us from doing the entire
0:07:35
functioning functionality
0:07:40
modifying the error message
0:07:45
why not so at the moment we have the
0:07:48
error message saying board already
0:07:53
create another board with a new name
0:08:01
why not do board already exist or
0:08:04
incorrect passcode
0:08:09
does that make sense
0:08:12
port already exists or incorrect
0:08:14
passcode okay yeah that makes sense no
0:08:19
what would happen that if the user
0:08:21
chooses the existing board already and
0:08:25
his password is wrong
0:08:31
which clearly tells us that okay that's
0:08:34
not you your board
0:08:42
okay yeah that's good
0:08:48
board already exist or wrong passcode
0:08:53
yeah yeah yeah yeah
0:08:56
i'm thinking i'm a genius as well
0:08:59
as in we as in we all are genius because
0:09:04
jagdev chooses to help us
0:09:11
genius already as in
0:09:14
obviously he's a genius
0:09:16
genius too because we have a genius
0:09:23
in the in the same vicinity so
0:09:25
yeah counts i guess
0:09:29
okay yeah that's a good idea
0:09:37
when we when users send um
0:09:40
that link to to other people do they
0:09:43
need the passcode as well
0:09:47
when they send the board to other people
0:09:55
would they need the passcode
0:09:58
i'm pretty sure tori brought up this the
0:10:01
other day and i did on
0:10:04
but i've got the answer
0:10:10
i think probably not and they wouldn't
0:10:18
i don't want to give the normal users
0:10:23
the ability to save as an interactive
0:10:40
the passcode is only necessary for like
0:10:44
actions okay yeah okay
0:10:47
because if we let normal users save to
0:10:52
they'll basically spam them
0:10:55
then that they don't
0:11:04
that would i would say that's at least
0:11:12
that's true for one board which is
0:11:19
cool makes sense so actually we need to
0:11:22
add those at that kind of functionality
0:11:24
as well to hide the save button and all
0:11:26
of that yeah yeah so all
0:11:32
if the user it hasn't got the password
0:11:36
as in in it in the database in himself
0:11:40
then he won't be able to see the save
0:11:45
admin will who has the passcode in his
0:11:59
cool now that we're on the same page
0:12:02
which is brilliant um so the only
0:12:05
functionality left
0:12:07
as in for the mvp is to
0:12:13
no to wire up the get functionality
0:12:16
so when the user wants to get his board
0:12:21
enter his board and his passcode
0:12:27
it will only work if both are correct
0:12:33
support and the passcode is correct
0:12:54
i'm going to share my screen
0:13:20
don't get bored functionality yep that
0:13:37
so what we were doing
0:13:43
we want so how we would start is
0:13:53
we would have to change the condition of
0:13:56
the validation in the go button
0:14:05
what do you mean by that's it
0:14:09
click the go button and then it
0:14:11
validates that if that board already
0:14:13
exists or not oh yeah yeah
0:14:19
we already have the boards coming on
0:14:26
do is they have the board and their
0:14:38
so how would that happen is
0:14:45
that is working so i'm gonna just
0:14:50
actually not in that one
0:15:04
oh yeah and by the way
0:15:10
this a bit as well yeah looks better
0:15:19
so what we need to do is we need to
0:15:23
when this one is pressed
0:15:41
this is a create board
0:15:46
in script.js isn't it
0:15:52
no maybe still front end
0:16:00
on name yeah you're right
0:16:05
let's go to home page
0:16:07
to save button we don't need that
0:16:09
okay that's submit tip so get valid
0:16:14
wow okay this is what tori did
0:16:19
so what's happening here is a
0:16:23
form there instance
0:16:30
it checks if it's a valid passcode
0:16:34
then it returns the passcode and then
0:16:40
it checks if it's a valid passcode
0:16:45
from here yeah that would make sense
0:16:49
and then if the passcode dot length is
0:16:56
on passcode is not the
0:17:02
okay perform together and
0:17:05
create a new board
0:17:11
okay so if you go into that
0:17:16
you should be doing the validation of
0:17:18
the thing over here
0:17:20
if bournemouth name includes
0:17:24
board net includes board name okay yeah
0:17:27
then return open ah okay so i would
0:17:36
so we need to include another
0:18:22
um i was gonna say
0:18:27
in that condition that we have right
0:18:30
where we're checking for um the board
0:18:35
then log the board name and then
0:18:41
the passcode for that given board name
0:18:54
how thinking we can basically do it
0:18:58
there you know how we are getting all
0:19:03
we can basically alter this method to
0:19:06
get bored and board names and the
0:19:11
but then the thing is saying like
0:19:14
we can right but then
0:19:16
we don't want to just check any part we
0:19:18
only want to check for the passcode
0:19:19
matching the board right so
0:19:22
yes which is why the
0:19:25
so you would be kind of
0:19:29
you know let me go there so you know how
0:19:32
this is coming up as a board object
0:19:40
will have board name and its associated
0:19:47
does that make sense
0:19:57
let me just check how are the board
0:19:59
names coming at the moment
0:20:05
okay this kind of will be a bit
0:20:09
see because i don't know
0:20:16
the board names actually being
0:20:21
so this is board name
0:20:27
i'll do this get bored names
0:20:42
i can basically do this
0:21:00
know how they're coming we can basically
0:21:05
a particular field and exit
0:21:10
all right so refresh
0:21:28
oh doesn't want to come
0:21:35
oh why am i thinking
0:21:40
this is right on point
0:21:44
oh it's not being returned
0:21:51
so that's where it's not printing like
0:22:09
no we're still not coming in there
0:22:42
home page load here
0:22:52
returning that one
0:22:54
and then go to my page load
0:23:48
why is he not doing it
0:23:55
index this is where you should do it
0:24:53
local dev environment
0:24:56
board from query string
0:25:10
actually you know what we're gonna do
0:25:16
i'm gonna simply do
0:25:36
put names here to control the problems
0:25:42
please call this method on the
0:25:55
where was where was it
0:25:57
um originally being called
0:26:02
the function where was it
0:26:05
originally being called
0:26:50
i'm sure i'm doing something wrong here
0:26:54
production environment
0:27:17
so we have this one i'm catching that
0:27:35
saying good can we just print it from uh
0:27:39
instead of that can we just print it
0:27:43
where we're actually making the call to
0:27:46
the to the db instead
0:27:55
through through that way instead and
0:27:58
you know since we just want to visualize
0:28:00
it and then make amendments right
0:28:08
sorry i didn't understand it
0:28:14
can we console log from where we're
0:28:15
making the request instead like um
0:28:21
who is it um get bored names yes can we
0:28:25
do it there instead
0:28:27
maybe that would be better i don't know
0:28:34
we're just maybe just before we are
0:28:36
saving it in uh array or whatever so
0:28:42
maybe just maybe just before the return
0:28:44
like there like so
0:28:49
yeah underneath line 98 yeah like the
0:28:53
um log board names are apps
0:29:05
let's try this one as well
0:29:19
do you have to click the
0:29:22
go button for it to come up but
0:29:27
it should automatically
0:29:30
load that's the concept
0:29:33
oh hang on there's a unexpected token
0:29:38
here that might be causing the problem
0:29:40
it's your front 10 27
0:29:51
that's what this was that's why yep okay
0:30:12
cool so what it's doing is basically
0:30:17
board named string
0:30:36
because at the moment we're not getting
0:30:44
okay that would basically be
0:30:47
so we don't these are the part that's
0:30:50
the passcode here post board
0:30:56
okay so this is the gap board
0:31:02
name all right get bored by the air
0:31:08
get bored name some board names
0:31:21
or we can have one array and objects in
0:31:27
that's what i think that'll be a good
0:31:28
idea like have the
0:31:36
so let's go in that one and
0:31:39
board objects board names
0:31:43
so this is board object
0:31:46
it's getting the board names on and that
0:31:54
and then here we would want to add
0:32:13
so this is an object
0:32:17
right so this map board
0:32:19
for every board we want that one
0:32:44
do you think this is
0:32:47
it's i think it'll just come as a list
0:33:17
home page load home page load
0:33:37
mind we'll have to
0:33:39
get the passcode from the db as well
0:33:42
we're not getting that at the moment
0:33:50
now that i can think of
0:33:57
more session board get bored names
0:34:07
yeah i don't think we're getting
0:34:16
the board passcode
0:34:30
board name passcode
0:34:36
that should technically work because
0:34:38
we're getting the board object don't we
0:34:41
yeah actually let me check what's the
0:34:45
what object coming up as
0:35:09
so it's not coming up it's not bringing
0:35:14
i think i don't remember but i think we
0:35:17
configured it like that right like we
0:35:20
the endpoint is just passing the names
0:35:24
because we didn't really think about the
0:35:26
passcode at the time
0:35:29
yeah and now i'm thinking about that as
0:35:34
so for that we would have to go to the
0:35:37
back end first and change the method
0:35:41
do we have a uh back-end method for
0:35:45
retrieving all the
0:35:48
qualities of the book
0:35:53
but that's per board as an entire object
0:35:56
and we've also got their get bored names
0:36:01
getting all the board names of all the
0:36:08
i'm gonna have to do that
0:36:20
we know where we are going now
0:36:43
actually i'm gonna
0:36:45
create another branch here
0:37:08
okay cool so this is that method
0:37:12
hash but this is just
0:37:14
creating a new board
0:37:18
oh blackboard name
0:37:20
jetboard by name here we go
0:37:26
is that the one yeah yeah
0:37:34
is sorry isn't this one the one where
0:37:37
we're getting the board based on the
0:37:41
yeah we and we give in a board name and
0:37:45
don't we want to amend
0:37:47
the end point where we're getting all
0:37:56
i might be rushing into it this one
0:38:01
oh yeah yeah yeah true you're right
0:38:07
it's a table board board name
0:38:11
okay so we will have to add another one
0:38:15
which would be passcode
0:38:42
um how to use project
0:38:53
hang on there must be a way
0:39:34
so that's that one
0:39:41
expression attributes project
0:40:16
oh i was just looking at what the
0:40:25
project expression
0:40:27
and then they use a other column
0:40:31
they did it in quotes
0:40:34
yeah that's exactly what i was thinking
0:40:38
let's try that and what so that one and
0:40:50
that could be that could be the deal
0:41:01
can we have a look at the
0:41:03
could i have a look at this the stack
0:41:12
you see in the he says here or they say
0:41:15
note how in the projection
0:41:17
expression i use the reference hashtag
0:41:19
other column instead of the columns real
0:41:22
and then define that real name which may
0:41:25
contain spaces or other special
0:41:27
characters i think
0:41:28
maybe we are okay because we don't have
0:41:30
that we don't have a space or special
0:41:33
characters we don't have to do what
0:41:35
exactly what they're doing
0:41:41
even if it doesn't
0:41:43
work we can always try
0:41:45
this approach again yeah true okay
0:41:51
okay let's do this
0:41:58
hopefully nothing breaks
0:42:11
oh have you had dinner
0:42:17
i had a grilled chicken
0:42:21
i had grilled chicken oh healthy i like
0:42:26
yourself have you had dinner
0:42:32
no yeah i'm probably i'm probably gonna
0:42:35
have it after this
0:42:41
a work called scheduled around half
0:42:46
10 so i'll probably have to attend that
0:43:00
excuse me if you had it
0:43:25
i think there might be another problem
0:43:31
well you're hashing the passcode
0:43:34
i i thought about that as well but i
0:43:35
think that's like pretty easy to fix
0:43:40
yeah just import the library and then
0:43:42
and then just use the function to
0:43:47
and that's what i'm gonna do
0:43:51
let's see if that works but let's see if
0:44:14
okay open up postman
0:44:48
um how do we go back up
0:44:53
okay so the moment of truth
0:44:57
yeah no no no that's okay
0:45:15
we've got a passcode
0:45:17
oh it's hashing it yeah yes yeah i mean
0:45:20
that's not a problem at all i'm not
0:45:22
really worried about that
0:45:25
well why oh okay cool so i was actually
0:45:29
worried about if if he's giving us
0:45:32
borden name and pass pass code in two
0:45:36
as two different objects but apparently
0:45:41
interesting nice cool
0:45:43
so now that we're getting this
0:45:47
we basically need to
0:45:49
dig decrypt the password
0:45:54
we'll be decrypting in the server side
0:45:56
at the moment isn't it
0:46:07
yeah um i'm just thinking that we can
0:46:11
we'll probably have to do the
0:46:16
do you want to do decryption here saying
0:46:19
or do you want to decryption on the
0:46:30
decryption would be a lot better if it's
0:46:32
on the client's side isn't it
0:46:35
i think so yeah but um
0:46:38
yeah i would think so
0:46:39
yeah i think so all right let's do it
0:46:42
over there because
0:46:43
now we're actually guessing this
0:46:48
so there's 200 servers they said so
0:46:55
names okay we can always come back and
0:47:43
now that we have this let's go back in
0:47:51
and now we should be able to do it isn't
0:48:10
is it me or is it just
0:48:17
we are becoming really good at coding
0:48:25
i think smashing it
0:48:27
yeah i think we're getting better though
0:48:49
okay so we have the passcode as well now
0:48:52
now what we need to do
0:49:00
we need to um get books on knockout
0:49:03
boards we need to decorate the password
0:49:18
we will be doing the compare
0:49:29
so that one would be now oh
0:49:32
the area was my knee changing as well
0:49:46
that's being used literally everywhere
0:49:55
that won't work anymore right because
0:50:01
to change that a little bit
0:50:03
yeah this is not going to work now and
0:50:06
tori is going to hate me for this
0:50:19
we would have to do objects here
0:50:23
what does this kill stuff
0:51:06
never mind that didn't work
0:51:13
did it print the board
0:51:15
board name sorry huh
0:51:17
i'm just checking those
0:51:36
create a new board away passport
0:51:40
setting up for storage
0:52:10
oh i like it it's already kicking in
0:52:15
that's that's the one right okay yeah
0:52:20
so isn't the last one the one that
0:52:22
you're currently printing the
0:52:25
board names actually you know what i'll
0:52:29
try the game to avoid any confusions
0:52:40
okay so the last one you
0:52:43
yeah it would be probably the last one
0:52:47
because it says line 27 as well
0:52:56
i think it's just because we're
0:52:58
returning the just the board names and
0:53:03
in the other function
0:53:07
yeah that must be the reason
0:53:24
so what is this qr style
0:53:44
coming there so this one
0:53:48
this array which is fine
0:54:07
let's come back tomorrow
0:54:23
do you want to do the honors
0:54:27
uh thanks for joining us on another
0:54:29
episode of bill breaking fix um
0:54:37
we continued on with the passcode
0:54:40
um i believe in the last episode they
0:54:43
managed to make it look better
0:54:45
but in in today's episode
0:54:50
geckdev's advice we decided to
0:54:56
changed the confirmation message and
0:54:59
um have it so that the
0:55:02
that our code checks whether
0:55:04
um the board already exists or the
0:55:07
passcode is incorrect
0:55:09
um so basically what we've done today is
0:55:13
uh the passcode field and while getting
0:55:16
it from the back end and
0:55:18
now we are working towards adding that
0:55:20
in in our client on the client side so
0:55:24
yeah getting there
0:55:28
probably in the next episode we'll be
0:55:29
we'll be done so thanks for joining us
0:55:34
and we'll see you tomorrow same time
0:55:42
all right guys have a great