Learning Checkpoint: Dapr in Action - Ep. 6
0 views
Aug 6, 2025
In this episode, we will revise what we have from the previous episodes. 📺 CSharp TV - Dev Streaming Destination http://csharp.tv 🌎 C# Corner - Community of Software and Data Developers https://www.c-sharpcorner.com #CSharpTV #csharpcorner #Dapr #LiveShow Transcript
View Video Transcript
0:00
[Music]
0:17
[Music]
0:32
hey people from around the world how are
0:35
hey people from around the world how are
0:35
hey people from around the world how are you my name is Rodrigo and this is
0:38
you my name is Rodrigo and this is
0:38
you my name is Rodrigo and this is Dabber in
0:39
Dabber in
0:39
Dabber in action today we're going to have a
0:42
action today we're going to have a
0:42
action today we're going to have a learning checkpoint after five
0:45
learning checkpoint after five
0:45
learning checkpoint after five sessions
0:47
sessions
0:47
sessions so let's get started okay
0:52
so let's get started okay
0:52
so let's get started okay so let's go through the materials right
0:56
so let's go through the materials right
0:56
so let's go through the materials right away Dapper this is a fantastic
0:59
away Dapper this is a fantastic
0:59
away Dapper this is a fantastic technology for creating distributed
1:01
technology for creating distributed
1:01
technology for creating distributed applications such as
1:03
applications such as
1:03
applications such as microservices
1:05
microservices
1:05
microservices and in the Dapper doio website you can
1:08
and in the Dapper doio website you can
1:08
and in the Dapper doio website you can find everything related to this
1:10
find everything related to this
1:10
find everything related to this fantastic technology it's part of the
1:12
fantastic technology it's part of the
1:12
fantastic technology it's part of the cloud native Computing Foundation it was
1:15
cloud native Computing Foundation it was
1:15
cloud native Computing Foundation it was originally created by Microsoft but
1:17
originally created by Microsoft but
1:18
originally created by Microsoft but nowadays is part of this
1:20
nowadays is part of this
1:20
nowadays is part of this cncf um so uh it allows you to create
1:26
cncf um so uh it allows you to create
1:26
cncf um so uh it allows you to create consistent and portable distributed
1:27
consistent and portable distributed
1:27
consistent and portable distributed applications it's sensible
1:30
applications it's sensible
1:30
applications it's sensible it's fantastic it's
1:32
it's fantastic it's
1:33
it's fantastic it's glorious and nowadays we're about to
1:36
glorious and nowadays we're about to
1:36
glorious and nowadays we're about to have Dapper 1.15 I guess sooner or
1:42
have Dapper 1.15 I guess sooner or
1:42
have Dapper 1.15 I guess sooner or later
1:44
later
1:44
later and actually let's go right here because
1:49
and actually let's go right here because
1:49
and actually let's go right here because I want to talk about the environment
1:52
I want to talk about the environment
1:52
I want to talk about the environment remember that you need to install Dapper
1:55
remember that you need to install Dapper
1:55
remember that you need to install Dapper right you need to download the Dapper
1:58
right you need to download the Dapper
1:58
right you need to download the Dapper CLI
2:00
CLI
2:00
CLI and then you have to initialize Dapper
2:04
and then you have to initialize Dapper
2:04
and then you have to initialize Dapper so let's go ahead
2:07
so let's go ahead
2:07
so let's go ahead and here in the terminal you have to
2:11
and here in the terminal you have to
2:11
and here in the terminal you have to type something like Dapper in it after
2:14
type something like Dapper in it after
2:14
type something like Dapper in it after you install the CLR of course I have the
2:17
you install the CLR of course I have the
2:17
you install the CLR of course I have the C
2:18
C
2:18
C CLI uh not CLR CLI right here um you can
2:23
CLI uh not CLR CLI right here um you can
2:23
CLI uh not CLR CLI right here um you can see that I installed previously
2:26
see that I installed previously
2:26
see that I installed previously Dapper and I have this version which
2:30
Dapper and I have this version which
2:30
Dapper and I have this version which is version
2:32
is version
2:33
is version 1.14 I think and this is actually the
2:37
1.14 I think and this is actually the
2:37
1.14 I think and this is actually the version that I'm running
2:40
version that I'm running
2:40
version that I'm running okay
2:43
okay
2:43
okay so of course you can go ahead and
2:46
so of course you can go ahead and
2:46
so of course you can go ahead and navigate to Dapper
2:48
navigate to Dapper
2:48
navigate to Dapper doio and then you can click here in the
2:53
doio and then you can click here in the
2:53
doio and then you can click here in the get started button and then click on
2:56
get started button and then click on
2:56
get started button and then click on install the dopper
2:58
install the dopper
2:58
install the dopper CLI and if you you're using Windows like
3:01
CLI and if you you're using Windows like
3:01
CLI and if you you're using Windows like I like I do then you need to run this
3:05
I like I do then you need to run this
3:05
I like I do then you need to run this particular script for installing Dapper
3:09
particular script for installing Dapper
3:09
particular script for installing Dapper okay so I I already did this that's why
3:13
okay so I I already did this that's why
3:13
okay so I I already did this that's why I have the Dapper CLI then you have to
3:15
I have the Dapper CLI then you have to
3:15
I have the Dapper CLI then you have to initialize
3:16
initialize
3:16
initialize Dapper and here is where the magic
3:20
Dapper and here is where the magic
3:20
Dapper and here is where the magic happens
3:21
happens
3:22
happens because um this is the place or this is
3:25
because um this is the place or this is
3:25
because um this is the place or this is the command that is going to download
3:27
the command that is going to download
3:27
the command that is going to download all the different components for Dapper
3:31
all the different components for Dapper
3:31
all the different components for Dapper and you need to have installed Docker
3:33
and you need to have installed Docker
3:33
and you need to have installed Docker well actually you don't need to but it's
3:36
well actually you don't need to but it's
3:36
well actually you don't need to but it's actually
3:37
actually
3:37
actually recommended and of course there's an
3:40
recommended and of course there's an
3:40
recommended and of course there's an Dapper option for initializing Dapper
3:43
Dapper option for initializing Dapper
3:43
Dapper option for initializing Dapper without uh using
3:46
without uh using
3:46
without uh using Docker and as you can see here I already
3:50
Docker and as you can see here I already
3:50
Docker and as you can see here I already initialized upper so those Docker
3:52
initialized upper so those Docker
3:52
initialized upper so those Docker containers are running on my machine
3:54
containers are running on my machine
3:54
containers are running on my machine right
3:55
right
3:55
right now okay so everything so far so good
3:59
now okay so everything so far so good
3:59
now okay so everything so far so good and
4:00
and
4:00
and this is actually what you need to do to
4:02
this is actually what you need to do to
4:02
this is actually what you need to do to get started with Dapper
4:05
get started with Dapper
4:05
get started with Dapper okay so I'm using doet 9 and I'm using
4:10
okay so I'm using doet 9 and I'm using
4:10
okay so I'm using doet 9 and I'm using Docker desktop I can show you that here
4:14
Docker desktop I can show you that here
4:14
Docker desktop I can show you that here in this screen you can see that Docker
4:17
in this screen you can see that Docker
4:17
in this screen you can see that Docker desktop is running right and I'm using
4:20
desktop is running right and I'm using
4:20
desktop is running right and I'm using visual studio uh 2022 and I'm also using
4:23
visual studio uh 2022 and I'm also using
4:23
visual studio uh 2022 and I'm also using visual studio code there's a Dapper
4:25
visual studio code there's a Dapper
4:25
visual studio code there's a Dapper extension for visual studio code for
4:28
extension for visual studio code for
4:28
extension for visual studio code for debugging purposes I think that's
4:31
debugging purposes I think that's
4:31
debugging purposes I think that's perfect and there's also um an extension
4:35
perfect and there's also um an extension
4:35
perfect and there's also um an extension for visual studio
4:37
for visual studio
4:37
for visual studio 2022 and or you can always use any other
4:40
2022 and or you can always use any other
4:40
2022 and or you can always use any other kind of editor but actually this is the
4:43
kind of editor but actually this is the
4:43
kind of editor but actually this is the environment that we have in this Dapper
4:46
environment that we have in this Dapper
4:46
environment that we have in this Dapper in action Series so you initialize
4:49
in action Series so you initialize
4:49
in action Series so you initialize Dapper and then Dapper is going to be
4:52
Dapper and then Dapper is going to be
4:52
Dapper and then Dapper is going to be installed in this
4:55
installed in this
4:55
installed in this particular path let's go to this path in
4:59
particular path let's go to this path in
4:59
particular path let's go to this path in this case I'm using this other machine
5:00
this case I'm using this other machine
5:00
this case I'm using this other machine as you can see this is not my regular
5:03
as you can see this is not my regular
5:03
as you can see this is not my regular machine and here you can find the do
5:06
machine and here you can find the do
5:06
machine and here you can find the do dopper folder in inside the folder
5:09
dopper folder in inside the folder
5:09
dopper folder in inside the folder you're going to find the bin folder that
5:13
you're going to find the bin folder that
5:13
you're going to find the bin folder that has all the binaries related to Dapper
5:16
has all the binaries related to Dapper
5:16
has all the binaries related to Dapper and also you can find this components
5:20
and also you can find this components
5:20
and also you can find this components folder that has the default components
5:24
folder that has the default components
5:24
folder that has the default components for pops up in the State Management
5:27
for pops up in the State Management
5:27
for pops up in the State Management building
5:28
building
5:28
building blocks and here you can also find this
5:32
blocks and here you can also find this
5:32
blocks and here you can also find this configuration where you can set some
5:34
configuration where you can set some
5:34
configuration where you can set some other things some um cross cutting
5:38
other things some um cross cutting
5:38
other things some um cross cutting concerns about
5:40
concerns about
5:40
concerns about Dapper so that's perfect so you
5:43
Dapper so that's perfect so you
5:43
Dapper so that's perfect so you initialize Dapper this is the command
5:45
initialize Dapper this is the command
5:45
initialize Dapper this is the command that you use if you don't have
5:48
that you use if you don't have
5:48
that you use if you don't have Docker because let's be honest sometimes
5:52
Docker because let's be honest sometimes
5:52
Docker because let's be honest sometimes you're not allowed to use Docker in your
5:55
you're not allowed to use Docker in your
5:55
you're not allowed to use Docker in your machine or I don't know good evening my
5:58
machine or I don't know good evening my
5:58
machine or I don't know good evening my friend amand
6:01
and so everything is running perfectly
6:05
and so everything is running perfectly
6:05
and so everything is running perfectly and so far so good if you want to
6:07
and so far so good if you want to
6:07
and so far so good if you want to uninstall dopper then you can execute
6:10
uninstall dopper then you can execute
6:10
uninstall dopper then you can execute dopper uninstall and then this is going
6:13
dopper uninstall and then this is going
6:14
dopper uninstall and then this is going to uninstall the binaries and if you
6:16
to uninstall the binaries and if you
6:16
to uninstall the binaries and if you want also to remove the containers then
6:18
want also to remove the containers then
6:18
want also to remove the containers then you can pass that all flag and that's it
6:22
you can pass that all flag and that's it
6:22
you can pass that all flag and that's it so configuration is inside that config
6:26
so configuration is inside that config
6:26
so configuration is inside that config Dojo file that I showed you before and
6:29
Dojo file that I showed you before and
6:29
Dojo file that I showed you before and this is the place where you can set some
6:31
this is the place where you can set some
6:31
this is the place where you can set some configuration some cross cutting
6:33
configuration some cross cutting
6:33
configuration some cross cutting concerns such as tracing metrics login
6:37
concerns such as tracing metrics login
6:37
concerns such as tracing metrics login middlewares and so on so that
6:40
middlewares and so on so that
6:40
middlewares and so on so that configuration Jam file is Magic okay
6:44
configuration Jam file is Magic okay
6:44
configuration Jam file is Magic okay we've been using that file a couple of
6:47
we've been using that file a couple of
6:47
we've been using that file a couple of times in this series so you can see here
6:49
times in this series so you can see here
6:49
times in this series so you can see here on the screen those tracing and metrics
6:53
on the screen those tracing and metrics
6:53
on the screen those tracing and metrics and logging those elements are the uh
6:58
and logging those elements are the uh
6:58
and logging those elements are the uh locations where us specify the tracing
7:01
locations where us specify the tracing
7:01
locations where us specify the tracing configuration Matrix configuration
7:03
configuration Matrix configuration
7:03
configuration Matrix configuration logging configuration and so on okay hey
7:07
logging configuration and so on okay hey
7:07
logging configuration and so on okay hey Abu hi there my
7:09
Abu hi there my
7:09
Abu hi there my friend so the dopper CLI is actually the
7:14
friend so the dopper CLI is actually the
7:14
friend so the dopper CLI is actually the tool that you need to master in order to
7:17
tool that you need to master in order to
7:17
tool that you need to master in order to create great and fabulous Dapper um
7:22
create great and fabulous Dapper um
7:23
create great and fabulous Dapper um Solutions and there are some commands
7:26
Solutions and there are some commands
7:26
Solutions and there are some commands related to the selfhosted mode that I've
7:28
related to the selfhosted mode that I've
7:28
related to the selfhosted mode that I've been using in this series and there are
7:31
been using in this series and there are
7:31
been using in this series and there are some other commands for
7:33
some other commands for
7:33
some other commands for kubernetes uh because at the end of the
7:35
kubernetes uh because at the end of the
7:35
kubernetes uh because at the end of the day Dapper can run as a tight car
7:37
day Dapper can run as a tight car
7:37
day Dapper can run as a tight car container inside kubernetes and we're
7:39
container inside kubernetes and we're
7:39
container inside kubernetes and we're going to see that in a future
7:43
going to see that in a future
7:43
going to see that in a future chapter so dopper version for showing
7:46
chapter so dopper version for showing
7:46
chapter so dopper version for showing the dopper runtime and CLI
7:48
the dopper runtime and CLI
7:49
the dopper runtime and CLI versions and dopper help dopper list for
7:52
versions and dopper help dopper list for
7:52
versions and dopper help dopper list for showing all the instances that are
7:53
showing all the instances that are
7:53
showing all the instances that are running in thater dashboard we seen
7:56
running in thater dashboard we seen
7:56
running in thater dashboard we seen those uh commands already in this series
8:00
those uh commands already in this series
8:01
those uh commands already in this series so yes Dapper is fantastic but of course
8:04
so yes Dapper is fantastic but of course
8:04
so yes Dapper is fantastic but of course it's not a programming language it's a
8:07
it's not a programming language it's a
8:07
it's not a programming language it's a framework right for oh actually it's a
8:11
framework right for oh actually it's a
8:11
framework right for oh actually it's a yes it's a framework it's a a hosting
8:13
yes it's a framework it's a a hosting
8:13
yes it's a framework it's a a hosting environment and there is a a series of
8:16
environment and there is a a series of
8:16
environment and there is a a series of different
8:17
different
8:17
different components um so you need to run the
8:20
components um so you need to run the
8:20
components um so you need to run the side car somehow as I've mentioned
8:22
side car somehow as I've mentioned
8:22
side car somehow as I've mentioned before you can run Dapper as a sidecar
8:25
before you can run Dapper as a sidecar
8:26
before you can run Dapper as a sidecar container inside
8:28
container inside
8:28
container inside kubernetes uh but of course if you're
8:32
kubernetes uh but of course if you're
8:32
kubernetes uh but of course if you're building a dopper application some of
8:34
building a dopper application some of
8:34
building a dopper application some of sometimes you need to run the side card
8:36
sometimes you need to run the side card
8:36
sometimes you need to run the side card by itself right this is the selfhosted
8:39
by itself right this is the selfhosted
8:39
by itself right this is the selfhosted mode that we use and we've been using in
8:42
mode that we use and we've been using in
8:42
mode that we use and we've been using in this series so you need to specify the
8:46
this series so you need to specify the
8:46
this series so you need to specify the application
8:48
application
8:48
application identifier say service one service B
8:51
identifier say service one service B
8:51
identifier say service one service B service C and then the dopper HTTP port
8:56
service C and then the dopper HTTP port
8:56
service C and then the dopper HTTP port in other words the port number where the
9:00
in other words the port number where the
9:00
in other words the port number where the Dapper side card is going to expose the
9:03
Dapper side card is going to expose the
9:03
Dapper side card is going to expose the API for HTT for the HTTP
9:08
API for HTT for the HTTP
9:08
API for HTT for the HTTP protocol and there's a grpc port for
9:12
protocol and there's a grpc port for
9:12
protocol and there's a grpc port for exposing the API through that particular
9:16
exposing the API through that particular
9:16
exposing the API through that particular technology so in other words we can we
9:19
technology so in other words we can we
9:19
technology so in other words we can we can get access to Dapper by using HTTP
9:23
can get access to Dapper by using HTTP
9:23
can get access to Dapper by using HTTP or the drpc
9:25
or the drpc
9:25
or the drpc Technologies and a port this is the port
9:28
Technologies and a port this is the port
9:28
Technologies and a port this is the port number
9:29
number
9:29
number where your application is listening
9:32
where your application is listening
9:32
where your application is listening on and then you need to specify Double
9:36
on and then you need to specify Double
9:36
on and then you need to specify Double Dash for your specific application
9:40
Dash for your specific application
9:40
Dash for your specific application instructions for instance if you're
9:42
instructions for instance if you're
9:42
instructions for instance if you're running net then this is a place where
9:45
running net then this is a place where
9:45
running net then this is a place where you pass net Ron and all the flags that
9:49
you pass net Ron and all the flags that
9:49
you pass net Ron and all the flags that your application needs such as URLs and
9:52
your application needs such as URLs and
9:52
your application needs such as URLs and so on so there's an example here on the
9:55
so on so there's an example here on the
9:55
so on so there's an example here on the screen that I've been using you know
9:59
screen that I've been using you know
9:59
screen that I've been using you know most of the time in this series
10:01
most of the time in this series
10:01
most of the time in this series okay perfect so we can also run multiple
10:05
okay perfect so we can also run multiple
10:05
okay perfect so we can also run multiple apps at the same time this is similar to
10:08
apps at the same time this is similar to
10:08
apps at the same time this is similar to a Docker compos file we need to create
10:11
a Docker compos file we need to create
10:11
a Docker compos file we need to create this Dapper doj file inside the
10:15
this Dapper doj file inside the
10:15
this Dapper doj file inside the directory and then you can specify all
10:18
directory and then you can specify all
10:18
directory and then you can specify all the different applications that you want
10:19
the different applications that you want
10:19
the different applications that you want to run at the same time this is Magic
10:23
to run at the same time this is Magic
10:23
to run at the same time this is Magic right this is this is great such as dock
10:26
right this is this is great such as dock
10:26
right this is this is great such as dock compose right instead of running each
10:29
compose right instead of running each
10:29
compose right instead of running each application
10:31
application
10:31
application separately so this is the schema for
10:33
separately so this is the schema for
10:33
separately so this is the schema for that particular dopper doj
10:37
that particular dopper doj
10:37
that particular dopper doj file uh and by the way the name can
10:41
file uh and by the way the name can
10:41
file uh and by the way the name can be just any other name and um but
10:46
be just any other name and um but
10:46
be just any other name and um but actually the default values uh doer.
10:48
actually the default values uh doer.
10:48
actually the default values uh doer. jaml so this is the place you can see
10:51
jaml so this is the place you can see
10:51
jaml so this is the place you can see here on the screen that this J file is
10:54
here on the screen that this J file is
10:54
here on the screen that this J file is specifying two applications web app and
10:57
specifying two applications web app and
10:57
specifying two applications web app and back end in each each application with
11:00
back end in each each application with
11:00
back end in each each application with different resources pads application
11:03
different resources pads application
11:03
different resources pads application ports and so on right fantastic
11:07
ports and so on right fantastic
11:07
ports and so on right fantastic fantastic things and you can execute the
11:11
fantastic things and you can execute the
11:11
fantastic things and you can execute the Dapper doj file if it happens to be
11:14
Dapper doj file if it happens to be
11:14
Dapper doj file if it happens to be named that way daer run and then just
11:18
named that way daer run and then just
11:18
named that way daer run and then just pass the directory path and if you
11:21
pass the directory path and if you
11:21
pass the directory path and if you happen to have another Jam file I mean
11:24
happen to have another Jam file I mean
11:24
happen to have another Jam file I mean you renamed it or you used another name
11:28
you renamed it or you used another name
11:28
you renamed it or you used another name then you just pass the file path for
11:31
then you just pass the file path for
11:31
then you just pass the file path for that particular Jam file so and this is
11:34
that particular Jam file so and this is
11:34
that particular Jam file so and this is perfect in daer the side car is exposing
11:37
perfect in daer the side car is exposing
11:38
perfect in daer the side car is exposing this
11:38
this
11:38
this API uh but actually I don't think it's
11:41
API uh but actually I don't think it's
11:41
API uh but actually I don't think it's real
11:42
real
11:42
real world just to you know send requests and
11:46
world just to you know send requests and
11:46
world just to you know send requests and expect responses from the
11:49
expect responses from the
11:49
expect responses from the API most of the time friends you want to
11:53
API most of the time friends you want to
11:53
API most of the time friends you want to use an official
11:55
use an official
11:55
use an official SDK that's why our friends from dapper
11:59
SDK that's why our friends from dapper
11:59
SDK that's why our friends from dapper they create those sdks so let's use the
12:03
they create those sdks so let's use the
12:03
they create those sdks so let's use the those sdks in our
12:05
those sdks in our
12:05
those sdks in our applications okay so there's an SDK for
12:09
applications okay so there's an SDK for
12:09
applications okay so there's an SDK for net there's a SDK for Python and Java
12:12
net there's a SDK for Python and Java
12:12
net there's a SDK for Python and Java and go and some other programming
12:15
and go and some other programming
12:15
and go and some other programming languages and maybe you're using I don't
12:18
languages and maybe you're using I don't
12:19
languages and maybe you're using I don't know uh this this very obscure
12:22
know uh this this very obscure
12:22
know uh this this very obscure programming language in that particular
12:25
programming language in that particular
12:25
programming language in that particular case yes you need to send some requests
12:29
case yes you need to send some requests
12:29
case yes you need to send some requests and expect some
12:31
and expect some
12:31
and expect some responses um so as long as your
12:35
responses um so as long as your
12:35
responses um so as long as your programming language supports HTTP or
12:38
programming language supports HTTP or
12:38
programming language supports HTTP or grpc you're good to go
12:41
grpc you're good to go
12:41
grpc you're good to go okay so if you happen to be using net as
12:46
okay so if you happen to be using net as
12:46
okay so if you happen to be using net as I
12:47
I
12:47
I do then you can use the dopper SDK for
12:51
do then you can use the dopper SDK for
12:51
do then you can use the dopper SDK for net of course and you need to um use the
12:55
net of course and you need to um use the
12:55
net of course and you need to um use the dopper client object for sending
12:58
dopper client object for sending
12:58
dopper client object for sending requests and retrieve the responses from
13:01
requests and retrieve the responses from
13:01
requests and retrieve the responses from the side
13:02
the side
13:02
the side car so doer client is the way to go if
13:07
car so doer client is the way to go if
13:07
car so doer client is the way to go if you happen to be using asp.net core then
13:09
you happen to be using asp.net core then
13:09
you happen to be using asp.net core then you need to register Dapper by using ad
13:12
you need to register Dapper by using ad
13:12
you need to register Dapper by using ad Dapper you can see that here on the
13:14
Dapper you can see that here on the
13:14
Dapper you can see that here on the screen and then you can inject the
13:17
screen and then you can inject the
13:17
screen and then you can inject the dopper client object in your
13:20
dopper client object in your
13:20
dopper client object in your controllers and then you can use all of
13:23
controllers and then you can use all of
13:23
controllers and then you can use all of the different methods that uh the dopper
13:25
the different methods that uh the dopper
13:25
the different methods that uh the dopper client object
13:27
client object
13:27
client object exposes so look that's perfect and
13:30
exposes so look that's perfect and
13:30
exposes so look that's perfect and that's the intro for this uh learning
13:33
that's the intro for this uh learning
13:33
that's the intro for this uh learning checkpoint let's get started with the
13:35
checkpoint let's get started with the
13:35
checkpoint let's get started with the pops up um building block that allows
13:39
pops up um building block that allows
13:39
pops up um building block that allows you to send
13:40
you to send
13:40
you to send asynchronously some messages between
13:43
asynchronously some messages between
13:43
asynchronously some messages between components right because sometimes you
13:47
components right because sometimes you
13:47
components right because sometimes you have distributed
13:49
have distributed
13:49
have distributed applications that are you know that they
13:52
applications that are you know that they
13:52
applications that are you know that they have different services or
13:54
have different services or
13:54
have different services or microservices so you need to know when
13:58
microservices so you need to know when
13:58
microservices so you need to know when something happen
14:00
something happen
14:00
something happen in this other service
14:03
in this other service
14:03
in this other service right so you need to react somehow when
14:06
right so you need to react somehow when
14:06
right so you need to react somehow when some event happened in service a you
14:11
some event happened in service a you
14:11
some event happened in service a you want service B and service C and service
14:14
want service B and service C and service
14:14
want service B and service C and service D to react
14:15
D to react
14:15
D to react somehow
14:18
somehow
14:18
somehow okay I'm
14:21
okay I'm
14:21
okay I'm sorry so let's use the pops up building
14:25
sorry so let's use the pops up building
14:25
sorry so let's use the pops up building block and with the doer client object is
14:27
block and with the doer client object is
14:27
block and with the doer client object is a breeze you can do it quite easily okay
14:33
a breeze you can do it quite easily okay
14:33
a breeze you can do it quite easily okay so this particular diagram shows the
14:35
so this particular diagram shows the
14:35
so this particular diagram shows the pops up component in action you have a
14:38
pops up component in action you have a
14:38
pops up component in action you have a service that sends or publishes an event
14:42
service that sends or publishes an event
14:42
service that sends or publishes an event and then you have other services that
14:44
and then you have other services that
14:44
and then you have other services that are
14:45
are
14:45
are subscribed to that particular
14:48
subscribed to that particular
14:48
subscribed to that particular event right and if you want to use the
14:52
event right and if you want to use the
14:52
event right and if you want to use the API directly which I do not recommend as
14:56
API directly which I do not recommend as
14:56
API directly which I do not recommend as I've mentioned before uh um you can use
15:00
I've mentioned before uh um you can use
15:00
I've mentioned before uh um you can use those end points that are here on the
15:02
those end points that are here on the
15:02
those end points that are here on the screen so let's get
15:06
screen so let's get
15:06
screen so let's get started let's say that I have this
15:09
started let's say that I have this
15:09
started let's say that I have this dopper in action folder and I want to
15:13
dopper in action folder and I want to
15:13
dopper in action folder and I want to create a net solution for a fictitious
15:17
create a net solution for a fictitious
15:17
create a net solution for a fictitious Hospital okay so we're going to have two
15:22
Hospital okay so we're going to have two
15:22
Hospital okay so we're going to have two microservices one microservice is for
15:25
microservices one microservice is for
15:25
microservices one microservice is for the
15:26
the
15:26
the patients all things patient you know the
15:30
patients all things patient you know the
15:30
patients all things patient you know the names of the patient the ID of the
15:32
names of the patient the ID of the
15:32
names of the patient the ID of the patient the age the birth date and so on
15:38
patient the age the birth date and so on
15:38
patient the age the birth date and so on and this other microservice named
15:42
and this other microservice named
15:42
and this other microservice named consultations for all things related to
15:46
consultations for all things related to
15:46
consultations for all things related to consultations such as start a
15:48
consultations such as start a
15:48
consultations such as start a consultation between a patient and a
15:51
consultation between a patient and a
15:51
consultation between a patient and a doctor and give me the full doctor's
15:54
doctor and give me the full doctor's
15:54
doctor and give me the full doctor's catalog or Specialties and so on so just
15:57
catalog or Specialties and so on so just
15:57
catalog or Specialties and so on so just two microservices okay so I can start
16:01
two microservices okay so I can start
16:01
two microservices okay so I can start like I don't know
16:04
like I don't know
16:04
like I don't know start and netu right
16:08
start and netu right
16:08
start and netu right solution
16:11
hospital and then net new web
16:15
hospital and then net new web
16:15
hospital and then net new web API um hospital
16:19
API um hospital
16:19
API um hospital hospital.
16:21
hospital.
16:21
hospital. patients use
16:23
patients use
16:23
patients use controllers because controllers are
16:26
controllers because controllers are
16:26
controllers because controllers are fantastic and then use use um this same
16:30
fantastic and then use use um this same
16:30
fantastic and then use use um this same command for creating
16:32
command for creating
16:32
command for creating consultations and then Net Solution
16:36
consultations and then Net Solution
16:36
consultations and then Net Solution ad uh Hospital consultations and
16:41
ad uh Hospital consultations and
16:41
ad uh Hospital consultations and patients both of them in the same
16:43
patients both of them in the same
16:43
patients both of them in the same solution Net Solution list so so far so
16:48
solution Net Solution list so so far so
16:48
solution Net Solution list so so far so good nothing fancy here just a solution
16:51
good nothing fancy here just a solution
16:51
good nothing fancy here just a solution with two web API uh projects right so in
16:58
with two web API uh projects right so in
16:58
with two web API uh projects right so in the interest of time I happen to have
17:01
the interest of time I happen to have
17:01
the interest of time I happen to have that
17:02
that
17:02
that here okay
17:05
here okay
17:05
here okay so this is the
17:08
so this is the
17:08
so this is the initial uh
17:10
initial uh
17:10
initial uh implementation so you can see that I
17:13
implementation so you can see that I
17:13
implementation so you can see that I have weather forecast controller and
17:15
have weather forecast controller and
17:15
have weather forecast controller and that you know
17:17
that you know
17:17
that you know this famous weather forecast class that
17:20
this famous weather forecast class that
17:20
this famous weather forecast class that the template
17:22
the template
17:22
the template includes so anyway we need to use Dapper
17:27
includes so anyway we need to use Dapper
17:27
includes so anyway we need to use Dapper somehow that's why you need to
17:30
somehow that's why you need to
17:30
somehow that's why you need to dopper here so what you do is you go to
17:34
dopper here so what you do is you go to
17:34
dopper here so what you do is you go to the manage net packages panel and then
17:38
the manage net packages panel and then
17:38
the manage net packages panel and then search for
17:39
search for
17:39
search for daer and you can hear in asp.net core at
17:43
daer and you can hear in asp.net core at
17:43
daer and you can hear in asp.net core at this nuget package
17:45
this nuget package
17:45
this nuget package reference and as you can see at the time
17:47
reference and as you can see at the time
17:47
reference and as you can see at the time of this recording the latest version is
17:51
of this recording the latest version is
17:51
of this recording the latest version is 1.14 okay so you install you install
17:54
1.14 okay so you install you install
17:54
1.14 okay so you install you install this right and you do the same with this
17:58
this right and you do the same with this
17:58
this right and you do the same with this other
17:59
other
17:59
other uh
18:03
microservice oh my
18:05
microservice oh my
18:05
microservice oh my god um well so you can do the same here
18:09
god um well so you can do the same here
18:09
god um well so you can do the same here I'm just copying package reference
18:11
I'm just copying package reference
18:11
I'm just copying package reference because CS Pro files
18:13
because CS Pro files
18:13
because CS Pro files are
18:15
are
18:15
are glorious and then you need to you know
18:19
glorious and then you need to you know
18:19
glorious and then you need to you know implement the logic that you want to
18:21
implement the logic that you want to
18:21
implement the logic that you want to that you want to implement and you want
18:23
that you want to implement and you want
18:23
that you want to implement and you want to uh expose in your services right so
18:27
to uh expose in your services right so
18:27
to uh expose in your services right so for instance in the patients
18:29
for instance in the patients
18:29
for instance in the patients API
18:31
API
18:31
API iose an end point for creating
18:34
iose an end point for creating
18:34
iose an end point for creating patients and another endpoint for
18:37
patients and another endpoint for
18:37
patients and another endpoint for grabbing the patients right for quering
18:41
grabbing the patients right for quering
18:41
grabbing the patients right for quering the patients I'm going to close this
18:44
the patients I'm going to close this
18:44
the patients I'm going to close this other
18:46
other
18:46
other tab uh okay so good let's go back
18:51
tab uh okay so good let's go back
18:51
tab uh okay so good let's go back here and I want to use some kind of
18:54
here and I want to use some kind of
18:54
here and I want to use some kind of database so I think it's going to be
18:57
database so I think it's going to be
18:57
database so I think it's going to be fine if we just use the Entity framework
19:00
fine if we just use the Entity framework
19:00
fine if we just use the Entity framework core the
19:02
core the
19:02
core the inmemory provider uh Microsoft Entity
19:06
inmemory provider uh Microsoft Entity
19:06
inmemory provider uh Microsoft Entity framework core uh in
19:09
framework core uh in
19:09
framework core uh in memory right so I can install
19:13
memory right so I can install
19:13
memory right so I can install this and then create the DB context
19:17
this and then create the DB context
19:17
this and then create the DB context create the entity classes and configure
19:21
create the entity classes and configure
19:21
create the entity classes and configure the DB context and so on right for
19:25
the DB context and so on right for
19:25
the DB context and so on right for example I want to I don't know maybe
19:27
example I want to I don't know maybe
19:27
example I want to I don't know maybe right here doesn't matter right now
19:30
right here doesn't matter right now
19:30
right here doesn't matter right now public class and then patients DB
19:34
public class and then patients DB
19:34
public class and then patients DB context and then I want to inherit from
19:38
context and then I want to inherit from
19:38
context and then I want to inherit from DV context right and then I need to pass
19:41
DV context right and then I need to pass
19:41
DV context right and then I need to pass DV context options that takes at patient
19:44
DV context options that takes at patient
19:44
DV context options that takes at patient DB
19:44
DB
19:45
DB context and I want to create a new
19:48
context and I want to create a new
19:48
context and I want to create a new record for patients right so or class
19:52
record for patients right so or class
19:53
record for patients right so or class right patient and then ID right and then
19:58
right patient and then ID right and then
19:58
right patient and then ID right and then the name or first name and last name
20:02
the name or first name and last name
20:02
the name or first name and last name then I need to configure
20:05
then I need to configure
20:05
then I need to configure here
20:07
here
20:07
here um you know Services uh D context just
20:12
um you know Services uh D context just
20:12
um you know Services uh D context just regular asp.net core things and Entity
20:15
regular asp.net core things and Entity
20:15
regular asp.net core things and Entity framework core things but of course I
20:18
framework core things but of course I
20:18
framework core things but of course I don't want to waste time on that uh I
20:21
don't want to waste time on that uh I
20:21
don't want to waste time on that uh I mean those are perfect however I want to
20:25
mean those are perfect however I want to
20:26
mean those are perfect however I want to show you other things um
20:29
show you other things um
20:29
show you other things um so let
20:31
so let
20:32
so let me
20:33
me
20:33
me um undo
20:36
um undo
20:36
um undo changes in here undo
20:40
changes in here undo
20:40
changes in here undo changes I think it doesn't matter if I
20:42
changes I think it doesn't matter if I
20:42
changes I think it doesn't matter if I do undo
20:44
do undo
20:44
do undo changes anyway let me show you this
20:47
changes anyway let me show you this
20:47
changes anyway let me show you this other Branch named
20:51
initial again in the interest of time
20:54
initial again in the interest of time
20:54
initial again in the interest of time I've already implemented a lot of things
20:57
I've already implemented a lot of things
20:57
I've already implemented a lot of things so I have the patient
20:59
so I have the patient
20:59
so I have the patient controller right for creating a patient
21:02
controller right for creating a patient
21:02
controller right for creating a patient and then for grabbing patients you can
21:05
and then for grabbing patients you can
21:05
and then for grabbing patients you can see that I created a new record named
21:08
see that I created a new record named
21:08
see that I created a new record named new patient that is the payload for
21:11
new patient that is the payload for
21:11
new patient that is the payload for creating a new patient and I'm using the
21:14
creating a new patient and I'm using the
21:14
creating a new patient and I'm using the DB context and you can see that I I'm
21:18
DB context and you can see that I I'm
21:18
DB context and you can see that I I'm sorry I included Dapper here and I'm
21:22
sorry I included Dapper here and I'm
21:22
sorry I included Dapper here and I'm invoking add DB context so nothing
21:27
invoking add DB context so nothing
21:27
invoking add DB context so nothing fancy what I want do is I want to
21:32
fancy what I want do is I want to
21:32
fancy what I want do is I want to notify I'm
21:34
notify I'm
21:34
notify I'm sorry oh my god I've been um struggling
21:38
sorry oh my god I've been um struggling
21:39
sorry oh my god I've been um struggling with my voice and coughing uh in the
21:42
with my voice and coughing uh in the
21:42
with my voice and coughing uh in the past
21:44
past
21:44
past hours so nothing fancy here I just want
21:48
hours so nothing fancy here I just want
21:48
hours so nothing fancy here I just want to use the dopper client to notify
21:53
to use the dopper client to notify
21:53
to use the dopper client to notify consultations when a new patient is
21:56
consultations when a new patient is
21:56
consultations when a new patient is created why because those two
22:00
created why because those two
22:00
created why because those two microservices they have their own
22:03
microservices they have their own
22:03
microservices they have their own database I think that's fine for most of
22:07
database I think that's fine for most of
22:07
database I think that's fine for most of the time when you're using
22:09
the time when you're using
22:09
the time when you're using microservices but what
22:11
microservices but what
22:11
microservices but what happens let's think about this um let's
22:16
happens let's think about this um let's
22:16
happens let's think about this um let's think about a
22:21
consultation oh my God I'm sorry about
22:25
consultation oh my God I'm sorry about
22:25
consultation oh my God I'm sorry about that
22:27
that
22:27
that anyway so when a consultation happens
22:30
anyway so when a consultation happens
22:30
anyway so when a consultation happens between a patient and a doctor as you
22:32
between a patient and a doctor as you
22:32
between a patient and a doctor as you can see here I'm receiving this as the
22:36
can see here I'm receiving this as the
22:36
can see here I'm receiving this as the payload right patient and
22:40
payload right patient and
22:40
payload right patient and doctor so I know the ID of the
22:44
doctor so I know the ID of the
22:44
doctor so I know the ID of the patient
22:47
patient
22:47
patient right however I don't know the name of
22:51
right however I don't know the name of
22:52
right however I don't know the name of the patient since the source of Truth
22:57
the patient since the source of Truth
22:57
the patient since the source of Truth for patients
22:59
for patients
22:59
for patients must be patient
23:01
must be patient
23:01
must be patient API in other words this other
23:04
API in other words this other
23:04
API in other words this other microservice right so I need a way
23:08
microservice right so I need a way
23:08
microservice right so I need a way between microservices to store some kind
23:10
between microservices to store some kind
23:11
between microservices to store some kind of cash and that's actually what I'm
23:13
of cash and that's actually what I'm
23:13
of cash and that's actually what I'm going to do
23:14
going to do
23:14
going to do here
23:16
here
23:16
here and I have this code that I've been
23:20
and I have this code that I've been
23:20
and I have this code that I've been working
23:24
with so you can see here on the patient
23:27
with so you can see here on the patient
23:27
with so you can see here on the patient controller
23:30
controller
23:30
controller when I create a patient right let's say
23:33
when I create a patient right let's say
23:33
when I create a patient right let's say Steven
23:34
Steven
23:34
Steven Simon I create this patient named Steven
23:37
Simon I create this patient named Steven
23:37
Simon I create this patient named Steven Simon and then I want to publish the
23:40
Simon and then I want to publish the
23:40
Simon and then I want to publish the event to this particular uh uh pops up
23:45
event to this particular uh uh pops up
23:45
event to this particular uh uh pops up component and then the name of the topic
23:48
component and then the name of the topic
23:48
component and then the name of the topic and then the
23:50
and then the
23:50
and then the payload this is the only thing that you
23:52
payload this is the only thing that you
23:52
payload this is the only thing that you need to do in order to use the pops up
23:55
need to do in order to use the pops up
23:55
need to do in order to use the pops up uh building block
23:58
uh building block
23:58
uh building block on the other hand here on the other
24:03
on the other hand here on the other
24:03
on the other hand here on the other microservice inside the consultations
24:06
microservice inside the consultations
24:06
microservice inside the consultations controller I have this public method
24:09
controller I have this public method
24:09
controller I have this public method that is decorated with the topic
24:12
that is decorated with the topic
24:12
that is decorated with the topic attribute again I'm using the same pops
24:15
attribute again I'm using the same pops
24:15
attribute again I'm using the same pops up component in the same
24:18
up component in the same
24:18
up component in the same topic and I'm specifying hey you know
24:21
topic and I'm specifying hey you know
24:21
topic and I'm specifying hey you know what I want this
24:24
what I want this
24:24
what I want this payload which is the patient ID first
24:27
payload which is the patient ID first
24:27
payload which is the patient ID first name and last name
24:29
name and last name
24:29
name and last name this is it this is actually it there's
24:32
this is it this is actually it there's
24:32
this is it this is actually it there's nothing else you can do or you should do
24:35
nothing else you can do or you should do
24:35
nothing else you can do or you should do in order to receive that patient
24:38
in order to receive that patient
24:39
in order to receive that patient object can you see what's happening here
24:42
object can you see what's happening here
24:42
object can you see what's happening here so patient is going to send a
24:44
so patient is going to send a
24:44
so patient is going to send a synchronously that event and this guy is
24:47
synchronously that event and this guy is
24:47
synchronously that event and this guy is you know waiting for messages in the
24:51
you know waiting for messages in the
24:51
you know waiting for messages in the pops up
24:52
pops up
24:52
pops up component and when there when there's a
24:55
component and when there when there's a
24:55
component and when there when there's a new message it's going to grab the
24:57
new message it's going to grab the
24:57
new message it's going to grab the object it's going to grab the message
24:59
object it's going to grab the message
24:59
object it's going to grab the message right and it's going to
25:01
right and it's going to
25:01
right and it's going to deserialize that message into this uh
25:05
deserialize that message into this uh
25:05
deserialize that message into this uh strongly type object and I'm going to
25:08
strongly type object and I'm going to
25:08
strongly type object and I'm going to use that for inserting the patient in
25:12
use that for inserting the patient in
25:12
use that for inserting the patient in the
25:13
the
25:13
the database make
25:16
database make
25:16
database make sense
25:18
sense
25:18
sense so
25:21
um
25:23
um
25:23
um let's um go
25:26
let's um go
25:26
let's um go here and let's see if this is working
25:30
here and let's see if this is working
25:30
here and let's see if this is working actually
25:32
actually
25:32
actually so learning
25:34
so learning
25:34
so learning checkpoint I'm in this branch and my
25:37
checkpoint I'm in this branch and my
25:37
checkpoint I'm in this branch and my plan is to finish the entire application
25:39
plan is to finish the entire application
25:39
plan is to finish the entire application if we don't have enough time today and
25:42
if we don't have enough time today and
25:42
if we don't have enough time today and I'm going to finalize and and this
25:45
I'm going to finalize and and this
25:45
I'm going to finalize and and this implementation with four building
25:48
implementation with four building
25:48
implementation with four building blocks um and I'm going
25:50
blocks um and I'm going
25:50
blocks um and I'm going to actually uh send that in uh store
25:54
to actually uh send that in uh store
25:54
to actually uh send that in uh store this in my GitHub account
26:00
perfect oh my God I'm
26:03
perfect oh my God I'm
26:03
perfect oh my God I'm sorry I'm sorry I'm sorry I'm sorry okay
26:08
sorry I'm sorry I'm sorry I'm sorry okay
26:08
sorry I'm sorry I'm sorry I'm sorry okay cool
26:10
cool
26:10
cool so let's open up this one and I can say
26:14
so let's open up this one and I can say
26:14
so let's open up this one and I can say d run this is the
26:16
d run this is the
26:16
d run this is the consultations service right up ID it's
26:20
consultations service right up ID it's
26:20
consultations service right up ID it's going to
26:21
going to
26:21
going to be
26:23
be
26:23
be consultations and then Dapper HTTP port
26:28
consultations and then Dapper HTTP port
26:28
consultations and then Dapper HTTP port let's say
26:30
let's say
26:30
let's say 56,000 out Port is going to
26:34
56,000 out Port is going to
26:34
56,000 out Port is going to be
26:36
be
26:36
be 5600 and then
26:38
5600 and then
26:38
5600 and then netrun URLs HTTP and then Port this
26:48
one so this is working let me end this
26:52
one so this is working let me end this
26:52
one so this is working let me end this since I want to execute this in this
26:55
since I want to execute this in this
26:55
since I want to execute this in this other folder
26:58
other folder
26:58
other folder since I didn't create the Dapper Dojo
27:00
since I didn't create the Dapper Dojo
27:01
since I didn't create the Dapper Dojo file that's something missing here uh
27:04
file that's something missing here uh
27:04
file that's something missing here uh Dapper
27:06
Dapper
27:06
Dapper inaction so source and then learning
27:09
inaction so source and then learning
27:09
inaction so source and then learning checkpoint patient
27:12
checkpoint patient
27:12
checkpoint patient API so this is going to be
27:15
API so this is going to be
27:15
API so this is going to be patience
27:16
patience
27:16
patience patience and I don't know 6 uh 56,0
27:23
patience and I don't know 6 uh 56,0
27:23
patience and I don't know 6 uh 56,0 one this other here and this right
27:28
one this other here and this right
27:28
one this other here and this right so what I'm doing now is I'm running the
27:30
so what I'm doing now is I'm running the
27:30
so what I'm doing now is I'm running the sidecar alongside the
27:34
sidecar alongside the
27:34
sidecar alongside the application right and right at this
27:37
application right and right at this
27:37
application right and right at this moment you can go ahead and execute
27:40
moment you can go ahead and execute
27:40
moment you can go ahead and execute dopper list so you can see all the
27:43
dopper list so you can see all the
27:43
dopper list so you can see all the different applications that are running
27:46
different applications that are running
27:46
different applications that are running you can also execute Dapper dashboard
27:52
dashboard just like
27:56
dashboard just like
27:56
dashboard just like this and
27:59
this and
27:59
this and let me show you the doer dashboard so we
28:02
let me show you the doer dashboard so we
28:02
let me show you the doer dashboard so we can easily see all the different
28:04
can easily see all the different
28:04
can easily see all the different applications that are running right now
28:07
applications that are running right now
28:07
applications that are running right now sense
28:09
sense
28:09
sense perfect so so far so
28:13
perfect so so far so
28:13
perfect so so far so good let's see if this is
28:17
good let's see if this is
28:17
good let's see if this is working for example
28:21
working for example
28:21
working for example patience is running
28:23
patience is running
28:23
patience is running here I just want to add a patient that's
28:26
here I just want to add a patient that's
28:26
here I just want to add a patient that's why I'm using the applic ation
28:29
why I'm using the applic ation
28:29
why I'm using the applic ation Port
28:31
Port
28:31
Port okay and let's send Steven
28:36
okay and let's send Steven
28:36
okay and let's send Steven Simon so it Returns the ID the newly
28:39
Simon so it Returns the ID the newly
28:39
Simon so it Returns the ID the newly created ID for Steven
28:41
created ID for Steven
28:41
created ID for Steven Simon okay let's add this other
28:48
patient and this is returning two
28:51
patient and this is returning two
28:51
patient and this is returning two nothing fancy
28:53
nothing fancy
28:53
nothing fancy here and this other endpoint
28:58
for grabbing all the different patients
29:01
for grabbing all the different patients
29:01
for grabbing all the different patients so it's working
29:03
so it's working
29:03
so it's working right so the thing is that when I
29:05
right so the thing is that when I
29:05
right so the thing is that when I created those two
29:07
created those two
29:07
created those two patients I
29:09
patients I
29:09
patients I wanted the consultations microservice to
29:13
wanted the consultations microservice to
29:13
wanted the consultations microservice to react and store the
29:19
patients into its own
29:23
patients into its own
29:23
patients into its own database okay did I do that correctly uh
29:28
database okay did I do that correctly uh
29:28
database okay did I do that correctly uh well actually I don't
29:30
well actually I don't
29:30
well actually I don't know let's
29:33
know let's
29:33
know let's um stop this and this other as
29:38
um stop this and this other as
29:38
um stop this and this other as well so let's go back to visual studio
29:42
well so let's go back to visual studio
29:42
well so let's go back to visual studio and
29:43
and
29:43
and here I'm
29:47
just uh well yes it looks like um I
29:51
just uh well yes it looks like um I
29:51
just uh well yes it looks like um I already implemented the code I'm
29:53
already implemented the code I'm
29:53
already implemented the code I'm obtaining the patient and then storing
29:55
obtaining the patient and then storing
29:55
obtaining the patient and then storing the patient in the DV context let me
29:58
the patient in the DV context let me
29:58
the patient in the DV context let me show
30:00
show
30:00
show you the the context I'm sorry I'm
30:03
you the the context I'm sorry I'm
30:03
you the the context I'm sorry I'm cuffing very often right
30:06
cuffing very often right
30:06
cuffing very often right now and yes I have my own
30:10
now and yes I have my own
30:10
now and yes I have my own patients is this the uh
30:14
patients is this the uh
30:15
patients is this the uh most perfect design microservices
30:18
most perfect design microservices
30:18
most perfect design microservices solution of course it
30:20
solution of course it
30:20
solution of course it isn't but I'm
30:22
isn't but I'm
30:22
isn't but I'm actually uh respecting the you know
30:28
actually uh respecting the you know
30:28
actually uh respecting the you know the private
30:30
the private
30:30
the private database
30:32
database
30:32
database um uh principle for
30:36
um uh principle for
30:36
um uh principle for microservices in other words this
30:39
microservices in other words this
30:39
microservices in other words this microservice has its own
30:42
microservice has its own
30:42
microservice has its own storage and it's fine when you use and
30:45
storage and it's fine when you use and
30:45
storage and it's fine when you use and you create distributed applications when
30:47
you create distributed applications when
30:48
you create distributed applications when you repeat
30:49
you repeat
30:49
you repeat um you're you're repeating the the you
30:53
um you're you're repeating the the you
30:53
um you're you're repeating the the you know the the models here I'm sorry
30:58
know the the models here I'm sorry
30:58
know the the models here I'm sorry I'm actually struggling a lot with my
31:00
I'm actually struggling a lot with my
31:00
I'm actually struggling a lot with my voice right
31:03
voice right
31:03
voice right now anyway it's fine if consultations
31:07
now anyway it's fine if consultations
31:07
now anyway it's fine if consultations have its own patient
31:10
have its own patient
31:10
have its own patient storage however just remember in a micro
31:13
storage however just remember in a micro
31:13
storage however just remember in a micro Services solution there must be
31:15
Services solution there must be
31:15
Services solution there must be something or one single source of Truth
31:19
something or one single source of Truth
31:19
something or one single source of Truth for the data in this case the patients
31:22
for the data in this case the patients
31:22
for the data in this case the patients microservice is
31:24
microservice is
31:24
microservice is the I'm sorry I'm gonna I think we're
31:28
the I'm sorry I'm gonna I think we're
31:28
the I'm sorry I'm gonna I think we're going to cut out this uh session for
31:30
going to cut out this uh session for
31:30
going to cut out this uh session for today and continue in the next uh next
31:34
today and continue in the next uh next
31:34
today and continue in the next uh next next week uh since I'm I'm really
31:37
next week uh since I'm I'm really
31:37
next week uh since I'm I'm really struggling friends I'm choking choking
31:41
struggling friends I'm choking choking
31:41
struggling friends I'm choking choking right in front of you which is
31:44
right in front of you which is
31:44
right in front of you which is um it's
31:46
um it's
31:46
um it's exciting well it isn't
31:50
exciting well it isn't
31:50
exciting well it isn't um
31:51
um
31:51
um anyway just remember this uh its own
31:55
anyway just remember this uh its own
31:55
anyway just remember this uh its own private storage and the thing is that I
31:57
private storage and the thing is that I
31:57
private storage and the thing is that I want to you know store its own
32:02
want to you know store its own
32:02
want to you know store its own patience so let's try
32:05
patience so let's try
32:05
patience so let's try again consultations and then this other
32:10
again consultations and then this other
32:10
again consultations and then this other one and let's go
32:14
one and let's go
32:14
one and let's go ahead and open up
32:18
Postman let's duplicate
32:23
this consultations patients
32:28
this consultations patients
32:28
this consultations patients so first let's create this
32:30
so first let's create this
32:30
so first let's create this patient and then stepen
32:34
Simon two
32:36
Simon two
32:36
Simon two patients right two patients here
32:41
patients right two patients here
32:41
patients right two patients here and two patients were
32:44
and two patients were
32:44
and two patients were created and I need to return those
32:48
created and I need to return those
32:48
created and I need to return those patients here
32:50
patients here
32:50
patients here since I should receive those messages so
32:53
since I should receive those messages so
32:53
since I should receive those messages so somehow the serial this serialization is
32:56
somehow the serial this serialization is
32:56
somehow the serial this serialization is not working right uh right now
32:59
not working right uh right now
32:59
not working right uh right now I'm sorry I have other things to show
33:01
I'm sorry I have other things to show
33:01
I'm sorry I have other things to show you but actually I'm shoking so this is
33:04
you but actually I'm shoking so this is
33:04
you but actually I'm shoking so this is going to be first part part one of uh
33:06
going to be first part part one of uh
33:07
going to be first part part one of uh the learning
33:08
the learning
33:08
the learning checkpoint
33:10
checkpoint
33:10
checkpoint [Applause]
33:11
[Applause]
33:11
[Applause] and thank you for your understanding and
33:14
and thank you for your understanding and
33:14
and thank you for your understanding and I'm going to cut out I'm gonna finish
33:16
I'm going to cut out I'm gonna finish
33:16
I'm going to cut out I'm gonna finish this session uh right now and see you
33:19
this session uh right now and see you
33:19
this session uh right now and see you next week with the second learning
33:20
next week with the second learning
33:21
next week with the second learning checkpoint okay
33:25
[Music]