1 00:00:00,009 --> 00:00:05,510 All right. So welcome to the final project, our final Python project. And together 2 00:00:05,760 --> 00:00:11,260 we're going to build ourselves a very powerful user registration system. 3 00:00:11,409 --> 00:00:13,260 Now, we've built something similar already, 4 00:00:13,270 --> 00:00:15,369 but this is going to be much more enhanced. 5 00:00:15,590 --> 00:00:18,989 Now, I've hidden the code. I don't want you to see the code just yet. So 6 00:00:19,129 --> 00:00:21,450 what I'll do is I'm going to run the program 7 00:00:21,670 --> 00:00:25,750 so you can see what it's all about. So we have the user registration system, 8 00:00:26,000 --> 00:00:29,389 three main options, register, login or exit. So 9 00:00:29,690 --> 00:00:31,370 I'm gonna attempt to register 10 00:00:31,760 --> 00:00:35,069 and I'm gonna enter a username. Let's go with Alex. Ok? 11 00:00:35,310 --> 00:00:38,450 And I'll check this out. Ok? I'm gonna go with a 12 00:00:38,639 --> 00:00:40,259 quite a powerful password, 13 00:00:40,549 --> 00:00:43,990 but now take a look at this. Ok? It says password is not strong enough. 14 00:00:44,000 --> 00:00:47,099 Password must be at least eight characters long. 15 00:00:47,110 --> 00:00:48,959 So we do have a password checker tool, 16 00:00:49,069 --> 00:00:52,169 but check this out. Ok? I'm gonna go again to register. Ok. 17 00:00:52,599 --> 00:00:54,709 I come down in here, press one, 18 00:00:55,450 --> 00:00:56,279 enter 19 00:00:56,610 --> 00:00:59,409 a different user name this time. Let me go with Boris. Ok? 20 00:00:59,659 --> 00:01:02,830 And now look at this, I'm going to go with Boris, 123 21 00:01:03,369 --> 00:01:08,360 Boris. So this is pretty long. This is more than eight characters I press enter, 22 00:01:08,519 --> 00:01:10,580 but then it says password, it's not strong enough. 23 00:01:10,589 --> 00:01:13,400 Password must include at least one special symbol. So our 24 00:01:13,639 --> 00:01:17,629 password checker tool is gonna check for four main criteria 25 00:01:17,760 --> 00:01:20,589 is going to make sure that the password is at least eight characters 26 00:01:20,599 --> 00:01:25,849 long has an uppercase letter has a number and also a special symbol. 27 00:01:25,919 --> 00:01:26,750 Ok. So 28 00:01:27,199 --> 00:01:30,430 I'm gonna attempt to register again. Ok. 29 00:01:31,180 --> 00:01:33,029 This time, I'm I'm gonna go with 30 00:01:33,169 --> 00:01:34,550 username Alice. 31 00:01:34,949 --> 00:01:38,379 And now let's go with an actual real password. 32 00:01:38,389 --> 00:01:41,800 So I'm gonna go with Alice 123 with the at symbol. 33 00:01:42,139 --> 00:01:42,849 And there you go. 34 00:01:42,860 --> 00:01:48,319 It says user was successful and now I'm going to attempt to log in, ok? 35 00:01:48,330 --> 00:01:50,519 Take a look at this. You're gonna love this. Ok? I'm gonna log in 36 00:01:51,290 --> 00:01:52,470 as Alice, 37 00:01:52,870 --> 00:01:55,190 ok? And now password Alice 38 00:01:55,550 --> 00:01:58,959 123, the at symbol 39 00:01:59,370 --> 00:02:00,180 and now 40 00:02:00,800 --> 00:02:05,540 login was successful, but take a look at this, we have a postlogin menu. 41 00:02:05,650 --> 00:02:10,008 So our logged in users will be able to access a loggedin 42 00:02:10,020 --> 00:02:13,259 menu where they can view their logs or simply log out. 43 00:02:13,270 --> 00:02:13,779 So now 44 00:02:14,050 --> 00:02:17,210 I as Alice, if I wanted to view my logs, I press one 45 00:02:17,360 --> 00:02:21,130 and there you go. It says right now that the logged logs for user Alice, 46 00:02:21,320 --> 00:02:23,800 Alice successfully registered on this date and 47 00:02:23,809 --> 00:02:26,309 then Alice also successfully logged in. 48 00:02:26,539 --> 00:02:29,559 So we're gonna implement basically an auditing system 49 00:02:29,729 --> 00:02:32,839 that will keep track of every user and every activity 50 00:02:32,850 --> 00:02:35,570 on the system also take a look at this. 51 00:02:35,580 --> 00:02:40,279 Ok. We're gonna have the users dot TXT file 52 00:02:40,399 --> 00:02:44,479 that will store all the user names and their corresponding passwords. 53 00:02:44,490 --> 00:02:46,570 But take a look at this, 54 00:02:46,690 --> 00:02:49,270 the passwords are going to be hashed. 55 00:02:49,440 --> 00:02:51,110 They're not gonna be in plain text. 56 00:02:51,270 --> 00:02:53,479 We're going to implement a hashing function 57 00:02:54,005 --> 00:02:57,195 to hash the passwords for security. 58 00:02:57,255 --> 00:03:00,264 So you can see right there, we're going to implement some hashing as well, 59 00:03:00,354 --> 00:03:01,595 but that's not all, 60 00:03:01,804 --> 00:03:04,404 we're also going to create an audit log file 61 00:03:04,505 --> 00:03:08,794 that will keep track of all the logs on the system. 62 00:03:08,845 --> 00:03:11,985 So you can see right now that we register field for Alex 63 00:03:12,225 --> 00:03:14,145 registration field for Boris 64 00:03:14,794 --> 00:03:18,195 Alice successfully registered and then Alice successfully logged in as well. 65 00:03:18,205 --> 00:03:20,494 So this is going to be a comprehensive 66 00:03:20,889 --> 00:03:21,910 advanced 67 00:03:22,119 --> 00:03:22,669 uh 68 00:03:23,179 --> 00:03:24,520 registration system 69 00:03:25,000 --> 00:03:25,619 with a puzzle 70 00:03:25,830 --> 00:03:26,600 checker tool 71 00:03:26,710 --> 00:03:28,800 and also it is going to have hashing all the puh 72 00:03:29,470 --> 00:03:32,910 as well as an additional security feature. 73 00:03:33,130 --> 00:03:34,779 So here's the thing. OK. 74 00:03:35,289 --> 00:03:40,660 I'm gonna provide you with a text document with some useful 75 00:03:40,800 --> 00:03:42,529 tips and hints 76 00:03:42,649 --> 00:03:48,389 if you want to attempt to write this program all by yourself. OK. 77 00:03:48,820 --> 00:03:50,660 So attached to this video, 78 00:03:50,669 --> 00:03:54,350 I'm going to provide you with a text file with all the useful hints and tips. 79 00:03:54,529 --> 00:03:56,839 I'll tell you the general thought process. 80 00:03:57,210 --> 00:04:01,050 And if you choose not to do that, if you just want to work with me, 81 00:04:01,419 --> 00:04:06,199 what I've done is I've split this entire project into eight mini projects. 82 00:04:06,210 --> 00:04:09,630 So I'm gonna, I'm gonna break it down, step by step by step by step. 83 00:04:09,690 --> 00:04:15,330 We're gonna be adding the features one by 11 by 11 by one. And hopefully 84 00:04:15,839 --> 00:04:17,559 the way I have approached, 85 00:04:17,820 --> 00:04:20,390 breaking down this project 86 00:04:20,529 --> 00:04:25,119 is going to make it easier for you to understand and also to be able to follow. 87 00:04:25,450 --> 00:04:31,559 So as usual, if you have any questions, maybe you're trying to build the 88 00:04:31,959 --> 00:04:34,320 program all by yourself and you're stuck somewhere. 89 00:04:34,529 --> 00:04:36,359 You can always reach out to me and I'll try to 90 00:04:36,369 --> 00:04:39,119 assist you and help you in any way that I can. 91 00:04:39,130 --> 00:04:39,480 So 92 00:04:39,829 --> 00:04:44,709 I'm pretty excited to be working with you on building this user registration system 93 00:04:44,950 --> 00:04:47,000 without wasting any more time. 94 00:04:47,429 --> 00:04:48,410 Let us begin.