18
41 Comments

After learning React for the past 24 hours, I made a simple CRM tool! 🧰

Hi everyone!

A couple days ago I made a post saying that I was dropping my side-project. I wanted to open more paths for the future. One of the goals I wanted to accomplish was to learn ReactJS.

Over the past 24 hours, I've spent some time learning the fundamentals of React and made my first project using it.

It is a simple CRM (Customer Relationship Manager). In this, I displayed my knowledge of components, props, state management, and styling.

View it here: 👉 https://react-crmtool.netlify.app/

Check out the repo on Github: https://github.com/BraydenTW/simple-react-crm

Any feedback or ideas for what I should try next would be awesome.

Thanks again!

  1. 4

    Great project 👌

    I remember when I learned React and Redux back in the day. It was super confusing given the functional nature. You should definitely do a more in-depth writeup about this. Something along the lines of "React in 24h". This could be an ebook or a blog post.

    For most developers React is still this beast you have to spend weeks or months with to really grok it. But as you demonstrated there's a lot you can learn in just 24h to be dangerous and build a real world application which uses functionalities you'd use 90% of the time.

    Other than that you might want to look into Next.js if you haven't already. AFAIK Exploding Topics was built with Next.js and MongoDB Atlas. You should be able to build very sophisticated apps with such a simple stack.

    1. 3

      @BraydenTW if you do decide to use redux for state management, please use redux toolkit ... so much better than vanilla redux, and it's the recommended approach by the redux team. It removes almost all the "boilerplate" issues that vanilla redux has and adds a bunch of really useful utilities like immer, reselect and entity adapters.

      1. 1

        Very cool! I've heard of it before and know it's a good tool :D

      2. 1

        This comment was deleted 4 months ago.

        1. 1

          Why not Recoil.js? Awesome stuff from the FB team, much simpler than redux imo

          1. 1

            This comment was deleted 4 months ago.

    2. 2

      Thanks!!

      I think that’s a great idea. I’ll work on some blogging :)

      1. 2

        Thanks!!

        Sure! Please post the outcome here on IH. I myself am interested in "brushing up my rusty React skills" 😅

        1. 1

          haha good luck to you too!

  2. 3

    Awesome job learning the basic fundamentals of React in 24 hours.

    If you have existing Javascript experience you'd pick up React quite quickly. I would recommend creating a much more complex features, doing deep dives into Redux/Redux toolkit and the use of hooks!

    1. 1

      Yep, I’m learning Redux this afternoon :)

  3. 2

    Nice project, by away I just check out your https://buildfaster.co/ site and you have beautiful template, I wonder why it not generate money, maybe need better sale strategy.

    And just curious, you working as a full time developer and blogging, creating all of this at a same time?

    1. 1

      Thanks. Yeah, I'm not the best salesman and I'm sticking to development in hopes to get a good job soon.

      I am not a blogger... but plan to do it on the side on my personal website some day ;)

  4. 2

    Congratulations Brayden.

    The css themes look great. Do you create them from scratch? Any plans to build out more of those components in a library?

    1. 1

      Thanks :D

      I made the CSS completely from scratch. You can see it here in the Github repo.

      https://github.com/BraydenTW/simple-react-crm/blob/master/src/App.css

      I might plan to, but I am mainly focusing on learning the fundamentals :)

      1. 1

        Thanks for sharing. @BraydenTW, out of curiosity, what would you call the visual style of your app / css? I have been looking for themes / React components that use that style.

        Also, are there any component libraries / themes that you know of that use that style?

        1. 1

          Hmm... not sure. It has been trending in 2020 and is a mix of minimalism and neumorphism.

  5. 2

    Congrats @BraydenTW it looks super nice. Where do you learn React?
    I'm interested because I will want to learn it, but I don't know which source is the best. I have been learning JS vanilla for two months. Some devs tell me that the official React documentation is Ok but is not the best to start.

    1. 2

      Thanks!

      I learned React over the past 24 hours from here:

        1. 1

          You're welcome! DevEd is easily my favorite coding Youtube channel of all time 🤩

  6. 1

    Got an error TypeError: e.customers.map is not a function

    1. 1

      I don’t seem to get that error. Can you send a picture? How did you emulate this? Or you can submit an issue on the repo.

      1. 2

        /favicon.ico:1 Failed to load resource: the server responded with a status of 404 ()
        react-dom.production.min.js:209 TypeError: e.customers.map is not a function
        at s (List.js:7)
        at Ki (react-dom.production.min.js:153)
        at Fa (react-dom.production.min.js:175)
        at vo (react-dom.production.min.js:263)
        at cu (react-dom.production.min.js:246)
        at ou (react-dom.production.min.js:246)
        at Zo (react-dom.production.min.js:239)
        at react-dom.production.min.js:123
        at t.unstable_runWithPriority (scheduler.production.min.js:19)
        at Wl (react-dom.production.min.js:122)
        Za @ react-dom.production.min.js:209
        react-dom.production.min.js:123 Uncaught TypeError: e.customers.map is not a function
        at s (List.js:7)
        at Ki (react-dom.production.min.js:153)
        at Fa (react-dom.production.min.js:175)
        at vo (react-dom.production.min.js:263)
        at cu (react-dom.production.min.js:246)
        at ou (react-dom.production.min.js:246)
        at Zo (react-dom.production.min.js:239)
        at react-dom.production.min.js:123
        at t.unstable_runWithPriority (scheduler.production.min.js:19)
        at Wl (react-dom.production.min.js:122)

        1. 1

          Thanks for letting me know of this, again do you have a Github account? Please submit an issue on the repo so I can better document of the progress.

          Thanks.

  7. 1

    Looking good! Especially for only 24 hours worth of learning 👍💯

    One small rec as a next step: it's nowadays a React best practice to use stateless functional components (with hooks) instead of class-based components. So if you keep doing more React, I'd recommend looking to move in that direction. Just a tip!

    Great work, keep it up!

    1. 2

      Thanks!!

      I’ve heard lots of suggestions for that so I guess I’ll have to use it more often :P

  8. 1

    Nice, the result is really good for only 24 hours of learning React.

    You will learn a lot of optimization techniques and best-practices over time, but when you start, as long as it does what it's supposed to do it's enough.

    1. 1

      Thanks for your encouragement!

  9. 1

    Damn that styling was awesome .

  10. 1

    Looks good! Here are my recommendations:

    1. Learn Typescript ASAP. Looks like you are picking up React quickly. If you learn TS alongside, it will make you a much better developer
    2. I would recommend Next.js over CRA
    3. When you're ready to connect to a backend, check out Apollo and GraphQL
    4. I'd recommend tailwindcss instead of writing your own CSS, or if you are trying to bootstrap very quickly, something like ChakraUI or MaterialUI
    1. 1

      I’ll have to try Typescript. Thanks! I am actually sticking to create-React-app for now because I am learning some smaller fundamentals and creating single page apps an later, I’ll try Next.js. I’m mostly sticking to Frontend now, but if one of my projects require a backend of some sort, I’ll be sure to try GraphQL or Apollo.

      And for the CSS, I was going to use Tailwind, but wanted to focus on the actually functionality first without using other frameworks.

      Thanks for the tips! These are very helpful :D

      1. 1

        The reason I suggest Next over CRA is because it gets rid of a lot of the setup for you allowing you to focus more on the react itself. But other than that, good luck!

  11. 1

    Nice!

    This would be a great post over in Learning to Code, too :D https://www.indiehackers.com/group/learning-to-code

    1. 2

      Good idea! I might put a more in-depth sorry in there :D

      1. 1

        That'd be awesome :)

  12. 1

    This is impressive. It's also really attractive to folks learning React and who want something to show for their efforts right away. I agree with the others- I would turn this into a blog post or better yet a YouTube video!

    1. 1

      Good idea! Thanks :)

  13. 1

    Sweet! As a next step I would definitely look into hooks, Redux (with Redux Toolkit!), and styled components.

    1. 1

      Yes, I was planning to do both next :D

Trending on Indie Hackers
How I grew a side project to 100k Unique Visitors in 7 days with 0 audience 49 comments Competing with Product Hunt: a month later 33 comments Why do you hate marketing? 29 comments My Top 20 Free Tools That I Use Everyday as an Indie Hacker 15 comments $15k revenues in <4 months as a solopreneur 14 comments Use Your Product 13 comments