ankan-782 / Tier5-dashboard-client-side

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deployment instructions for this website:

The System design approach of this website is given below:

Functionality about this website:

  • Here I have designed full website for desktop, tablet and for mobile screen also. Basically this site is fully responsive screenshot: image

  • Here, I have created a dashboard system for managing users. screenshot: image

  • Here, In dashboard, I have implemented pagination system. Here every page, user info loads with multiple rows. By selecting row number from dropdown menu Admin can see multiple rows of user. screenshot: image

  • Sorting system has been implemented in dashboard system with multiple parameters. Admin can see rows of user by name sorting, gender sorting, age sorting. Also Admin can see rows by ascending and descending order also. screenshot: image

*** Has been implemented unique username checking functionality for brand new user registration, for 'add another user' via admin, for updating the already added users information. I handled every possible situation of checking unique username. screenshot: image screenshot: image

  • I have created 30 dummy users and stored in mongo database. screenshot:

  • I have implemented add, remove, update of user information for the dashboard.

  • At first, I have created a authentication system where user can register themselves by providing some information. screenshot: image

  • User provides his name, username, age, gender email id, password, confirm password, country, device as his information. Here all the information stores in MongoDB except password. screenshot: image

  • Any user can signin in the website by providing just email id and password. Here the authentication functionality(login) is implemented by firebase. screenshot: image screenshot: image

  • So when a user provides his information for registration, just email id and password stored in firebase and as well as registration process completes with the help of firebase. And rest of other user information stores in mongoDB.

  • After registration or signin, an authenticated user redirects to the homepage. screenshot: image

  • The user can browse only between homepage and profile page. screenshot: image

  • The user can not go to the dashboard page. Because Dashboard should not be used by normal users. So providing admin route functionality I give restriction to normal authenticated users to go to dashboard. screenshot: image

  • Only an admin user can navigate all 3 pages including dashboard from navbar. screenshot: image

  • In Dashboard page, I have created 3 pages. An admin user can go all 3 pages. Here 3 pages are Add another user, Add another admin user, and main dashboard page. screenshot: image

  • Firstly, I have created an authenticated admin user by providing role property in his information at mongoDb. screenshot: image

  • An admin user can give another user to admin role by going to 'add admin user' page. screenshot: image

  • But when giving another user to admin role, Firebase will first check whether he is admin or not. It is implemented by Firebase JWT token. screenshot: image screenshot: image

  • An admin user can add another user by providing information which is the same when a normal user register himself. screenshot: image

  • Here, also all the information stores in mongodb except password. Only email id and password stores in firebase by firebase authentication functionality. screenshot: image

  • So by 2 ways, users information is stored on mongodb and firebase. One is via normal registration process and another is via dashboard add another user process.

  • By "add another user" process when a user is registered on mongodb and firebase, that user also can signin to the website by firebase authentication.

  • When any user login to the website, the user can not go to the login page again. It is done by authentication route. screenshot: image

  • Users list in firebase authentication screenshot: image

  • Users list in MongoDb screenshot: image

  • Here I could not implement DAU/WAU/MAU functionality for real time dashboard. I tried a lot by searching many websites and thinking by myself. I will definitely learn this functionality and will implement this of my another project.

About


Languages

Language:JavaScript 94.2%Language:CSS 3.7%Language:HTML 2.1%