Build a COMPLETE React Admin Dashboard App | React, Material UI, Data Grid, Light & Dark Mode

Поделиться
HTML-код
  • Опубликовано: 20 май 2024
  • React Admin Dashboard Tutorial from scratch. We will be using React, Material UI, Nivo Charts, Formik, Yup, FullCalendar, and Data Grid to build this entire application. This application consists of Light and Dark Mode, 4 different Charts, 3 different Data Table Pages, FAQ Page, Form Page, and Calendar Integration.
    -----------
    create-react-app: create-react-app.dev/
    material ui: mui.com/material-ui/getting-s...
    nivo charts: nivo.rocks/components
    full calendar: fullcalendar.io/docs
    formik: formik.org/docs/overview#inst...
    yup validation: github.com/jquense/yup
    react pro sidebar: github.com/azouaoui-med/react...
    google fonts: fonts.google.com/
    Code
    link to mock data(copy and paste both files): github.com/ed-roh/react-admin...
    completed code: github.com/ed-roh/react-admin...
    -----------
    Subscribe to my channel: / @edrohdev
    for more web development and web 3.0 blockchain tutorials!
    -----------
    Who is EdRoh? I'm a lead engineer for a publicly traded company and have been developing for a decade now.
    I'm here to provide you in-depth tutorials by simplifying difficult concepts and more importantly, getting your hands dirty by building production level projects with ease to impress your future/current employer or clients.
    Chapters:
    0:00 Demonstration of a Complete React Admin Dashboard
    3:12 Why build this React Admin Dashboard?
    3:47 Installation
    7:28 Code Setup
    12:31 File and Folder Architecture
    17:41 Theme with Light and Dark Mode
    36:47 Appbar aka Topbar
    51:21 Router Setup
    57:14 Navbar aka Sidebar with React Pro Sidebar
    1:27:13 Tables with Mui Data Grid
    1:58:35 Profile Form with Formik and Yup
    2:21:55 Calendar using FullCalendar Package
    2:42:35 FAQ Page with MUI Accordion
    2:49:22 Bar, Line, Pie and Geography Charts with Nivo Charts
    3:23:20 Dashboard
    4:03:05 Final Demo of Dashboard
    4:03:25 Fully Built Complete React Admin Dashboard
  • НаукаНаука

Комментарии • 860

  • @EdRohDev
    @EdRohDev  Год назад +378

    Hey all! It seems that react-pro-sidebar got updated recently so at 5:41 instead of installing "react-pro-sidebar" please install "react-pro-sidebar@0.7.1" or else it'll break!
    Questions and Discussions about this project can be asked here in discord: discord.gg/2FfPeEk2mX

    • @user-zx3sp8wj3i
      @user-zx3sp8wj3i Год назад +10

      pin this comment so it's at the top; had to scroll down a while to see it. Thanks for the video.

    • @yyxx9309
      @yyxx9309 Год назад

      Awesome!

    • @anthonyzornig
      @anthonyzornig Год назад +1

      Hi Ed, in your VS COde I saw your colored colums which indicate the hierarchy of the parent / child elements. Can you name the extension= I wanst able to find any similar.
      Very much appreiciated 💫

    • @gambar
      @gambar Год назад +10

      I'm a front-end dev and this p*sses me off so much... Dependencies are the weakest link of the chain. If you want to stick to a particular version, it could (and most likely will) get deprecated or breaks later on after big changes in React core, etc. If you keep up with all the newest versions, you'll inevitably run into problems when 2 or more dependencies refuse to cooperate together (styled-components and Storybook, I'm looking at you!)... But I guess that's what's keeping us on our toes, isn't it xD

    • @jayvee5886
      @jayvee5886 Год назад +4

      @@gambar I wouldn't say pissed off. But they are way way too many dependencies. While it's nice that some libraries make it easier to get things out quickly, it should not take away from developers' understanding and knowing how to code. If a dev is depending on such libraries then I would question that person as a dev. Not to mention the learning curve for each of these libraries. This WILL break in the future.

  • @Casanova_999
    @Casanova_999 10 месяцев назад +48

    I have only got 50mins into this video so far and I REALLY WISH you would have run this server live to show exactly what was changing on the front end instead of just switching between the completed frontend and pointing at elements and saying we did this and going back to the code over and over it just feels like you're just reading the source code and not even explaining properly how everything is happening or working together...

  • @15secondschineseshorts18
    @15secondschineseshorts18 Год назад +53

    more tutorials please. this is exactly the dashboard ive been wanting to build. spent 3 weeks trying to one like it because other tutorials were either supposed using pro libraries or just werent interactive.

  • @samserious5347
    @samserious5347 Год назад +25

    You are one of the best explainers out there when it come to tutorials

  • @michael_oconnor
    @michael_oconnor Год назад +39

    This is invaluable..! Such a great template to start off of for basically any kind of modern application. Thank you so much for putting this together! 🍻

  • @integriobits4157
    @integriobits4157 Год назад +11

    Your level of explanation is simple and comprehendable.I have always wanted to be a react UI/UX ninja.Your tutorial has made me one.Thank you

  • @betty-rq7qv
    @betty-rq7qv Год назад +5

    This video was excellent. I watch a lot of these and this stands out a mile. Thank you for making it.

  • @AlanaLGolden
    @AlanaLGolden Год назад +267

    For anyone struggling at 2:34:44:
    the formatDate function has been MOVED to FullCalendar Core, and FullCalendar has been moved into FullCalendar React. Here are the updated import strings:
    import { formatDate } from '@fullcalendar/core';
    import FullCalendar from '@fullcalendar/react";
    😀

    • @user-vu2jm1ij7s
      @user-vu2jm1ij7s Год назад +2

      thanks a lot

    • @KILLCHRISU
      @KILLCHRISU Год назад +2

      thank u!

    • @kainatkiranrashid9470
      @kainatkiranrashid9470 Год назад +1

      @@atlasto9052 hi, I am getting this error CalendarRoot defines an invalid contextType. contextType should point to the Context object returned by React.createContext(). However, it is set to an object with keys {__c, __, Consumer, Provider}.
      on this code, could you help

    • @abduladilep8261
      @abduladilep8261 Год назад +1

      thanks

    • @facundodominguez1063
      @facundodominguez1063 Год назад +1

      ty

  • @igorsechko1968
    @igorsechko1968 Год назад +69

    omg I can't even imagine how valuable this is

  • @brick4667
    @brick4667 Год назад +33

    Building a UI for my company this week. Couldn't have been better timed. You're the man!

    • @anthonyyoung7949
      @anthonyyoung7949 Месяц назад +1

      About to do the same hahaha. Trying to get a promotion. I'm in support as an L3 and they'll be like how the F.

  • @a.b.5787
    @a.b.5787 7 месяцев назад

    Just discovered this video. Idk, man i saw many tutorials here on youtube, but this one video is really great. You actually explain what you are doing, not only with words, but you also show things while explaining, it's awesome. I'm looking forward to discover more of your videos and that's exactly what I will do after finishing this tutorial.
    Wish you all the best!

  • @adamakomou7318
    @adamakomou7318 Год назад +6

    It's unbelievable that your videos are free. More projects, please!

  • @pitbul67204
    @pitbul67204 Год назад +4

    This is the tutorial I have been waiting for 🎉

  • @alexanderac2479
    @alexanderac2479 Год назад +4

    Damn bro, your level of explanation and quality work is really superb.

  • @ImJustEarth
    @ImJustEarth Год назад +1

    Legend! Please keep creating those beautiful tutorials!

  • @misswooleyjumper5174
    @misswooleyjumper5174 Год назад +1

    Awesome video, really appreciate the explanation and the simplicity of it.

  • @MarioTrazzi
    @MarioTrazzi Год назад +1

    I can watch your videos 10x and every time I learn more, thank you!

  • @n4vyblueyes377
    @n4vyblueyes377 Год назад

    Good job. It is cool that not only did you do this, buy shared it for all to see. Thanks!

  • @EllisEnobun
    @EllisEnobun Год назад +10

    Where have you been on RUclips? Your explanation is another level. +1 subscription. Thank you for putting an effort into this beautiful piece of work.

  • @americovicente8714
    @americovicente8714 Год назад +1

    am from Mozambique. this is the best video i found on RUclips, nice job. thank you

  • @Kimmie1921
    @Kimmie1921 Год назад

    High quality course, Rockstar! Hope to see more of you

  • @UberEverywhereSKRT
    @UberEverywhereSKRT Год назад +19

    great video !
    Just a little correction about Formik vs React hook form, you DONT have to use Controller.
    Controller is just for controlled component and ui libraries that dont expose the ref property. But in the case of MUI, it does expose the ref attribute so you can simply register inputs without using Controller.
    Also React-hook-form uses uncontrolled component unlike Formik (controlled components). So RHF is way better in terms of performance since there is no rendering on every key event unlike Formik. Once u deal with larger forms, u will def notice performance impact using Formik.

  • @Nariggas
    @Nariggas 10 месяцев назад

    I CAN NOT believe the Grid toolbar, is insane! Love you dude

  • @kovendanragupathi7632
    @kovendanragupathi7632 Год назад +1

    Subscribed for these kind of React tutorials. Thanks man

  • @jesseneon1896
    @jesseneon1896 Год назад

    Thank you so much for putting so much time and effort in creating this amazing video.

  • @anthonyzornig
    @anthonyzornig Год назад +9

    Hey Ed, being in the last third of your tutorial I already wanted you to know that I really enjoy your teaching approach. You present different scenarios with different techniques and by now, my dashboard seems reeeaaally promissing. Just converted the Nivo Chloropleth Map to Ortographic and try to inject Versor Dragging, means, I take my time and play around with your suggestions.
    This is my first tutorial of your's and I am definitely lookign forward for all the other hard work you put into this channel.
    Because… working throught this one is paying back big times!
    All the best & cheers.

  • @iUmerFarooq
    @iUmerFarooq Год назад +41

    Your explanation is on next level. Please make more projects landing pages etc.
    Thank you 💟

  • @thedexterityproject2431
    @thedexterityproject2431 2 месяца назад

    This is the best teaching style i have found on the internet. i have even used mulitple payed learning platforms and they still miss big steps and the small things that are easy to over looked. well done @EdRoh this has been a great help in my leaning and career keep up the good work.

  • @jotasenator
    @jotasenator Год назад

    Thank you Ed, this worked for me pretty good. I've learned a lot. Thanks again, subscribed and sharing!!

  • @cuervo-spartan2679
    @cuervo-spartan2679 7 месяцев назад

    You are a GENIUS! Thanks for the template!

  • @yyxx9309
    @yyxx9309 Год назад

    Man, you are so good... Thank you so much!! I've learnt a TON!!

  • @digirelax
    @digirelax Год назад

    Hey. This the best tutorial I ever have listend. Very clear. It took me two days to look at it be it was time well spend.

  • @jayd999
    @jayd999 Год назад

    Thank you so much for this amazing tutorial, I thoroughly enjoyed everything! I wish you a lot of success and may you achieve your goals! Only Gratitude bro ♥

  • @hansdotdev
    @hansdotdev Год назад

    Just casually ended up here and went with little sparks on my eyes, thanks a lot, new sub and shared to my classmates

  • @scotthiker5233
    @scotthiker5233 Год назад +4

    Love the teaching style and the longer form content!

  • @ryantapfumaneyi6683
    @ryantapfumaneyi6683 8 месяцев назад

    BEST TUTORIAL I HAVE EVER WATCHED IN ANY PROGRAMMING LANGUAGE. THANK YOU MY GUY

  • @enriqueavalos
    @enriqueavalos Год назад

    just found your channel. the algorithm is working. your voice is conducive to learning: clarity and cadence

  • @SubVengeance
    @SubVengeance Год назад

    I started watching the video, and you said that you'll be building ALL of that and I was sus until I checked the video length haha This is awesome! Thank you for that!

  • @beckyfreyer5633
    @beckyfreyer5633 Год назад +2

    Loving this type of content

  • @kyua6620
    @kyua6620 Год назад

    My thanks, from Brazil, for post this tutorial, EdRoh! :)

  • @fajarkusuma1304
    @fajarkusuma1304 Год назад

    I just wanna say thank you so much. God bless you man

  • @khalifarazeeth
    @khalifarazeeth 9 месяцев назад

    Man, this is incredible, you are a magician

  • @DanCalist
    @DanCalist Год назад

    Fantastic!!!! Material Ui is perfect!

  • @curtisswarhawk539
    @curtisswarhawk539 10 месяцев назад

    Thank you for putting out such a great tutorial.

  • @user-qr2zc2tg6n
    @user-qr2zc2tg6n 5 месяцев назад

    After I got a job, I watched your tutorial. It was really great. Thank you man

  • @kaedenbradshaw1385
    @kaedenbradshaw1385 11 месяцев назад

    This is exactly what I needed. None of this half way websites from other RUclipsrs

  • @jeffreyvos42
    @jeffreyvos42 Год назад +1

    Awesome work, very useful ! Thank you!

  • @3dsmartprint
    @3dsmartprint Год назад +2

    I was shocked at first because of the 4h video but this are valuable 4h of pure knowledge. Thanks a lot for sharing, buddy ❤

  • @Icedanon
    @Icedanon 7 месяцев назад

    A react dashboard has been on my plate as my next project for a minute now. Now that it's staring me in the face I may as well start.

  • @vernonchoke6526
    @vernonchoke6526 Год назад +1

    Will continue to watch this build an app type content

  • @perihassanzadeh8348
    @perihassanzadeh8348 Год назад +1

    This was great, thank you!

  • @serkanuludag3708
    @serkanuludag3708 Год назад

    Best react dashboard on RUclips. Thank you.

  • @stefansalvator2714
    @stefansalvator2714 Год назад +2

    It is a great video for those who are looking to build a UI from a bunch of prebuilt libraries and learn how to use them in their own web app, and also setting their own theme. In my view things were somewhat messy from maintainability point that could have been better. Great video though!

  • @thugiang9910
    @thugiang9910 Год назад +1

    that's amazing! thank you so much

  • @vikramadityamathur
    @vikramadityamathur 8 месяцев назад

    Clear and succinct lecture presentation. Thank you very much !

  • @friedrichwaterson3185
    @friedrichwaterson3185 Год назад

    Incredible ! Thank you very much !

  • @soliaailos5674
    @soliaailos5674 2 месяца назад

    Amazing Project! Thanks a lot!

  • @abhishekmishra9841
    @abhishekmishra9841 Год назад +1

    Please continue this type of video sir it was amazing super

  • @AlanaLGolden
    @AlanaLGolden Год назад +44

    Just completed the full tutorial - Ed, this was an incredible production! It took a handful of days of returning to it to continue following along, but during this tutorial I went from error 404: React Knowledge Not Found, to a full understanding of it. Moreso, I've coded since I was young but JavaScript has never made complete sense to me. Your specific articulation and instruction was immensely helpful and I feel like I have a much better understanding of JS now as well! If that wasn't enough, I also finally understand how different files import/export to each other which makes me so much more confident in using new packages and making my own components.
    I appreciate this video & you so much! Now that I have it completed I'll be experimenting with it before hopping into another tutorial, but can't wait for the next one. 😍

    • @JoloHonrado
      @JoloHonrado Год назад

      Hello is the react-pro-sidebar working on your side? I find it hard to implement

    • @abdullahjulardzija4101
      @abdullahjulardzija4101 11 месяцев назад

      @@JoloHonrado how you fix that

    • @mydaily21
      @mydaily21 2 месяца назад

      hi, im still error at dayGripPlugin. cant find

  • @cathyprentice1654
    @cathyprentice1654 Год назад +2

    This is some great tutorial content

  • @naxtech__react7738
    @naxtech__react7738 Год назад

    Thank you Man. Great Work

  • @emastehr
    @emastehr Год назад +9

    Thanks for such an amazing project. I would love to see a Project Management App with this level of functionallity, please, think about it

    • @EdRohDev
      @EdRohDev  Год назад +2

      thanks! Will consider it for the future!

  • @MrChrisBozwell
    @MrChrisBozwell 2 месяца назад

    Right on! Thx for the vid.

  • @Tech_Alchemy
    @Tech_Alchemy Год назад +1

    Amaazing work thanks for this. One of the best dashboards!

  • @nemanjapetrovic8490
    @nemanjapetrovic8490 Год назад +1

    Hi, will go trough this. Thank you!

  • @Anonymouseab
    @Anonymouseab Год назад

    really thanks in advance bro you are too optimistic thanks again

  • @yaroslavbukhta6562
    @yaroslavbukhta6562 Год назад

    Good stuff, thank you for the work

  • @kristiankningsberg2700
    @kristiankningsberg2700 Год назад

    16 minutes in and I have already learned a lot..I´m a total beginner so I really appreciate the talk about folder/file structure..very nice!

  • @hamidabdolrahimi4606
    @hamidabdolrahimi4606 Год назад

    Thank you, that was awesome!!!

  • @taiseen-cse
    @taiseen-cse Год назад

    Thank you ♥ so much brother ♥ for creating this nice educational content for us.
    Your teaching methodology is really awesome... & well-structured... ♥
    You are the reason that now I & we learn new things easily & efficiently from you, such as using formik, yup, full-calender, nivo chart lib...
    Thank you so much for your effort to create this beautiful content... ♥

  • @sebastian.gallego
    @sebastian.gallego 5 месяцев назад

    👏 nice, excellent work. greetings from Argentina

  • @RRCaddick
    @RRCaddick Год назад

    Almost as many likes as subscribers on this one! Got me excited for the knowledge ahead!

  • @expodz
    @expodz Год назад +1

    prefect man perfect 💖💖

  • @Kimaro696
    @Kimaro696 10 месяцев назад

    this was an awesome tutorial 👍🏻

  • @javapistu4104
    @javapistu4104 Год назад +1

    Awesome! Thanks a lot!

  • @alisonfromaccy
    @alisonfromaccy Год назад

    Ed congratulations on producing a excellent project. I confess I'm not a react lover (sorry I'm from the Green corner..💚💚), but worked though your your project updating & upgrading to Vite & the newer Vs for "fullcalendar" & "react-pro-sidebar".

  • @noname-zg8lh
    @noname-zg8lh Год назад

    It's AMAZING. Why? It's a calendar. It shows DAYS! Amazing.

  • @SammyRatemo
    @SammyRatemo 11 месяцев назад

    Good Stuff EdRoh big Fan!

  • @draoosi
    @draoosi Год назад

    I am speechless bro...wow

  • @shewhocodes1543
    @shewhocodes1543 Год назад +1

    This is so good. I was following along so well until the hour mark then things started to spiral. I didn't know what happened at 1.04.47 because it is not what I see on my end. Until there everything was fine. Either way, this is a good tutorial.

  • @sohadmad1823
    @sohadmad1823 9 месяцев назад

    Thank you very much!! I really found that very useful

  • @taggincrewz8855
    @taggincrewz8855 7 месяцев назад

    Thank You Boss for the Content.

  • @hamzaashraf9529
    @hamzaashraf9529 Год назад

    Superb Explanation Super Tutorial

  • @miguelagustini9132
    @miguelagustini9132 Год назад

    Great video. Thank you so much!!

  • @relativity-codes
    @relativity-codes Год назад

    Thanks @EdRoh, I find it informative about mui,

  • @naveenroy9932
    @naveenroy9932 11 месяцев назад

    This is such a hard work bro ... 🙄 Great work 👍👍

  • @nats7367
    @nats7367 Год назад

    Why are you not 1M views yet? This is so great!

  • @user-bk7vw1fx3e
    @user-bk7vw1fx3e 6 месяцев назад

    awesome guy. Great Effort, Very impressive, Thanks a lot. You done my day.. Super😍😍😍😍

  • @elbezz
    @elbezz Год назад

    awesome tutorial,, thanks for sharing!!

  • @goldenmonkey9085
    @goldenmonkey9085 Год назад +1

    Super Amazing !!

  • @mikes3122
    @mikes3122 Год назад

    Great tutorial, thanks!

  • @lancelot4043
    @lancelot4043 Год назад +1

    U ROCK DUDE.. AWESOME

  • @ArhisAlight
    @ArhisAlight Год назад

    Thank you, lover hehe :D I learnt a lot. Already did some refactoring of code and deployed the app. I think the main accent here is: modern design and usage of proper technologies for that, done with the pleasure!

  • @ahmedsaidane3439
    @ahmedsaidane3439 4 месяца назад

    Great job! 💫👌

  • @saulbenavides4037
    @saulbenavides4037 5 месяцев назад

    You rock man!

  • @TheSonicPT
    @TheSonicPT Год назад +37

    Hi Ed, great tutorial this is really clear and helpful.
    I spotted a slight continuity/editing order problem in the "Router Setup" chapter. At around minute 55:22 that is when the chapter should actually start and what is at 51:21 should come after that. As it stands now at 55:22 you actually go back in time and start setting up the routers.

    • @Nikitosss91
      @Nikitosss91 Год назад +14

      ALso that happened with Sidebar...

    • @d.doorscontent3024
      @d.doorscontent3024 Год назад

      I also got this, and I got an error message in my localhost... sou in app.js I stated import { Routes, Route } from "react-router-dom"; and the problem with the declaration of routes is fixed.

    • @hadgadma3589
      @hadgadma3589 Год назад

      @@Nikitosss91 yes

    • @miraclemark6120
      @miraclemark6120 Год назад

      @@Nikitosss91 I will advise that you build your own sidebar

    • @archamedis
      @archamedis Год назад +1

      Legend, thank you!

  • @SyntharaPrime
    @SyntharaPrime Год назад

    You are amazing. Thank you very much.

  • @idynxcode5744
    @idynxcode5744 Год назад

    Great job! Thanks

  • @crytoons
    @crytoons Год назад

    on 01:07:00 if you want to access the user.png in public/assets folder, If you are using Create React App (CRA) files placed inside the public folder can be accessed directly by their public URL. like
    {`assets/user.png`}

  • @fredgavin
    @fredgavin Год назад +2

    Great tutorial, thanks. I am new to web/dashboard developing. A quick question: How did you know your coding does what you want while you do not render it along the way?