?eBook Launch Today? - Build a Full Stack Web Application using #Angular & #Firebase
11K views
Oct 30, 2023
Come and join ? us in this live broadcast ? as we unveil a new #Free #eBook by Ankit Sharma at C# Corner If you want to know how to Build ? a Full Stack Web Application using #Angular & #Firebase then this eBook is for you. Visit here to download all eBooks from C# Corner https://www.c-sharpcorner.com/ebooks #csharpcorner #ebookalunch #ebook #launch #live #new
View Video Transcript
0:00
Hi, everyone. Welcome back to C Sharp Corner Live Show. My name is Stephen Simon, your host
0:18
And for today's event, we have an e-book launch that is by Ankit, who is a C Sharp Corner MVP
0:25
So before we get into and bring him into the show, this show is going to be really exciting as Ankit bring his years of experience of development
0:36
And he has now come up with a free ebook that we are going to talk about today
0:41
In the free ebook, he also talks about the demo applications that you guys can make, different features of Angular
0:50
And not just Angular, since it is a book that comes with Angular and Firebase
0:55
and it is a full stack. So I think this is one book you surely want to download
1:00
not just because it is Angular, which is really famous, but Ankit has said that this book is
1:06
purely for community. He's been a pure community hero, or you can say a leader, and he has inspired
1:13
many people. And in the same way, he has said that this book is going to be free. Ankit has
1:18
been a C Sharp Corner MVP, and now he's also been recently awarded with Google GDE Expert Award
1:25
We are really excited and humbled to have Ankit with us. And without any delay, let me call upon the author of the book itself
1:34
Hello, everyone. Hi, Ankit. How are you? Hello. Hello, how are you
1:39
I'm good, Ankit. Thank you. Thank you so much for your time. I'm doing good
1:47
Great. I'm doing good. How are you? I'm good too. I'm good too. So I think today's event is going to be really interesting
1:54
I believe the last time you had a webinar, a bunch of crowd came and people really love your content
2:01
You are kind of like a hero in this community world now, right? People like to look at your quota
2:08
So why don't you go ahead, Ankit, and tell me and the audience who are watching is what made you write this book
2:15
And what is the purpose that you have made such an amazing book for free of cost
2:20
I mean, why would anyone do that? See, I have already, I am working on Angular since last three years almost
2:30
And I am doing community work also since last three years. And I always believe that as a tech enthusiast, it's our responsibility to share our knowledge
2:39
with everyone in the world. What I have learned as a developer, what I have learned in my experience, I want to share
2:46
with other people also, which might face similar situation. That is why I started community work
2:51
And this book is a part of my community work. So here, since Angular is one of the most widely used UI frameworks, that's why I started
2:59
using Angular and I wanted to integrate it with the Firebase. So Firebase is considered as a back-end as a service
3:05
It is also provided by Google and it is considered as a back-end as a service
3:10
The Firebase has a back-end and Angular on the UI. So that is how you create a full stack application
3:15
So that is why this book is there. And the reason it is free is that I want the community to learn and use Angular and Firebase
3:23
both for their own purpose because it's an awesome technology and with Angular you can
3:27
create awesome applications. That's great. That's great. Well said. Talking about the community part, we are open to any questions if audience want to ask
3:36
You can, if you're watching on Twitter, Facebook, YouTube, or even on Twitch, there's a comment
3:41
section below. if you want to ask Ankit the most hardest question you can just go in the comment section and ask him
3:48
probably don't ask me questions related to the clients project right I am ready to answer the
3:55
questions whatever you have and maybe I can also show I think the book is launched right
4:02
yeah maybe we can yeah maybe we can share the link with the public so that they can start downloading
4:12
and then maybe they can start the questions if they have any with the book
4:16
and that's great that's great well said so i'm gonna drop the link in the comment section below
4:22
and there you go boom boom boom boom boom the link is everywhere in the comment section
4:27
and you can just go and download to follow along with this session
4:33
And maybe Ankit, you would like to go and download the book too. Maybe you can share screen and do that for us
4:40
Yes, I will do that. I am seeing on Twitter. I can't see any link
4:46
Can you show me the link? Okay, let me share the screen. Yep
4:50
Let me share the screen. Pankit says, hi, Ankit. Hello. Hi Anke, thank you so much for doing it
5:00
Hello Pankaj, thank you. I am glad that my work is helpful for you
5:04
This is a real community. And please share with your friends, everyone
5:09
and so that everybody can get benefited. So I can already see that we already have 12 downloads
5:14
That is awesome. So here you can see what we are going to learn in the book
5:19
So we are going to discuss on this in a bit detail after a few minutes
5:23
So let me download the book and I will see how the book come out
5:31
Okay. That was very fast. Yeah. That was really fast. No, this is just a pop-up and the book is getting downloaded over here
5:38
40 seconds left. Yeah. Okay. I think I really love the cover and the anger and fire. Right
5:46
So I think you have worked with the editorial team to get things picture perfect
5:50
Yeah, I have worked with, and I want to thank Manish and
5:53
from C Sharp Corner, they have helped me a lot with this book and also Mahesh sir for
5:58
his motivation. So Mahesh sir was the first reviewer of the book and after Mahesh sir
6:03
has done his review, I get help from two of my very good friends Santosh and Prakas and
6:10
they will be joining us today also and they also reviewed all the technical aspects of
6:15
this book. So thanks to Prakas and Santosh. Let me open the book and here it is
6:21
Yeah, this looks awesome. Yeah, this looks awesome. The cover is awesome
6:27
The cover is awesome. And here the author's name is awesome. Yeah, yes
6:32
I am the author. I am happy. So on the preface, you can see what
6:39
will be the features of our application. So actually, in this book, I am going
6:43
to teach how to create a full stack application using Angular and Firebase
6:47
And what will be the features of our application. So our feature has the material design
6:52
And since this is a blogging application, so it will have all the crud features of a blog
6:57
How to add a new blog, how to edit a blog, how to delete a blog
7:01
And it will be something similar to WordPress. If you want to visualize, you can visualize in that way
7:06
Something similar to WordPress. And then we have role-based authentication. So we will define two role, one for admin, one for normal user
7:14
So admin have some special permissions like deleting the blog and deleting the comments
7:19
Then we have Pezination. Then we have the feature to post the comment on blogs
7:23
And then we also have the option to share the blogs on social channels And also I would like to say that this application is already deployed on Firebase and this is a public URL Maybe I can share with the people
7:39
Stephen, can you share this with the people? You can put in the private chats, then I'll share it
7:48
Yeah, you can share with the people that this is the blog. They can go and play around with that
7:53
and they can see how this application works really. After working, after using this app
7:59
they can go and learn the book, how to create this app. So I always believe that visualization is the best way to teach anything
8:06
Right now you are seeing on the screen, these features are there. Now, after that, you go and read the book
8:12
and then you can see how you created these features. That's great
8:18
I think we do have, we do have a Prakash with us
8:22
if you would like to ask him to join. Yeah, let's ask Prakash to join
8:29
Let's ask Prakash to join and then we can proceed with Prakash also. Prakash's views, we can see
8:38
Hi, Prakash. I think you would like to unmute yourself. Prakash, are we audible to you
8:47
Prakash, I think you are... I'm audible. Yeah, Prakash. Hello. How are you, Prakash
8:52
Yes. Yeah, I'm good. How are you guys? Yeah, I'm doing good, Prakash
8:56
Thank you for your review and thank you for your time to join this live chat
9:03
Yeah, I'm glad that, you know, you guys are having this great review
9:09
And the way it's going on from Shisha Corner is really great
9:14
It is giving, you know, opportunity for authors to kind of, it's like good motivation that, you know, they can write more great books
9:22
in coming days and months, right? So that's good. Go ahead, go ahead, Prakash. I was just going to introduce you. I'm just going to introduce that
9:33
Prakash is again, once again, a community leader. He's a C-Sharp Corner, Hyderabad chapter. So he
9:39
Prakash is someone who leads all the events that happens in that location. And he, I think he ranks
9:45
somewhere around 23 at C-Sharp Corner globally, which is truly amazing. And he has written many
9:51
many articles. So of course having Prakash and Ankit's team to come up with this book is a..
9:58
I can feel even right now that this book is going to be really amazing
10:03
The team that you have built up is really great. Yeah the book is really great actually
10:15
I would like to share one more thing about Prakash. When I started my community contribution
10:21
almost three years back. So I talked to Prakash and he's the first person
10:25
who always motivated me and always, and has given me a chance to speak in the local
10:30
Heatherabad chapter. So from there, I evolved as a speaker. So that is
10:34
Prakash has a very big role to make me evolve as a speaker
10:38
So I learned a lot from his speaking skills also. And thanks to him
10:42
for giving me a chance to speak at the C Sharp Corner Heatherabad chapter
10:46
So that's great. That's great. That's great. I think Prakash is more comfortable showing us just the picture and not the video
10:57
He's like, boys, you work with the videos. Right. Anyway, anyway. So Prakash, while you were reviewing this book, what were some of the features that you liked
11:11
And what are the things that really interests or bring interest of you in this book
11:20
Yeah, so basically, I think this book actually, what I liked most about it that even if you
11:29
have very little idea about Angular, or even no idea, but you have some basic idea about
11:34
front end programming, right? JavaScript, jQuery, and you understand basics of programming, then I think this book is
11:41
kind of give you good starter, you know, if you understand basics of Angular
11:46
So like a step by step approach and how you can integrate other stuff
11:51
It's put in a very easy to understand way. So I think for beginners and also for even little experience also, it's a good refresher on how we can have a working block ready by going through Angular and other
12:07
He has used this Google stuff to store Firebase. So I think it's a good refresher for experienced guys
12:14
and I think good reference book for beginners. Great. So I think if I am a .NET developer
12:21
or more specifically, if I personally come from a Laravel background that is kind of an MVC framework
12:28
So this book is meant for me. Suppose I have never coded in Angular. I have never worked on Firebase
12:33
but I do have a decent programming background. So this book will help me get into a full project
12:40
for Firebase, the backend, and also the frontend with the Angular. So I think it covers the entire ecosystem
12:47
Even if you're a beginner or even if you come from any different technology background
12:51
this book will help you get into this Firebase. I would like to add one more thing
12:56
So as you said that if you are coming from some other background like Laravel or some other UI background
13:01
So I have written the book in such a way that you don't need any much experience to read this book
13:09
Everything is explained from the basics. The only thing you require is the basic concept of Angular
13:13
So if the basics of your Angular, or you are a, I can say, beginner level of Angular programmer
13:19
then this is the perfect book to scale up your skill. This book is mostly for the intermediate level to the advanced users of the Angular
13:28
So this is not for the absolute beginners of Angular. But if you have basic idea of Angular, then this is the perfect book to scale up your skills
13:36
And for Firebase, Firebase uses a database which we call Cloud Firestore
13:41
So I have used Cloud Firestore as a database. And this is a NoSQL database
13:48
So if you are coming from MongoDB background, which is a very famous database
13:52
so you can relate to that because both MongoDB is also a NoSQL database
13:56
So this is how you can relate to your already existing technology
14:00
and you can easily learn the concepts here. That's great. That's great
14:05
I think we are done with Prakash. Prakash is a busy person
14:09
Yeah, Prakash has some meeting to attend. Thank you, Prakash, for your time
14:15
And thank you again for your review and your help. So let me show you quickly a demo of the application that I have created
14:23
I will share my screen again. And I will share the demo with you
14:27
Just give me a moment. Okay. Okay, I can
14:37
Yep. Okay, done. and you you can see my screen yeah i can see a screen yeah just give me a moment let me log out
14:44
this first so once you log once you create once you launch the application this is the first way
14:50
you are going to see so here you can see we have uh all the blogs which we have created and if you click on the blogs you can see that you can read the blogs so you can read the blogs And the most important thing is if you see the title it is template driven form in Angular
15:08
You can see the same here in the URL slug also. So here I am taking care of the SEO part of the application also
15:16
So this is a very widely used SEO technique where you can put the title of the blog or
15:20
title of the page in your URL so that it will be ranked higher in the Google search
15:25
So this is one technique I'm using. And if you scroll down, you can see there is a share option
15:32
Here you can see share with your friends. And you can see on all the social media, Facebook, Twitter, LinkedIn, Reddit, WhatsApp
15:40
mail, even you can print the page. And at the end, you can see, yeah, you can print the ad
15:46
At the end, you can see login with Google to post comment. If you log in, you will have the comment functionality
15:52
So I am going to show that in a bit. Let's move to the front page on the home page
15:58
At the home page, you can see there is a pezination option over here
16:02
So here the pezination option is here and there is a drop down over here
16:07
In this drop down, you can select the number of items to be shown on per page
16:12
So if you see, I selected four. So if there's less than four items, right now we have only three items
16:18
So it is displaying all the three items on the page. And similarly, if you select two, it will show the multiple pages
16:27
Also, since this is an open source, the source code is available on GitHub
16:31
This is an open source code is available on GitHub. You can go and download and fork the source code from the GitHub
16:36
It is completely shown over here. And this is updated to the latest Angular version 9
16:41
So I'm using the latest Angular version, which is 9.0. 0 and then let me show you the feature so first we'll log in with Google so you have to log in with your Gmail account
16:52
So let me click this and if you click on login with Google button
16:56
It will show a pop-up and will ask you to login with Google. So let me show login with this
17:01
Google account and Once you log in here you can see I have the option to add post
17:08
So as I showed you, there is a there is an authorization part also
17:12
So there are two users. One is admin user and one is normal user
17:16
So anybody can log in and add a post. So right now I have logged in with a normal user
17:22
So I am going to add a post. Click on add post. If you click on add post, you will be reacted to this add post page
17:30
where there is a form. We have title and you have content
17:34
And let's say title this demo post or something. something, demo post
17:43
And in the content, this is a complete editor. In the editor, you have all the formatting options like headers
17:50
and formatted text for the programming, then bold, italics, links, everything you can push
17:55
For example, this is a content. This is my first blog. And let's say I want to put a heading
18:06
Let's say heading one, something like introduction. So this and then you can put this is intro
18:20
And then again, similarly, we have other comments also. We can create event tables also
18:24
Let's say I want to create a two by two table. You can create a table here
18:28
And then similarly, if you click on save, this will be posted to your database
18:35
and here you can see on the top demo post here and this is a summary so the this summary section
18:43
will show you first 300 words for sorry first 300 letters of your blog as a summary so here you can
18:50
see if there are more than 300 letters you will see three dots over here this three dot means
18:56
there is more to this blog here there are less than 300 letters that's why there is no three dots
19:01
which means this is the end of the blog and there is a read more button if you click on read more
19:05
button you are on this page now i am logged in already so that's why i can see a comment section
19:12
over here which is asking leave a reply so i will write something let's say anket and then i will
19:19
write email id and then i will write a blog nice blog and click on post comment if you click on
19:25
post comment the comment will be posted on the below of it here now i will show you how it will
19:32
work when you log in with an admin user yeah so this was a normal user workflow which anybody can
19:38
do you can log in with google account and you can see this now i will show you what admins can do
19:43
so admins have some special features some special powers so let me log in with admin account even i
19:49
I think this is one of the admin account I am using. Let me log in with this
19:56
Yeah. Yeah. So you can see there is an edit and delete button added to every blog card, right
20:02
You can see that. So these are the two special powers that is given to the admin
20:06
So only admin can edit or delete a blog. So let me click on edit button
20:11
If you click on edit button, again, you will be navigated to the edit post page
20:15
And here you can see we have the edit power. So I will write something like this is a edited section and then I will click on save
20:24
Once I click on save, the blog will be updated. And here you can see the part which I added is shown over here
20:33
One more important thing is that the admin has power to delete a comment also
20:38
So if you see, since I am logged in with admin, then only I can see this delete button for every comment
20:44
If you are not logged in as a admin, you cannot see this delete button on the comment page, comment blog
20:50
So if I click on this delete, it will ask for a confirmation and then you can click and you can show you can see the confirmation message
20:57
Similarly, you can delete a blog also. If you click on delete, it will ask, are you sure
21:02
Just for a confirmation, click on OK and your blog is deleted. So that is how this works on the UI front
21:09
and if you go to the backend firebase with console.firebase.com so i will show you how the database looks
21:25
so just give me a moment so if you see this is a database and here i click on database so i have
21:39
explain everything in the book how database works how cloud firestore database works and and as you
21:45
can see this blog site application so is deployed on firebase so i have also teach on in this book
21:53
how we can deploy the application on firebase so that is one of the firebase provides you a free
21:58
deployment for client side application so this is free of course it won't charge you any money
22:02
and let's see so here is my here is my database so here there is an app users collection so it's
22:09
since it's a NoSQL database, so it works in a JSON format. So it will show you all the users which
22:14
has logged into my account. So I am collecting this user data just for my, not
22:19
collecting user data in the sense, just collecting the email ID and name and the photo UIL of the user who has logged into account And similarly it will show me the list of all the blogs over here So right now we have three blocks so it will show the blocks and similarly the comments so what are the comments portion on this so this is a database part and once you uh and if you
22:41
want to update any data or delete any data you can do it from here if you go to we have also
22:49
created some indexes so indexes are used for searching your database faster so here is one
22:55
index i have created so i have explained how to clear you can see the database name is cloudfire
23:03
store here is shown on the top database cloudfire store so there is other option real-time data but
23:08
i am using cloudfire store which is a a more modern and has a more feature compared to the
23:13
real-time database so this is all about the functionality and also i told you that we have a
23:21
authentication by google so here if you go to the authentication tab here you can see the list of
23:26
all the users who has logged into my account so this is maintained completely by firebase i don't
23:32
have to do any configuration from my end so this is completely off the cell from firebase so that
23:37
is why firebase is sometimes known as back end as a service so it will provide you whole the
23:42
functionality of your backend. You can have your database, you can have your deployment
23:47
everything should be here. So that's all about the application. I think this is, I think
23:56
it took me almost three to four months to develop this application. And one thing is
24:01
that, one interesting story about this application is that I am working on this application for
24:06
almost more than six months. And last year in September, I went to London to Angular Connect
24:13
to present a webinar on this application. So Angular Connect is the biggest
24:17
Angular conference in Europe. And so my talk was selected in which I presented a webinar
24:24
on how to create this application. So that's great. That's great. I think if I ever get to look at this application
24:33
maybe I would use it. I would use it for my personal projects, right
24:38
I can just host it on Azure and just start running my own blogs, maybe
24:44
Yes, you can host it, yeah. So we already have 29 downloads
24:48
Is it? Yeah, I just checked that. I think we can ask Santosh to join us also
24:56
That's great. Santosh, can you hear us? I think, yeah, maybe he'll have to switch on his camera, maybe
25:04
Yeah, I think he's there, Santosh. Yeah, Santosh, what's up? How are you? Yeah, I'm good
25:09
Hey, Santosh, how are you? Doing good. I just finished my work and I just asked my teammate
25:17
I have to join the call. So let's disconnect for the today. Thank you
25:21
Thank you for your time. No problem. Anything for you. Thank you, bro
25:26
Thank you. I think now I'm out of the show. Right? I'm going to go
25:33
I am going to go take a glass of water and then come back. Let me drink some water
25:41
Yeah, I think so. Yeah, awesome. So, Santos, maybe you would like to introduce yourself
25:49
I would like to say that. Santos is awesome. You can continue after that
25:54
Look, I have like T-shirt with A, right? Awesome. Santos is awesome
26:02
Thank you, Ankit. Just to introduce myself, my name is Santosh Yadav, and I am from Pune, India
26:10
And I am a Google Developer Expert for Angular and Web Technologies
26:15
And I mostly work with open source. And this is where we met last year in around November in Bangalore
26:23
And then after that, we talk daily, let it be related to our open source project, which
26:31
we are working on and I actually had the honor of actually reading this book before it was launched
26:38
So I'm one of the luckiest person. Yes. Yeah. So that's it
26:44
I mean, that's it about myself. No, no, no, this is not it. So I would like to add one more thing for Santos
26:51
So Santos is in the top 100 contributor to the Angular repository on GitHub worldwide
26:59
So in less than one year, he is in the top, I think he is less than 50 or something
27:05
What is your ranking, Santos? In the contribution list? 60s. I think 60s
27:09
64 or 65. 60s. So he is in 60s and he has achieved that in less than one year
27:17
So that is something which is commendable. Yeah, exactly. It's more than a year, man
27:22
I mean, I think even then, if it's a year coming into the top contributors from an angular
27:27
which is very famous and everyone is working that's really commendable and I can surely see
27:33
Santosh with all the setups and all that he has right he looks kind of pro right so Santosh
27:41
while you were doing Ankit's book and while even you contribute a lot into the open source source
27:49
just a few minutes back Ankit showed us a demo of his project right so while when you went to
27:56
there's demo. What are the couple of features that you think were really nice and where do you think
28:01
maybe Ankit can also later on add that what are the points that he really struggled to develop
28:06
that application? So the good part was when he was struggling I was not there. I even didn't know him
28:13
So that's good. So I only got involved when it was ready and I really liked the book because
28:24
even I don't work with Firebase a lot. I work with Angular and it was really new for me
28:29
because I was while reviewing the book, right? So I was also learning
28:33
So it was new for me how I can create a Firebase store and then how I can integrate it
28:39
I had heard about Angular Firebase. So, but while reviewing this, I mean, I can see from the code, right
28:46
So he has actually put a lot of energy and time into developing it into one of the best books
28:51
if I would say, where you have like hands-on experience, what you will get by completing
28:57
this book. It's not like you're just going to learn about theories, which I, of course
29:03
I also hate theories, but it's like more in depth how to do it, how to do it practically. So that was
29:08
interesting for me because what I was doing is rather than reading the book, I used to actually
29:14
just open the book and on one screen, its book is open, second screen, I'm coding, right? So I'm just
29:19
looking into all the code and seeing if there is anything which is breaking. I think one or two places where it was breaking, I used to call him directly
29:27
Ankit, this is breaking now. What should I do? So he used to tell me because I'm new in Firebase, right
29:32
So I used to call him, what's happening? Now what should I do? So he used to give me, okay, you might need to change this and this settings
29:40
and then it will work. So it was really good. I mean, of course, he was like behind me because of course, due to my schedule
29:48
I was telling him, okay, I will do it next week, next week
29:52
Then he was like, no, you have to do it. And he used to call me daily, do it, bro, do it, bro
29:57
And then he said, okay, let's do it. So I now know how you both became good friends
30:03
Yeah, so I would like to add one more thing over here
30:07
I would like to add one more thing. So after reviewing, he has given some very good comments
30:13
and I still say that how to improve the code. So how to improve the coding structure
30:19
and how to make the code more manageable and more maintainable. So that is very important feedback which I got from Santosh
30:25
So I still, I was searching for that list. So he sent me a list
30:29
I don't remember if I have it with me. I think so
30:33
And on that list, I have referred to that and I updated
30:37
my code. So that was very great help from you. Indeed, as I think Santosh said, he had
30:45
one book in his one screen and in the other screen, he was actually
30:49
coding it. Everyone who is watching it, the code in that book works. And if your
30:55
code is not working, I think then there's something you're doing wrong but I think Ankit would have surely explained the
31:01
entire bit of code that is written over there it has been tested by Santosh and even the Prakash is
31:07
in the team they bring the years of experience so of course there's a demo in that there's an
31:13
entire demo application in the book then you're talking about different features on how to get
31:17
started there's a code explanation so indeed I think for anyone who is watching this broadcast
31:24
we really suggest to at least go and download that book and the free link that we have provided that is hosted over there
31:32
you should at least once go and look at the possibilities and different functions that we have from the demo applications
31:40
I think maybe first thing you can do is download that and start working around that project since it's entirely open source
31:48
Santosh also works, commits a lot on that community purpose. So I think that that's going to be really perfect
31:56
Why don't you go ahead, Ankit, and talk about different features of the book
32:00
and a couple of things that any reader would like to go and look at things at the very first place
32:06
Yeah, so I will add a few more things. So just now I showed you the features of the application that what I have created
32:15
But now I will tell you the background that how to create that
32:19
What are the things? Yeah, I also need to drink water. I sometimes feel that when you go broadcast, we get a little more thirsty than speaking on stage, right
32:39
And one more thing, I was saying, so I will explain what are the concepts I have covered in this book
32:44
What are the angular concepts I have covered? So, basically what you are going to learn this book, why should you read this book
32:51
That is the basic question. So the first requirement and the prerequisites which I said earlier also, that you have to
32:58
know at least some basics of Angular. If you have never worked with Angular, then this book is not for you
33:04
If you have some basic knowledge and you are a beginner level, even three or six months of experience in Angular, then this is the perfect place for you
33:11
So let me read out the... So these things are already mentioned on the very first page of the book
33:16
So if you open the book, on the preface itself, the list is mentioned over there that what
33:21
we are going to create in this book. So let me read out from there and just give me a moment
33:29
By the time you read Ankit, you said this is not meant for pure beginners. A point to note over
33:35
here that Ankit is very active on doing webinars too. So sometime back Ankit did a webinar that was
33:42
pure for beginners, right? And we also have a recording with us. So maybe you want if you are
33:48
Pure beginner for Angular. You would like to watch that. I think that's one crash course that Ankit gave for that webinar
33:54
So we can also share link for that. You may want to watch that and it should take you long to get along and then get started with this book
34:04
Yes, correct. And you can share the webinar link. Just let me reply to few comments on YouTube
34:10
So you can share the webinar link and any beginners in the Angular can watch that recording
34:17
and they can learn the basics of Angular. But there's one more thing I want to add over here
34:23
If you cannot join the webinar for some reason or if you cannot see the webinar link, then
34:27
I have provided ample links in the book that how to get started with Angular
34:32
I have provided the basics links. I have already mentioned that you can read from these places and then you can come back
34:38
to this book. So I have created that flow. Pipeline is already created
34:43
If you don't know Angular, download the book, refer to the links, learn basic of Angular
34:48
come back to the book, and then become the master. That's great
34:52
That sounds amazing. Everything is taken care of there. OK, just give me a moment
34:58
Let me show my. So I will tell you what are the concepts
35:02
which we are going to learn in this book. So one of the core concept is how to use Google Cloud Fire
35:07
Store database with an Angular application. So here, how to create a project in Firebase
35:13
then you have to map that project to your Angular application, then how data flow works, everything is covered over here
35:19
Then I have also covered Angular material, which is a material design framework by Angular
35:25
So it gives you nice look and feel to your application. And also, I have to teach all the bootstrap
35:31
So bootstrap is the most popular CSS framework. And I think if you are a UI developer
35:38
then the first thing you should learn is the bootstrap because that is very commonly used
35:43
Then I have talked about forms, specifically template-driven forms. So whenever you are dealing with user data, you need to work with forms also
35:50
So I have talked about template-driven forms. And as soon as the forms comes, you have to talk about the validations also
35:57
So users should not enter any raw data or users should not give any useless data
36:03
so i will share the screen for a moment and i will show you uh the validations and all
36:09
just give me a moment uh so what are the validations i have taken care of
36:17
yeah so you can see my screen uh it's there yeah maybe yeah you can see my screen yeah so if you go
36:26
to add post and let's say directly click on save it will give you error message over here title
36:32
is required. You cannot have a blog without title. You can have a blog without body because body is
36:38
not required. The reason for that is I need title to create the URL to that should be unique. So
36:44
that's why it is showing a validation of what a title is required. Similarly, if you go to any
36:50
blog and go to the comment form and if you click on post comment it will ask that name is required email is required and comment is required not only that in the email field you have to give a proper valid email you cannot give any
37:05
random text so I have taken care of all those validations over here also okay
37:11
what else other thing is authentications so I just told you that we have
37:17
authentication with google so if you have a google account you can log in with the google and then
37:21
authorization also so we have two uh what you say roles one is admin and one is normal user so admin
37:28
have some special permissions which i have already shown you that is how to edit and delete a blog
37:33
and to delete a comment and normal user can only add the comment and can sorry add the comment and
37:40
add the blog and similarly we have something called auth guards in angular so auth guard
37:45
is one of the very important concepts of the angular routing framework so auth guards allows
37:51
you the auth guards allows you to secure your routes from unauthenticated access so let's say
38:00
there is a user who don't have access to a particular route and if you try to go to there
38:05
he is not allowed so that is what a lot of guards does so i have implemented that feature also
38:10
and then I have used two of the third-party library one is called ngx
38:17
share and another is called ngx pezination so it will tell you how to
38:21
use a third-party library also that is one thing you will learn and ngx share
38:25
allows you to share the blog content to your social media channels like Facebook
38:31
Twitter which I have showed you already in the demo and ngx pezination which
38:35
allows you to implement the pezination for your blogs so that is the another
38:38
thing which I have showed you. So you are going to learn these many things in this 110 pages of the
38:43
book. The best book size is 110 pages. So if you can master all these concepts, then you can easily
38:50
consider yourself as a very good Angular developer. So Santos, you would like to add something over
38:56
here? Yeah, I mean, sure. So also, I mean, as Ankit already spoke about the advanced concepts
39:05
which are covered, right? So which is really an important part of this book. So it's not like it's
39:10
we are just talking about the basics. Of course, you can read the basics from anywhere, right
39:15
But book especially covers the advanced concept. Like if you're learning about angular forms
39:20
you are learning about reactive forms and it's with the custom validations, validations, and then
39:25
route guards, how you can secure your application, of course, where this is where actually
39:30
route guards plays an important role and one of the good feature or let's say the most widely
39:37
used feature of angular right so yeah okay so i have one question i mean i come from a non-angular
39:44
background so maybe you guys can answer that right so so when i work on any of a project and if there's
39:50
a route that does not exist right so i come from a laravel background right so if a route that does
39:56
not exist. The application infrastructure has been made and it has been taken care already
40:01
Right? I don't have anything. So in this book when you say that our routes has been taken care
40:08
are we using the infrastructure that comes with the project or we have learned also the build it
40:15
from the scratch? No. So we are using so Angular already provides you some features. So Angular
40:22
route is a very evolved routing module in Angular. So it provides you the feature if you try to go to
40:29
a route which does not exist, it will take you back to the home page. So that I have already
40:34
configured. And same with if you try to access a route which you don't have access to. For example
40:40
if you are a normal user and somehow you get the URL of edit somehow by hacking or some way
40:47
You get the URL of edit and you try to access that route directly. As a normal user, you are not allowed to
40:53
You will be transferred back to the homepage. So these things are already taken care of
40:58
This is great. I mean, if I, because usually if it's not a very safe organization
41:05
or maybe college, maybe, right? So those admin URLs are kind of very public
41:11
It is like something.com slash admin. so in the application that you have built in the book if anything like this happens that does not
41:19
have authentication for a user so it redirects back to the home page or any of the specified page
41:25
this is really amazing I think for this I'm really going to refer this book because
41:29
this does not come in many of our different frameworks on the go and since I think this
41:35
is a very advanced concept when it comes both for the security and for the stability of that
41:40
application you also don't want your user to just come on that 404 page maybe like you also don't
41:45
want that so i think you're even the viewers are engaged with that application so indeed i think
41:51
there are very some advanced and uh very edge features that in this book so what what else do
41:59
we have what else do we have to cover for we are already 40 minutes we are only 40 minutes we have
42:04
only like 15 minutes 20 minutes left no i think i have covered a lot about book can we take some
42:09
questions from the user. If they have, maybe they can post some questions on Twitter
42:13
and YouTube live. And then maybe we can take some questions over there. We have
42:17
the Angular star Santos with us. This is the best chance for
42:21
you guys to ask any questions. Okay, let me try. Okay, I have
42:27
one question. I'll again come. I'll again come. Coming from Laravel once again
42:33
Laravel comes prebuilt with Vue.js packages. I mean, it comes with Vue.js, right? So
42:39
So me coming from a Vue.js background, right? How easy or how tough it is for me with the concepts
42:46
and with the framework to move into this Angular with this Firebase part, because I have never worked on Firebase
42:52
I come from MySQL background and I've never worked on Angular and I come from Vue.js background
42:57
So my knowledge of Vue.js anyway going to enhance or I'm going to get confused in this book
43:04
So Santos, would you like to take this question? Yeah, I mean, this is something I think Ankit already covered, right
43:12
So Ankit said, you have to have good knowledge of Angular before you refer to this book
43:16
It's not like you don't know anything about Angular because the concept of Firebase is really close to RxJS, right
43:24
So you have everything, it's subscription. It's subscription. So if you don't know about RxJS, of course you will be confused
43:30
You will be like, what's going on, right? So we are making direct call to database
43:34
How is this possible? It doesn't happen, right? From your front end, you can never connect to back end
43:40
This is what we have been taught. So you should have some knowledge OK I have one question from One more thing I would like to add But before that one more thing One more thing is that to answer your question Stefan if you are using any of the UI
44:00
like let's say you said you're coming from Vue.js background. So if you know the Vue.js very good, then learning Angular will be a very simple thing
44:07
It's a cakewalk for you because both are JavaScript based frameworks. So just the syntax and few things will change
44:13
the core is javascript it will remain same wherever you go on the ui okay okay perfect
44:18
perfect that that's well answer to expert answering and helping me out right so let
44:24
let me pull up one question from punk yes yes what is the questions we have um you can go ahead
44:31
and read yeah i can read that one question ankit you said you use template driven forms why you
44:36
didn't use reactive forms any benefit related to performance also have you talked about optimizing
44:40
angular app in your book a lot of question in one one sentence okay first question why i use
44:46
template driven forms so template driven forms is very easy to bind it to a model so in our in my case
44:53
it will be it will help me to bind the data to a model and then directly send that data to my
45:00
database so it will be easier for me to do that because in reactive form i have to make one extra
45:06
control maybe you can say I have to make one extra manipulation to change it to a model so
45:13
that's why I use model driven form or template even form but directly I can buy into the model
45:17
I can post database post database second question is have you talked about performance of your angle
45:22
application no I have not talked about the performance because performance is something
45:26
separate and this book has something separate but I do follow some of the standard techniques to
45:33
which we can use so that we can handle the performance. One of them is to unsubscribe to all the subscriptions
45:40
So since as Santos already mentioned, Firebase based on RxJS principle and which is subscription-based model
45:47
So when you subscribe to the Firebase observables, you have to unsubscribe during your NG on destroy lifecycle hook
45:56
so that there won't be any memory leak in the application. So I have already taken care of that
46:01
So these are the basic things that we have already taken care, but there is no something special or something extra from the performance perspective
46:09
I hope your question is answered. Pankaj goes on and asks, what about loading
46:16
Loading is created. Yeah. Using your book for building blogging. So it's eager loading
46:20
It's eager loading because I have not used lazy loading of modules because I have not separated the modules
46:26
There are only two routes there. So I have not separated the modules
46:30
and I think eager loading will work in this case because the blogs are coming from a database in a
46:35
simple HTML text form. So I have used the eager loading strategy and if you want to learn about
46:41
lazy loading or other routing strategy then you can refer to the routing guidelines on angler.io
46:46
It's a great documentation over there where you can learn about different routing features
46:52
But for this application I have used the eager loading. That's great. I think
46:56
I would love to answer more questions from Pankaj. Pankaj goes on and I think he asked more questions. Maybe also wanted to wait. Did he like lazy load loading or custom loading? No, no, no
47:13
I think he had covered that part. So I have already answered this question that I used
47:22
What do you say? I forget the name. Eager loading. Sorry, eager loading
47:29
Yeah, I think there are a bunch of appreciations. One is from Ritesh
47:34
I would like to read this for you as an honor. He says, I have attended Ankit seminars and the great thing is his coding skills are amazing
47:44
and have a great design pattern to maintain the functionalities in the UI
47:49
which is pretty difficult. I'm damn sure this person has gone each and every line of your code
47:56
Right? Yes. So, I am... Thank you. Thank you. Yeah, until unless Ankit didn't call him and said
48:04
okay, you have to write this. So, yeah, thank you. Thank you, Ritesh, for this. I have already replied to his comment
48:21
I saw his comment and thank you for that. I am glad that my work is helpful for people
48:27
So that I shared at the earlier also, right? The first question you asked. So, I always
48:33
believe and I think Santos will also agree that now if I learn something and
48:38
my responsibility to share with others and it's for everyone not only IT people
48:44
or technical people if you're non IT or working in some different field each
48:48
other's were junior to you yeah you might teach Laravel to us because I don't
48:54
know that Maybe we can have a call someday. What do you say, Arthos
49:00
Do you want to learn Laravel from Simon? No, no. Not in doubt
49:07
Look, if I have to learn any backend technology, either it would be Node.js or it would be .NET, right
49:13
So I've been a .NET developer for eight years. Oh, awesome. But nobody is fine
49:18
Fine, fine. OK, fine. I just got rejected on a live show
49:22
Let me get back. Ritesh has one question. Can you tell me how to develop custom components in Angular which
49:34
can be used by other users? I would like to build components like Syncfusion provides
49:39
So Santos is an expert in this. Santos. So yeah, actually if you really want to build
49:50
that we are working on one of the open source projects. Yeah, maybe you can share the link
49:55
Yeah, maybe you can share the link. No, no, you can share the link to ngx Bulma
50:00
You can set the Bulma link. So I want to share one more thing that me and Santos
50:04
are working on two or three open source projects. So as Ritesh asked that he want to work on shared components
50:10
So we are working on some shared components. Santos can share the link
50:14
There is something called ngx Bulma. Then we have something for a static yzer, site yzer
50:20
So we have a few things working on. So if you are interested, you can join us. It's open source
50:24
Anybody can contribute. And we are there to help you. You can learn from us, and we can learn from you
50:30
It's a sharing of knowledge. I think I have the link with me
50:36
I think this is not just now a book launch. I think there a lot of knowledge sharing going on right now You have the Angular master sitting over here You have His name is Ankit No no no no So I will tell you one thing If you start talking about Santosh achievement it will at least take 30 minutes
50:58
We have to have a separate meeting just to talk on Santos achievement. Just in one year, not more than that
51:14
So, I am really thankful to Santos that I am working with him and I am thankful that we met him with one of the Google events
51:24
and we have a very good bond. We share a good bond and he's like my brother
51:29
and we are working on some projects and I'm happy that I'm working with
51:33
I'm learning a lot from him and it's good. Same here. Yeah, same here too
51:37
I think for me, both of you, right? I've learned both of you
51:41
and you know, one thing that I really love about this job is like I get to meet people
51:46
from across the ecosystem. Yeah, exactly. Exactly. I think my job is really
51:52
see now I learned something new from you guys, even when such senior leaders
51:57
when you come with so much experience when you talk this time is tough
52:01
this COVID-19 but you guys are still committed to share look at Santosh
52:06
look at his mic look at his setup he's all bang on so this is something
52:12
that really inspires young people and also the people who are at managerial positions
52:16
I think they would now look back like oh man what is happening now
52:21
why didn't we do something like this Anyway, I think we have crossed almost like 50 minutes now
52:32
Anything that you would like to say when we are going to wrap up now
52:38
Okay, we have one more question and I think... Yeah, let's take one more question then we can have a written wrapper
52:44
Yeah, that would be awesome. Okay, I think Pankaj really wants to learn this
52:50
He says, request you to help us with Node.js, CICD, Docker, Kubernetes also in near future
52:56
I will start with the book today itself. Oh, that is a long list
53:01
Node.js, Kubernetes, CICD, that is a long list. Yeah, I mean, yeah
53:07
So to be frank, right, I decided to learn Docker last year
53:12
And it's been a year I'm just learning Angular. I still have to test Docker
53:16
Oh, I get that. I get that. Now you understand? Now you understand
53:22
Yeah. So I think he's been really committed to Angular. I think his t-shirt says a lot. Awesome
53:30
Santosh. This is a gift from Angular team. That's great. This is a team. It is different
53:39
right? When I show it, it is actually this way. This is a team that I got from C-Tap on our team
53:43
Which T-shirt are you wearing, Ankit? I am wearing C-sharp corner. You can see that
53:50
Yeah, C-sharp corner 2020. So somehow it didn't happen. For some unfortunate reasons, for COVID
53:59
reasons it didn't happen. But it happened in Hyderabad. We are fortunate because it happened
54:02
in mid-February. So this is 2020. Okay, yeah. Great. 2020 is happening. It's going to be really nice for you
54:10
think so. You have a bunch of books lining up and you are now a GDE 2. You both do webinars together
54:18
Maybe I think the audience really loved you. We people would personally like to have you once again
54:23
more with the technical concepts and more with the demos. I think people would really love that
54:29
So we are always up to have you both guys and I would really thank Santosh for his time. I know
54:36
that going live from home right when they're kids they want to watch cartoon but i do get that
54:42
you can see that yeah i have seen a lot of cartoon in his tv yeah
54:50
that was really thank you santosh for your time uh we really appreciate that we would someday
54:56
really want you to come uh on this platform and talk about the latest that is happening you're one
55:01
of the great community leaders and indeed ankit's book is gonna to bang on for next one week right
55:08
and uh everyone who's watched this video go ahead and download that ebook it's entirely free of
55:15
cost and even the demo application is posted so you can go on the fly and just start using it
55:21
all for no cost so thank you once again everyone who has joined uh thank you everyone for your time
55:28
and even the audience were watching and we stayed some last words of ankit and santos and then we
55:34
close the event yeah i just want to add one more thing for i want to thank mahes sir and parveen
55:41
sir because the motivation starts from mahes sir and then he was the first reader of the book he
55:47
gave me very good comments which helped me to improve and then parveen sir and manish from
55:53
C Sharp Corner help with all other parts of the book like talking like editing and other stuffs
55:59
and thanks to Praveen and Santos for all the reviews which is very helpful and finally thanks
56:06
to you Simon for this awesome show because it was it was a great launch event and I really had a
56:11
great time last one hour it's awesome so thank you guys thanks to C Sharp Corner so I'm really
56:18
glad that i am almost i am attached with sisa program for almost three years and i'm happy that
56:23
this is a great community where i am learning and sharing your knowledge with a lot of other people
56:27
that's good i think people might be willing to connect with both of you so i think uh uh we're
56:33
gonna when we post this about post this event uh we're gonna post a post of this ebook launch so
56:40
we're gonna tag santosh ankit and uh the all the contributors of this book so you will be able to
56:46
to act with them. So that's not to worry. Thank you, Santosh, for your time
56:50
I really love your T-shirt. Maybe someday you can give it to me
56:54
Yeah, of course. He won't give. No, in case I have some extra
56:58
You have extra? No, he should have told me that. I call this
57:04
I call this. Just have one. And that's also medium-sized. I'm wearing it because I love it
57:10
I love it. I love it. That's OK. OK. Thank you everyone so much
57:17
Thank you for your time. Thank you everyone for your time. Thank you. Bye-bye
#Mobile Apps & Add-Ons
#Online Communities