React Expense Tracker App - Build & Deploy A React Firebase Beginner Project

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ส.ค. 2024
  • The first 1000 people to click on the link will get 1 month free trial of Skillshare skl.sh/pedrotech08231
    In this video we build an expense tracker app using react and firebase.
    Code: github.com/machadop1407/expen...
    Join our Discord: / discord
    🚀 Learn ReactJS By Building 6 Projects: codedamn.com/learn/reactjs-pr...
    🐙 GraphQL Course: codedamn.com/learn/graphql-fo...
    Social
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Website: machadopedro.com
    Linkedin: / machadop1407
    Instagram: / pedro.fmachado_
    Github: github.com/machadop1407
    Business Email: pedro@pedrotech.co
    🌟 Gear / Hardware I Use and Recommend 🌟
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    💻 amzn.to/42kqFuM 💻 Monitor
    🖱️amzn.to/3C0ZhHb 🖱️ Mouse
    📷 amzn.to/3OHJvbM 📷 My Camera
    🎤 amzn.to/3oxSthj 🎤 My Microphone
    ⌨️ amzn.to/3oFPpj1 ⌨️ My Microphone
    ⚡ amzn.to/3MYMnzM ⚡ LED Lights In the Background
    Tags:
    - ReactJS Tutorial
    - ReactJS and MySQL
    - NodeJS Tutorial
    - API Tutorial
    EXPENSE TRACKER TIMESTAMPS
    00:00 | Intro
    01:19 | Project Demo
    06:16 | Creating the React App
    06:38 | Project Organization
    09:47 | Package Installation
    10:44 | Initializing Firebase
    12:44 | Setting up Firebase Authentication
    17:39 | Setting up React Router
    21:56 | Creating the Auth Component
    32:05 | Expense Tracker Page
    38:46 | Setting Up Firestore
    17:57 | Adding style to the project
    26:00 | Practice Exercise: Adding more functionality
    26:27 | Solution to Exercise
    38:50 | Routing Authenticated Users
    41:39 | Deploying the Application
    #reactjs #firebase
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 112

  • @PedroTechnologies
    @PedroTechnologies  11 หลายเดือนก่อน +11

    The first 1000 people to click on the link will get 1 month free trial of Skillshare skl.sh/pedrotech08231

    • @victoretini2772
      @victoretini2772 10 หลายเดือนก่อน

      Please create an app where people can download images. Without API. Like a gallery but where people can view images and download it

  • @pedrotaq
    @pedrotaq 11 หลายเดือนก่อน +5

    WHAAAT It's already too much that we share the same name, and that we look somewhat alike, but the fact that you posted an entire tutorial about the same project i've been dreaming of (and the reason I started watching your channel in the first place) is beyond incredible!!
    Thank you so much, you're the best react teacher I've seen!!

  • @oloyang431
    @oloyang431 10 หลายเดือนก่อน +2

    Hey Pedro! Have to say your tutorials have been extremely useful. You really have a way of simplifying concepts in React.
    I was wondering if you could make a tutorial on react window or react virtualized? I'm currently doing a project where I'm displaying 250 countries on the page. I'm using grid-template-columns repeat autofill with minmax size. It's all really responsive when changing screens but when I try switching between light and dark mode the performance really takes a hit. I've tried getting react window and virtualized to work, but unsuccessfully. There really isn't any good tutorial on displaying grid with a lot of items. Keep up the good work bro! You're an inspiration!

  • @pedrotaq
    @pedrotaq 11 หลายเดือนก่อน

    All done and dusted, currently looking into ways to add a custom domain and new features. Thank you so much! Your channel has the best React JS tutorials in all of youtube. Cheers!

  • @k303k
    @k303k 11 หลายเดือนก่อน +1

    Looking forward to your Next.js full course Pedro🎉

  • @ravindrapunekar8433
    @ravindrapunekar8433 10 หลายเดือนก่อน

    Congrats on graduating🥳🥳
    and Thank you for such amazing projects.

  • @rishabh4893
    @rishabh4893 8 หลายเดือนก่อน +1

    thank you so much for this amazing tutorial
    appreciate it, pedro

  • @user-gi7vy1gb1n
    @user-gi7vy1gb1n 11 หลายเดือนก่อน

    Thanks for this project tutorial it will add some weightage in our resume ❤

  • @andreyzinchenko6208
    @andreyzinchenko6208 10 หลายเดือนก่อน

    Hi Pedro,
    it's useful, thank you!
    Could you consider a new proj to implement?
    Consists of 2 modules:
    - Nextjs 13 full-stack module, running some services for a customer (say, a user app)
    - AI LLM module, specifically trained/indexed for the user app, used by dev/test/support teams to evolve/maintain the user app (let's call it a side-car app).
    Side car app requirements might be as follows:
    1. UI for pts 2-5 below.
    2. Further enhancement/development of the user app according to customer's new requirements (input to the side-car);
    3. Searching docs on the user app codebase (funcs, classes, etc)
    4. Creating test cases for the user app
    5. Analizing the user app logs (maybe reacting in real time, changing the app's settings, re-loading, etc.)
    In the future if we learn how to create such supplements for user apps I beleve we make a huge difference in automation..

  • @karthikadharsh9370
    @karthikadharsh9370 10 วันที่ผ่านมา

    Thanks a lot man!

  • @k303k
    @k303k 10 หลายเดือนก่อน +2

    I really love your video Pedro! I hope you will make more Nextjs and MERN videos

  • @HighTechGeeks
    @HighTechGeeks 6 หลายเดือนก่อน

    This was great video i was able to follow and build this app.

  • @leoneloliveira5737
    @leoneloliveira5737 11 หลายเดือนก่อน

    Very helpful content. Thank you!

  • @K-EC-AmanKumar
    @K-EC-AmanKumar 10 หลายเดือนก่อน +2

    loved your video

  • @agpcreation
    @agpcreation 11 หลายเดือนก่อน +1

    thank you for this tutorial, can you make a simple library management?

  • @gurjotsingh3026
    @gurjotsingh3026 หลายเดือนก่อน

    Awesome tutorial!

  • @afaqahmad8918
    @afaqahmad8918 11 หลายเดือนก่อน +3

    great project

  • @user-mv6eu3zq1p
    @user-mv6eu3zq1p 10 หลายเดือนก่อน +1

    Bro you the best in the world 🌎 thank you for everything 🙏 😊

  • @VladyslavDihtiarenko
    @VladyslavDihtiarenko 5 หลายเดือนก่อน

    I like your straightforward explanation! In 2 hours I've mastered firebase auth and database, which is cool. I'm also going to add Typescript, shadcn/ui with Tailwind, and will think about the other functionalities, such as expense/income categories, fade in/out animations, grouping transactions by date, sorting transactions, dark mode and maybe I'll come up with the other ideas :)

    • @vinay_dias
      @vinay_dias 4 หลายเดือนก่อน

      Did you make it work ?

  • @yp2673
    @yp2673 11 หลายเดือนก่อน

    Thank you so much 💜

  • @shbita
    @shbita 11 หลายเดือนก่อน

    Thanks for the video .

  • @lukas.webdev
    @lukas.webdev 11 หลายเดือนก่อน +1

    Great video! Thanks for sharing! 😉🔥

  • @imadel3647
    @imadel3647 11 หลายเดือนก่อน +2

    We miss you bro !
    Great content as always 👏

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +1

      I appreciate that! Happy to be back :) Now im officially working full time and graduated college so I have more time to plan my vids!

    • @imadel3647
      @imadel3647 11 หลายเดือนก่อน

      @@PedroTechnologies ❤️

  • @zhardzikra
    @zhardzikra 3 หลายเดือนก่อน

    thank u so much, god bless you

  • @crappycoders
    @crappycoders 11 หลายเดือนก่อน +2

    DAMN NICE

  • @user-ln2ud8xb3n
    @user-ln2ud8xb3n 5 หลายเดือนก่อน +1

    hello, i really love the video
    but why didn't you include a delete button to clear out the previous transaction and also include the date or its monthly

  • @L.TChannel
    @L.TChannel 7 หลายเดือนก่อน

    Thank you Pedro for the amazing project. It is a perfect example of showing how to connect react and firebase, hope to see you to have more video.

  • @mftv3459
    @mftv3459 11 หลายเดือนก่อน +4

    Lot of love from Africa bro thank you for educative content

  • @joaoarthurbandeira
    @joaoarthurbandeira 10 หลายเดือนก่อน

    Hey Pedro, for NextJs, do you recommend deploying in Firebase or Vercel? Also, can i have my database in Firebase's firestore but deploy my website in Vercel? Are they the same in terms of performance? Finally, how can i add custom domain in firebase? Thanks!

  • @user-iz8du7vr4p
    @user-iz8du7vr4p 9 หลายเดือนก่อน

    ❤❤, More projects on react + Firebase , and MERN

  • @k303k
    @k303k 11 หลายเดือนก่อน

    Thanks a lot for the video Pedro!!! If you have free time pls make MERN tutorial Pedro💯

  • @bhargav8263
    @bhargav8263 9 หลายเดือนก่อน

    great video

  • @wei7360
    @wei7360 11 หลายเดือนก่อน

    i think you cut out the portion on what we select after we do firebase init. not sure which one you chose

  • @joaoarthurbandeira
    @joaoarthurbandeira 10 หลายเดือนก่อน

    Hey, Pedro, also how can i turn the 'firebaseConfig' values into environment variables in a secure way? If i say, for example, apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY (which is definied in my '.env.local' file), would that protect it in any regard? Because i heard that when you put the 'NEXT_PUBLIC' prefix at the beginning, it still exposes the value...Would firebase's 'App Check' or Google cloud's 'key restrictions' be a good way to protect? Thanks!!

  • @suhaybahmed3813
    @suhaybahmed3813 5 หลายเดือนก่อน

    So all the users will be storing their expenses in a single collection, just that each document will have a different userid? Wouldn't it be better if we made a separate collection for each user?

  • @naveenbasyal001
    @naveenbasyal001 11 หลายเดือนก่อน +4

    I think this video is good for beginners ...

  • @alexanderkomanov4151
    @alexanderkomanov4151 10 หลายเดือนก่อน

    Is there a recomendation not to use CRA anymore? Isn't it?

  • @akalyad5465
    @akalyad5465 4 หลายเดือนก่อน

    which backend is used here??

  • @PARTHIPRASATH
    @PARTHIPRASATH 3 วันที่ผ่านมา

    if i delete the document it also delete the collection?

  • @aaqilyousuf4907
    @aaqilyousuf4907 6 หลายเดือนก่อน

    when i try to login using google popup it show an error Cross-Origin-Opener-Policy policy would block the window.close call.
    what should i do please answer this question, Thank you

  • @damienchung1409
    @damienchung1409 10 หลายเดือนก่อน

    Can't see the transactions at 1:18
    Uncaught Error in snapshot listener: FirebaseError: [code=failed-precondition]: The query requires an index.
    Shows in my dev tools

  • @pedrotaq
    @pedrotaq 11 หลายเดือนก่อน +1

    I think you accidentally left out the part where you explain which features to install at around 17:28. What did you end up choosing? Thanks!

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน

      I do all of that in the end of the video :)

    • @pedrotaq
      @pedrotaq 11 หลายเดือนก่อน

      thank you for the quick reply! I'm watching it from start to end first, then I'll actually copy it.
      Cheers man, have a good weekend!@@PedroTechnologies

  • @saminyasar004
    @saminyasar004 11 หลายเดือนก่อน +3

    why are you still using create-react-app instead of vite?

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +4

      Tbh this is just cause I find it simpler to relate to a bigger audience. Since what i am teaching is more of the functionality and the react part of things, it shouldn't be that big of an issue. But i might use vite in future vids :)

  • @wei7360
    @wei7360 11 หลายเดือนก่อน +1

    this course is soooo complicated. i need to probably watch this 100 times to get it. hahahaha

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน

      Hahaha you mean complicated as my explanation is not clear or the topic in itself is hard? Either way I hope you enjoyed it :)

    • @wei7360
      @wei7360 11 หลายเดือนก่อน

      @@PedroTechnologies its complicated because im coding along with next.js and since the file structure is a lot different, its adds a layer of challenge on top of it. you explain everything very well, the reason i watch your channels is because your explanations are to the point at the same pace my brain can process :P. Would be great if you can translate this video to next.js since there are a lot of "client" and "server" components.

  • @Sarajboos12
    @Sarajboos12 9 หลายเดือนก่อน

    How to delete all document of a specific user

  • @Shivam-bx7tb
    @Shivam-bx7tb 6 หลายเดือนก่อน

    16:44 install firebase CLI
    17:14 deploy to firebase hosting
    21:04 Exact

  • @raoufbakhti7786
    @raoufbakhti7786 11 หลายเดือนก่อน +3

    Can you make nextjs full course and application thank you

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +1

      This is already in the works ;)

  • @TedMosby-fk5gj
    @TedMosby-fk5gj 11 หลายเดือนก่อน +2

    Not sure if it makes much sense to use Javacript, everyone wants Typescript, plus why firebase and create react app? Wed learn much more if you taught modern tech, like Nextjs 13, or React with exprss and sql. Thank you.

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +1

      That is a great point! Tbh I think every technology has its merit. Just bc NextJS is more modern then CRA, it doesn't mean everyone should stop learning CRA. I try to make different videos for different skill levels. This was more beginner (CRA, JS, firebase), but like the next one will be more advanced (MERN, TypeScript, State management)... I want to make content for everyone, but I get what you mean and I appreciate ur feedback :)

    • @eshw23
      @eshw23 11 หลายเดือนก่อน

      ​​@@PedroTechnologiesOk thanks you just have endless firebaee videos on your channel, but none of the newer stuff most people actually want to learn. I feel like beginners will be fine with your previous firebae videos they are great.

  • @alveek
    @alveek 11 หลายเดือนก่อน +7

    I think it's time to write in Typescript by default..

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +3

      Next vid is in TypeScript! I change it based on the difficulty of the project.

    • @eshw23
      @eshw23 11 หลายเดือนก่อน

      Thank you like bruh

  • @georgevarghese9201
    @georgevarghese9201 7 หลายเดือนก่อน +2

    hey i'm stuck at 1:17:00, my map function is not working for some reason and after looking over the code multiple time everything seems to be correct, would anyone happen to know why?

    • @prajwalshaw9217
      @prajwalshaw9217 5 หลายเดือนก่อน

      Hey there...I am facing the same error too.After enabling the index the transaction should be displayed..but only the currency alongwith the black dot is being visible...the description,transactionAmount and type are not being printed...by any chance were you able to resolve this issue...if yes then can u kindly tell me the error.

    • @ummm.....9465
      @ummm.....9465 2 หลายเดือนก่อน

      make sure u write transactions in place of transaction, I was doing the same error, but later figured it out

  • @enaikeleomoh9039
    @enaikeleomoh9039 9 หลายเดือนก่อน

    hey Pedro ,typescript projects

  • @alokKumar-ui3bg
    @alokKumar-ui3bg 11 วันที่ผ่านมา

    How can i delete transaction

    • @Ritzeeeee
      @Ritzeeeee 8 วันที่ผ่านมา

      Unfortunately, it can only be done from the database itself in this one.

  • @bilal5488
    @bilal5488 11 หลายเดือนก่อน +3

    1 project with mern please

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +4

      Next video :)

    • @bilal5488
      @bilal5488 11 หลายเดือนก่อน +2

      @@PedroTechnologies 😳 really thankew thankew thankew sooooo much for that am beginner in that please make liken in which forget password or a if a user do something his name show that he do that am soo confused in that please

    • @Kang_3
      @Kang_3 11 หลายเดือนก่อน

      ​woww great.Thank youu🎉❤

  • @user-ct2ei2qv1t
    @user-ct2ei2qv1t 10 หลายเดือนก่อน +1

    Hey Pedro at 57:00 I am getting the error addDoc() "Function addDoc() called with invalid data. Unsupported field value: undefined (found in field userID in document transactions/ZryPQKuRKqLAXLECvv0g)
    FirebaseError: Function addDoc() called with invalid data. Unsupported field value: undefined (found in field userID in document transactions/ZryPQKuRKqLAXLECvv0g)"

    • @VictorSandoval-nq8hf
      @VictorSandoval-nq8hf 10 หลายเดือนก่อน +1

      hello i am having the same error wondering if you fixed it or know how too. Please let me know thanks

    • @i-001
      @i-001 10 หลายเดือนก่อน

      got the same thing too @@VictorSandoval-nq8hf

    • @i-001
      @i-001 10 หลายเดือนก่อน

      Check the index file inside the expensetacker folder. I had missspelling inside the onSubmit function @@VictorSandoval-nq8hf

    • @Abubakar--xs7gc
      @Abubakar--xs7gc 8 หลายเดือนก่อน

      i am also facing same problem can you help out

    • @jyotishmoydeka6804
      @jyotishmoydeka6804 8 หลายเดือนก่อน

      hey did you find any solutions if yes plss help?

  • @akalyad5465
    @akalyad5465 4 หลายเดือนก่อน

    is Express.js is used here???? pls reply anyone

  • @CoconutwCoco
    @CoconutwCoco 11 หลายเดือนก่อน

    51:13

  • @alasassi5889
    @alasassi5889 11 หลายเดือนก่อน +2

    Do you think AI will replace us ?!😢

  • @fahadkabooroo7395
    @fahadkabooroo7395 11 หลายเดือนก่อน

    ❤❤❤ from.🇵🇰👍✌️

  • @anthonygesora2517
    @anthonygesora2517 11 หลายเดือนก่อน +2

    Could you work on the youtube like button... i wish i could give you a thousand Thumbs up on a click to make it 1198 brooo💣💢💥

  • @0329zach
    @0329zach 4 หลายเดือนก่อน

    ..

  • @jazzi0chhabra
    @jazzi0chhabra 21 วันที่ผ่านมา

    the tutorial cuts in the middle and resumes idk where!!! wasted an hour on this

    • @Ritzeeeee
      @Ritzeeeee 8 วันที่ผ่านมา

      Nope it doesn't, worked well from start to end for me !

  • @HrissW
    @HrissW 9 หลายเดือนก่อน

    This is the most gay UI I have ever seen!

  • @eshw23
    @eshw23 11 หลายเดือนก่อน +2

    Create react app ewwwww

    • @skyhappy
      @skyhappy 11 หลายเดือนก่อน

      Vite master race

    • @PedroTechnologies
      @PedroTechnologies  11 หลายเดือนก่อน +2

      It makes no difference in the tutorial hahaha but since a lot of people are asking for vite, this might be the way to go. I don't use CRA on my own projects, I just use it in vids cause I assumed it would be what most people are familiar with. More videos on vite and nextjs coming :)

  • @bradleylim3558
    @bradleylim3558 6 หลายเดือนก่อน

    Hey Pedro I'm having an issue with the authentication after clicking on the "Sign in with Google" button. I'm getting this error: Uncaught (in promise) FirebaseError: Firebase: Error (auth//static/media/firebase-config.82c018796117d2e15dcc). I think it has something to do with "const results = await signInWithPopup(auth, provider);" since changing the auth value results in a different error. Could this be an issue with my Firebase setup?

    • @bradleylim3558
      @bradleylim3558 6 หลายเดือนก่อน

      Also when importing auth and provider from the firebase-config I have to import it like this for some reason or else I'm hit with an error: import { default as auth, default as provider } from "../../config/firebase-config";

    • @tusharyadav5874
      @tusharyadav5874 6 หลายเดือนก่อน

      ​@@bradleylim3558you can try using console.log and check at every step if everything is coming the right way or not then just use those things.

  • @moonchild_ankita
    @moonchild_ankita 8 หลายเดือนก่อน

    At 1:22:13 I'm getting error for {name}. Following is the error:
    'name' is deprecated.ts(6385)
    lib.dom.d.ts(27236, 5): The declaration was marked as deprecated here.
    Unexpected use of 'name'.eslintno-restricted-globals
    const name: void
    @deprecated