React Project Tutorial - Build a Portfolio Website w/ Advanced Animations

Поделиться
HTML-код
  • Опубликовано: 2 июн 2024
  • In this video, you will learn how to build React portfolio website from scratch with advanced animations.
    ✏️ Slobodan developed this course: / @codewithsloba
    🔗 Code and assets: github.com/bobangajicsm/react...
    🔗 Map library react-leaflet.js.org/
    🔗 EmailJS library: www.emailjs.com/docs/examples...
    🔗 Final version: bobangajicsm.github.io/portfolio
    Learn:
    ✔️ How to draw SVG animation using GSAP and React
    ✔️ How to animate letters on hover using Animate.css and React
    ✔️ How to add page loading animation using React-Loaders
    ✔️ How to add Pacman animation in React
    ✔️ How to create custom 3D CSS animations
    ✔️ How to implement font icons in React
    ✔️ How to create and implement contact form in React using EmailJS
    ✔️ How to add maps to your website in React using Leafleat.js
    ⭐️ Course Contents ⭐️
    ⌨️ (0:00:00) Intro
    ⌨️ (0:00:43) Create React app with npx
    ⌨️ (0:01:01) Instaling libraries
    ⌨️ (0:03:56) Define global styles
    ⌨️ (0:06:56) Create routes
    ⌨️ (0:09:01) Building left sidebar
    ⌨️ (0:20:31) Building site layout
    ⌨️ (0:23:01) Building Home page
    ⌨️ (0:40:51) Draw SVG Logo animation
    ⌨️ (0:48:29) Build About page
    ⌨️ (1:03:56) Build page loader
    ⌨️ (1:06:11) Build Contact page
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 Raymond Odero
    👾 Agustín Kussrow
    👾 aldo ferretti
    👾 Otis Morgan
    👾 DeezMaster
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

Комментарии • 1,1 тыс.

  • @PauloRabelo
    @PauloRabelo 2 года назад +12

    Slobodan, thank you, a lot for sharing this amazing tutorial content. And yes, we need the 2nd/3rd/4th and beyond parts for this project. Once again thanks a lot my friend!

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @preciso5831
    @preciso5831 2 года назад +263

    For those who face problem in useEffect, setTimeout 40:06
    remove return from setTimeout and add return in setLetterClass.
    I hope this will solve your problem
    .
    .
    .
    if this don't work, try this
    remove the return from setLetterClass also.

    • @vanbardiel
      @vanbardiel 2 года назад +1

      hi i had the same problem. Why does it happen?

    • @Ruzzbugz
      @Ruzzbugz 2 года назад

      thanks

    • @rosemwangi5635
      @rosemwangi5635 2 года назад

      Thankyou Preciso

    • @edsonme9
      @edsonme9 2 года назад

      I have the same issue, why happen this behavior?

    • @tinyfish1297
      @tinyfish1297 2 года назад +37

      hi i had same problem .
      I solve this problem like this...
      useEffect(() => {

      let timeoutId = setTimeout(() => {
      setletterClass('text-animate-hover')
      }, 4000)

      return () => {
      clearTimeout(timeoutId)
      }
      }, [])
      goodluck!

  • @quincylarsonmusic
    @quincylarsonmusic 2 года назад +81

    That is one amazing-looking portfolio. Once again, Slobodan is the hero we need.

    • @CodewithSloba
      @CodewithSloba 2 года назад +3

      Haha, thank you so much!

    • @ayelojaibrahim2610
      @ayelojaibrahim2610 2 года назад

      Please sir, I'm a rust lover and have learnt the basic on this channel and wanted to improve my skills, if you don't mind creating Rust application project on this channel that would help a lot sir thanks.

    • @universecode1101
      @universecode1101 2 года назад +3

      The boss is here 👏🏻

    • @samirchaulagain1
      @samirchaulagain1 2 года назад +1

      thank you Quincy for starting this wonderful medium !! :)

  • @ashishkumargupta5684
    @ashishkumargupta5684 2 года назад +109

    Hey Slobodan, thank you for sharing this amazing tutorial content. And yes, we need the 2nd/3rd/4th part for this project. Once again thanks a lot!!!!

    • @universecode1101
      @universecode1101 2 года назад

      😄

    • @premrathod335
      @premrathod335 2 года назад

      @@CodewithSloba
      Sir how to create assests i stucked thier please help

    • @CodewithSloba
      @CodewithSloba 2 года назад

      @@premrathod335 You can use Ilustrator for it or you can hire a designer for it

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

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

      @@CodewithSloba can't wait for part two. Hurry haha.

  • @joshcastrillo
    @joshcastrillo 2 года назад +193

    For anyone who needs help setting up the emailJS portion:
    The format for 1:16:13 should be as follows: sendForm('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', form.current, 'YOUR_PUBLIC_KEY') After creating an account, can find your service ID in the email services tab, your template ID in the email templates tab, and your public key within the Account tab under API Keys.

    • @timmuyrers2057
      @timmuyrers2057 2 года назад +1

      This is awesome thanks! And for the initialisation, do you there use the private or public key?

    • @timmuyrers2057
      @timmuyrers2057 2 года назад +1

      Its the public one, thanks again!

    • @jodyritonga9588
      @jodyritonga9588 2 года назад

      thanks so much ! may God bless u !

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

      You solved my problem. Thank you

    • @dendenowich4199
      @dendenowich4199 Год назад +3

      I have a problem. Don't work in my project((

  • @mohamadybr
    @mohamadybr 2 года назад +6

    Well, I am doing my portfolio in React at the moment, I was really thankful for learning about emailJS. Thanks a lot

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      You’re welcome!

    • @yurisoares2596
      @yurisoares2596 2 года назад +1

      I was using SMTPjs and Elasticemail, but SMTPjs was inoperating due to the Chrome CORS rules and whatsover. Because of that I passed all the afternoon looking fora similar service until I happened to emailJS. Truthfully speaking, is much less burdensome to work with and you can change your messaged e-mail.

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      @@yurisoares2596 absolutely

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

    Thank you for sharing this amazing tutorial. And yes, we need the second part for this project.

  • @Hacking-NASSA-with-HTML
    @Hacking-NASSA-with-HTML Год назад +3

    Excellent job! Thank you so much, Slobodan 🤝

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

    Amazing tutorial, Thank you very much FCC and Slobodan. P/S: 1,5h but actually took me the whole day to complete. But very happy with what i learnt. Cheers!

  • @adamzulfikar8095
    @adamzulfikar8095 2 года назад +4

    on my way learning to code with React and come across this gold. Thanks a lot is not enough, many many thanks. Please upload more..

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @toufiqislamswoad8728
    @toufiqislamswoad8728 2 года назад +1

    Thanks Slobodan for this content, I'll be waiting for the next sequel of this part.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @FelipeSantos92Dev
    @FelipeSantos92Dev 2 года назад +6

    Amazing! Thanks for the everything! Please, second part! 😅😅😅

  • @AdityaSingh-ql5im
    @AdityaSingh-ql5im 2 года назад +5

    Thank you for this amazing tutorial... and YES WE NEED ALL THE PARTS OF IT... Love your work

    • @CodewithSloba
      @CodewithSloba 2 года назад +2

      Thank you! 2nd part is coming! It will be on my channel.

    • @matrixtoogood5601
      @matrixtoogood5601 2 года назад

      @@CodewithSloba Have subscribed and waiting for it :)

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      @@matrixtoogood5601 Thank you :D

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @vaibhav-bhavsar
    @vaibhav-bhavsar 2 года назад +3

    one of the best portfolio website I have seen, want to make one like this.
    Please make the 2nd part as soon as possible and include sections like projects, blogs, education and work history,
    Looking forward😍😍❤❤

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you! 2nd part is coming! It will be on my channel.

    • @gaurav8113
      @gaurav8113 2 года назад +1

      Hey Vaibhav! Are you a self-taught programmer and build projects to learn? If yes, please reach out to me so that we can discuss some interesting software development roles in latest technologies!

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @SynapseNervosa
    @SynapseNervosa 2 года назад +2

    Thank you for the tutorial. I would love to see a 2nd version.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @yuriribeiro9620
    @yuriribeiro9620 2 года назад +5

    We need as many parts as you can do! Thanks for everything!

    • @yuriribeiro9620
      @yuriribeiro9620 2 года назад +1

      @@CodewithSloba Subscribed! ;) Thank you!

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @andifaizal6848
    @andifaizal6848 2 года назад +3

    You are really amazing, explain detail and smooth animation. 🎉

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @iced_javascript1831
    @iced_javascript1831 2 года назад +2

    Really glad I read these comments before I got too far into this tutorial

  • @dilanshanuka1838
    @dilanshanuka1838 11 месяцев назад +1

    Thank you very much !! Need the second part also

  • @shrooobdude
    @shrooobdude 2 года назад +62

    For anyone watching, you don't need to create an array with all the letters in, that will be painfully slow for longer sentences. You can just do "your string".split("") and it will create the array of characters for you

    • @Kevin-jc1fx
      @Kevin-jc1fx 2 года назад +3

      Nice tip. Thanks.

    • @chrisr2063
      @chrisr2063 Год назад +3

      awesome worked great

    • @joseluisnm8499
      @joseluisnm8499 Год назад +12

      You can create equal to:
      const str = 'srtring'
      const strArray = [...str]
      with spread operator

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

      @@joseluisnm8499 ooo I didn't think of that, I like it 😄

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

      yeah, i'm coming to coments try to se if anyone already said it tanks

  • @sunithat6771
    @sunithat6771 2 года назад +33

    second part please , this is amazing thank you so much fcc for valuable content.

    • @CaptainAmerica-nj2sk
      @CaptainAmerica-nj2sk 2 года назад

      Hey can you help me with this?

    • @CodewithSloba
      @CodewithSloba 2 года назад +2

      2nd part is live ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @Narusopas
    @Narusopas 2 года назад +1

    Thank you very much Slo, greetings from Mexico City
    Please second part 😁

  • @brenoverissimo3846
    @brenoverissimo3846 2 года назад +9

    A very good tutorial. You need to have some background on css and scss, but it gives a good overview on how it's done.
    And, btw, I couldn't bear to make those arrays by hand, so I found some js code to make it for me. In case anyone shares the same amount of patience as I do, here it is:
    const title = "Contact me"
    const titleArray = Array.from({length: title.length}, (_, i) => title[i])
    Thanks!

    • @grumd0
      @grumd0 2 года назад +3

      Strings are iterable. Just do this: 'Contact me'.split('');
      Result: ['C', 'o', 'n', 't', 'a', 'c', 't', ' ', 'm', 'e']

    • @brenoverissimo3846
      @brenoverissimo3846 2 года назад +1

      @@grumd0 oh thx, that's useful

  • @cevdet-gt3uu
    @cevdet-gt3uu 2 года назад +3

    Wow wow wow!!! Thanks for everything ❤️

  • @smr_0172
    @smr_0172 2 года назад +52

    its a nice website but this tutorial is so rushed.. had to pause so many times and a little more explanation would be nice.

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

      That’s the beauty of being able to pause.

    • @HarshDeep61034
      @HarshDeep61034 Год назад +8

      ​@@Lordyung89 ultimate optimisim 🫡

    • @prodbykelvin7508
      @prodbykelvin7508 6 месяцев назад

      Exactly! It’s too fast no much explanation!

    • @prodbykelvin7508
      @prodbykelvin7508 6 месяцев назад

      Try to be as explanatory as possible. That is the goal of helping . Great video by the way

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

      yes because you can't *actually* learn react in 1 hour​@@prodbykelvin7508

  • @sunnysrivastav2470
    @sunnysrivastav2470 2 года назад +2

    Thanks a lot :) . Please make part 2 as soon as possible .

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

      It's uploaded
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

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

    Amazing video. This is fire 🔥🔥🔥

  • @danielcho5347
    @danielcho5347 7 месяцев назад +16

    When creating the Home page at 23:30, make sure to wrap the with the Route path of Layout. I remember Layout originally not wrapping anything so it was set as
    instead of

    • @GoziePO
      @GoziePO 6 месяцев назад

      I was stuck on that for a while but luckily sspotted it this morning

    • @madhuriyadav1489
      @madhuriyadav1489 6 месяцев назад

      Thank you so much, I was struggling at same point. You saved my time.

    • @TrisNowel
      @TrisNowel 6 месяцев назад

      Hello I’m experiencing an issue when adding the home route when I run npm start the webpack complied successfully but I can see page is empty and showing on the page uncaught runtime error. How can I fix this?

    • @GoziePO
      @GoziePO 6 месяцев назад +1

      It might help if you paste your app code in chat GPT and ask what's wrong. IT helped me alot@@TrisNowel

    • @TrisNowel
      @TrisNowel 6 месяцев назад +1

      @@GoziePO Thanks for taking your time to reply. Let me try it.

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

    Email JS has changed since this video uploaded. I needed to create a new template, and use the template ID, just going to the settings of a non created template will generate a new templateID over and over again. Also they have a service ID now which you need to connect your email service to the correct one and input the ID.
    Amazing video though! Even with the errors, Draw SVG conditionally works, EmailJS, and a few others but I managed to resolve most of them with some research and the comments. I think the speed you went at was fine. Definitely a faster paced video but it should be for people who have experience with react.

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

      I keep on getting a message not sent. I have created a new template and used the template id, so I was wondering if you experienced a similar problem and how you solved it?

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

      hi, did you manage to capture the sender's name, email and subject? i only manage to capture the message

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

      @@randyzhang2052 hey did your problem solve out?
      cause I'm getting the same error
      please help me out

  • @user-te2pe5qm8o
    @user-te2pe5qm8o Год назад +1

    Beautiful work! Let me copy that.:)

  • @SreekanthJAcharya
    @SreekanthJAcharya 2 года назад

    Slobodan, such a simple and brilliant video for portfolio website. Thank you so much 🙏. Yes look forward to next part.

  • @AshishKumar-no3rw
    @AshishKumar-no3rw 2 года назад +16

    Hi, If you build this protfolio you won't be able to deploy it because in this project gsap's trial version is used ,and they won't allow it to deploy the trial gsap version and then you would have to purchase the gsap club membership.
    I faced this issue, hence letting other's know.

    • @sindhumathi9209
      @sindhumathi9209 2 года назад

      Thanks for letting us know! Is there any alternative we can do to deploy this portfolio

    • @CodewithSloba
      @CodewithSloba 2 года назад +2

      I’m using free version on my website which I deployed. It’s just not that trial package

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

      @@CodewithSloba how to use that please specify

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

      This comment should be on top.

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

      @@CodewithSloba whats the package you used then..? Why would you say this and not explain what it was

  • @prasaedonium
    @prasaedonium 10 месяцев назад +25

    nice video! Took me around 4 days to actually finish it since I kept getting curious and looking for info about the libraries and experimenting with the site.
    For everyone that wants to do their own logo, I suggest using canva, just put two layers with the letter, I think the font he used for his logo is Century Gothic Paneuropean Bold, but I don't suggest it for non-slim letters such as O, you can use Eastman Condensed as an alternative.
    For SVGs you can use krita on the logo you created on canvas, then using the contiguous selection tool with a grow of -5px and remove the colors, then put a filter that only lets alpha colors to turn it full black and then convert the png file into a SVG file via an online converter. If the resulting SVG has two paths you can just combine them btw. Hope this helps!

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

      how do you install the dependencies without using --legacy-peer-deps npm i react-leaflet is not working same with the others unless I add --legacy-peer-deps
      thanks!

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

      @@cheaptalksco I think I didn't have to use that at all, just followed the instruction on the video and everything worked perfectly

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

      @@prasaedonium is your gsap working fine?

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

      @@manash2 yes it did, had to follow the instructions someone else left behind in the other comments and use a const. GSAP trial won't work on deployment though so I removed it after everything

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

      @@prasaedonium okay thanks got it!

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

    Very helpful, and surprisingly therapeutic

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

      Watch new parts
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

  • @victorquero8972
    @victorquero8972 2 года назад +1

    Thank you i learned a lot with this tutorial..

  • @captainmurphygaming2194
    @captainmurphygaming2194 2 года назад +4

    I Love Our Portfolio ✌☺
    Really Helpful

  • @Animesh250
    @Animesh250 5 месяцев назад +3

    At 34:52 in Single quotes aren't used around `${letterClass} _${i + idx}` those are backticks `

  • @sonaalchandra5609
    @sonaalchandra5609 2 года назад +1

    Can't wait to see the part 2 of this video! thanks a lot Sloba!!

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

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

    Really really really thanks 😍😍😍😍😍😍 this is a best project of my life I learn so my thing and now I have a good portfolio 🎉

  • @danielcho5347
    @danielcho5347 7 месяцев назад +11

    For anyone having trouble just getting anything to appear on the screen during like the first 10 minutes of the tutorial such as Hello and Sidebar, the issue is that on src/index.js (one below App.js and stuff) one of the imports is importing the wrong thing.
    import ReactDOM from 'react-dom/client' should be import ReactDOM from 'react-dom'

    • @GoziePO
      @GoziePO 6 месяцев назад

      what's the right thing?

  • @search.thirdgenerationstudios
    @search.thirdgenerationstudios 2 года назад +5

    I want to make a portfolio page with the same cube but add links on eaech side of the cube that leads to each project. Any ideas on how to execute this?

  • @CTILET
    @CTILET 2 года назад +1

    This turtorial is much better that the last before

  • @kohelet910
    @kohelet910 2 года назад +1

    Hvala Slobodane ! Thank you so much

  • @peterosborne1302
    @peterosborne1302 Год назад +13

    1:16:13 - I have seen a lot of comments discussing a persistent issue with emailjs SendForm not working. For me, the solution was changing the 'gmail' parameter in sendForm() to 'default_service'.

  • @adityanaik7894
    @adityanaik7894 2 года назад +3

    Thank you for amazing content , please make a video on deploying project on server .!

  • @WonderOfNature1234
    @WonderOfNature1234 2 года назад +2

    Very important video !

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

    I don't know how I can thank you more.

  • @user-jn5cb4zb7f
    @user-jn5cb4zb7f Год назад +11

    great video with detailed explanations! am waiting for the further parts! some corrections are necessasry for the useEffect hook. I used it by following way: useEffect(() => {
    const idTimeOut = setTimeout(() => {
    setLetterClass('text-animate-hover')
    }, 3000)
    return () => clearTimeout(idTimeOut);
    }, [])

    • @RamanKumar-sp9bz
      @RamanKumar-sp9bz 11 месяцев назад

      thanku it worked properly

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

      Thanks a lot for this correction!! Now it;'s working ;)

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

      good work, what was missing before?

    • @Omar-xi7uj
      @Omar-xi7uj 9 месяцев назад

      You can also just remove the "return" keyword and it will work, it at least did for me.

  • @prathamnpriyal593
    @prathamnpriyal593 2 года назад +7

    Hi Sloba and freecodechamp, I am getting oops trial version of DrawSVGPlugin deployed. Can you tell what to do here to remove this?

  • @soldishero_YY
    @soldishero_YY 6 месяцев назад

    Nice video. After this video I realized how not much I know about web development even I finished a boot camp: (

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

    Amazing video and a very impressive website! However, I really wish this was a one page portfolio site to show off who you are as a developer and a person!

  • @briancornine
    @briancornine 2 года назад +15

    Hey! Great tutorial.
    I wanted to find out more on how you managed to get that SVG Data you used for the outline for the logo. I want to do something similar, but I am struggling without Adobe Illustrator

  •  2 года назад +1

    Stunning tutorial!!!!
    Greetings from Brasil.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you! Wow greetings for Brasil!

  • @Tyronekong
    @Tyronekong 2 года назад +1

    Amazing, thank you Slobodan.

  • @SatyamKumar-bw4vi
    @SatyamKumar-bw4vi 2 года назад +7

    Yes We need Second Part Please , Awesome Video make it responsive for mobile also Please @Sloba

    • @SatyamKumar-bw4vi
      @SatyamKumar-bw4vi 2 года назад

      @@CodewithSloba Hare Krishna Brother🙏🙏
      More Power to you.
      Hare Krishna 🙏🙏

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part is live ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @braydonthepirate
    @braydonthepirate 11 месяцев назад +3

    Just a heads up that if you want to deploy this with the GreenSock animations you need to buy a membership.

  • @munteanudan5838
    @munteanudan5838 2 года назад +1

    Another bomb content!! Thank you FCC!

  • @soham8555
    @soham8555 2 года назад

    We definitely need the second part for this.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you! 2nd part is coming! It will be on my channel.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @bangaruraja
    @bangaruraja 2 года назад +3

    Need the next part already... 👍

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part is live ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @nightfury6621
    @nightfury6621 Год назад +3

    Quick Tip: Instead of making an array of words like ['D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r'] which is time consuming you could use :
    ```
    const word = "Web Developer".split("")
    ```

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

      bravo

    • @prodbykelvin7508
      @prodbykelvin7508 6 месяцев назад

      I feel , it has to be an array for the letters to have the effects , as though each letter would have its own effect. Like this the bounceIn on effects “web” and “Developer”

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

    I spent months trying to build this website and here it is

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

      Do you get error of enotempty

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

      It's uploaded
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

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

    thank you for this great tutorial❤❤

  • @Afreshio
    @Afreshio Год назад +8

    If anyone get a "Warning: useEffect must not return anything besides a function, which is used for clean-up." error using the useEffect hook when setting up the final hover effect in the Homepage section, try removing the "return" from the useEffect.
    So, instead of:
    useEffect(() => {
    return setTimeout(() => {
    setLetterClass('text-animate-hover')
    }, 4000)
    }, [])
    We remove return, getting this:
    useEffect(() => {
    setTimeout(() => {
    setLetterClass('text-animate-hover')
    }, 4000)
    }, [])
    And the error magically disappears and now everything is rendered normally as it should be.

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

      You sir are a time saver god. I would have beat my face on this forever figuring out why the useEffect hook up made the page go blank.

  • @saadullahdar3381
    @saadullahdar3381 Год назад +3

    Hey Slobodan, when I add useEffect hook in the Home index.js file, it breaks the whole website. How can I solve this issue?

  • @pesovatech6899
    @pesovatech6899 2 года назад +1

    Nice video, waiting for part 2

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @moviesanbu9476
    @moviesanbu9476 2 года назад

    I tried and failed to create this website 7 months ago this is just great thanks FCC

  • @pateljay5351
    @pateljay5351 2 года назад +3

    Yes we want 2nd part tutorial

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @mouezmatoui6163
    @mouezmatoui6163 2 года назад +13

    The drawing animation 47:13 it's extremely slow is anyone else facing same issue ?

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

      I am facing the same issue. Any suggestion on what could be the solution?

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

      @@bernardyegon4659 use React 17

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

    thank you so much for this video.please make a part 2🙏

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

      It's uploaded
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

  • @negros111
    @negros111 2 года назад +1

    Bravo Slobodane, pozdrav iz Crne Gore, eto ko će meni da bude mentor 😊

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      Hvala puno! Pozdrav za Crnu Goru dolje 😉

  • @Vamsi_Krishna_K
    @Vamsi_Krishna_K 2 года назад +3

    Thank you for the awesome tutorial. A small request, did you create those svgs someplace online? If yes, please share it.

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      Using illustrator

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

      @@CodewithSloba yes but which tools? I can make the 3D one with Window/Apparence/Transform but the other one where you can see every trace how? Just know how the effets you use are called and the rest its online but if you don't know what to search is complicated.

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

    1:05:50 if u see this problem with the rotating cube as well the solution is to decrease all rotateY decreas by 0.1 or increase just dnt let it set at 90 180 270 etc... because it will break i couldn't know where the problem is becasue i tried the code on codepen with just colored faces of cube and it worked correctly so problem maybe scss react or even font awesome idk

    • @prodbykelvin7508
      @prodbykelvin7508 6 месяцев назад

      Please ow do I fix cube problem, it doesn’t show on my web page

  • @mgriffes
    @mgriffes 2 года назад +2

    This was fantastic! I learned a lot. Well organized and very easy to follow-along. Thank you Slobodan! I am absolutely interested in Part 2! Let's go!

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you! 2nd part is coming! It will be on my channel.

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

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

    Thank for your sharing. It's great instruction to build portfolio. Thanks again.

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

      It's uploaded
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

  • @benbroad6719
    @benbroad6719 Год назад +3

    Hey man love this project thank you for posting. Can you tell me how you made you S logo and name picture? I'm trying to find some online but they all come with a background

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

      I found that Adobe Express works pretty well. On a free trial you can create simple logos and export a png file with a transparent background

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

      I got it from designer

  • @pla_y_ground9918
    @pla_y_ground9918 2 года назад +1

    Great tutorial and voice!

    • @CodewithSloba
      @CodewithSloba 2 года назад +1

      Hahah thank you 🙏 Had no-one to tell me that, especially with my mediocre english.

  • @azizghozzi1047
    @azizghozzi1047 2 года назад +1

    Hey , awesome work please make the second part 🙏

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @teru__san
    @teru__san 2 года назад +5

    I need some help, when I load the homepage, everything is fine, but as soon as I click on About, the sidebar disappears and the about content doesn't display - when I inspect the page, it empties the root div. I'm reviewing the whole code on github, but I can't find where I did wrong...
    EDIT: just remove the "return" in the useEffect activating the animations.

    • @Swapnil462
      @Swapnil462 2 года назад

      Its an issue with useState and useEffect issue. Although I didnt know the fix but I removed the method hook and it works fine now :)

  • @thundercatsnumba1
    @thundercatsnumba1 Год назад +3

    I am having an issue with changing the "index.css" file @20:30.
    I have changed the "font-family" attribute to "font", but my text on the hover [SideBar] is not changing to the new font declared.
    Any advice on how to resolve this error?
    I have tried changing the font within the &::after within each anchor but the text gets pushed down.

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

      I fixed the issue!
      For me:
      All I did was take the sans-serif out of single quotes.

    • @Nini-co6qv
      @Nini-co6qv 11 месяцев назад

      @@thundercatsnumba1 Had the same issue, thanks for the solution!

  • @jvenkatonline
    @jvenkatonline 2 года назад +2

    Always a step ahead...👍

  • @northstarcode8675
    @northstarcode8675 2 года назад +1

    Hvala Slobo kralju!

  • @ivettlaszlo9340
    @ivettlaszlo9340 Год назад +5

    anyone else has problem with the cube? it's missing 2 sides, but they appear sometimes lol I don't know how to fix it! :D
    Thank you Slobodan for the tutorial! :)

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

      stackoverflow.com/questions/19779605/3d-css-transform-translatez-causes-elements-to-disappear-in-chrome

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

      Hello Ivett, hope everything is good for you! hey, did you find the solution to this issue? I'm having the same problem, thanks! have a great one! :)

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

      @@horux1957 Same thing for me, so if you have any solution, thanks to y'all :)

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

      Hello@@killerpopholly4054 , you can try this In the about's index.scss file change the .face5 transform rotateY(-90deg) to rotateY (270deg) and leave the rotateZ as well as translateZ as it is... this was a solution sent to me, it helps but yet, it doesn't solve the problem for all the media queries, so make sure you play as well with your @keyframes spincube, sorry I'm still figuring it out!! Keep it on!🎻

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

      @@horux1957 hey thanks for your answer ! But yesterday I made it, and it works all time.
      With this configuration :
      from {
      transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
      }
      to {
      transform: rotateX(360deg) rotateY(720deg);
      }
      16% {
      transform: rotateX(0deg) rotateY(-90deg) rotateZ(0deg);
      }
      33% {
      transform: rotateY(-90deg) rotateZ(90deg);
      }
      50% {
      transform: rotateY(-180deg) rotateZ(90deg);
      }
      66% {
      transform: rotateY(-270deg) rotateX(90deg);
      }
      83% {
      transform: rotateX(90deg);
      }

  • @lolnan50
    @lolnan50 2 года назад +5

    Could someone help me out in resolving a useState() issue? Currently, I need to hard reload each page in order to get the assets to load in. I know it should be loading in automatically when I click between routes. Is there an extra step to resolving this outside of the video? or something I might have missed along the way? Thank you!

  • @ZeusOP
    @ZeusOP 2 года назад +1

    Yes We want 2nd part of this

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @tanrosa
    @tanrosa 2 года назад +1

    Amazing!! Tutorial ++

  • @andreaso.1549
    @andreaso.1549 2 года назад +16

    Is anyone else having problems with drawing the S logo? Even when I copy over Slobodans code it's only fading in.

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

      My SVG wouldn't draw properly on the first load... I would have to change something and then save for it to draw.
      I ended up fixing this by using another useRef: const tl = useRef(gsap.timeline());
      And then replacing gsap.timeline() in my useEffect with tl.current

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

      @@Dillonharless nice thanks for that!

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

      @@jakelauterstein1378 I have the same problem I can´t draw it, but I tried to fix it using this and didn´t work. Maybe I wrote sth wrong, could you please paste here or send the snippet code?

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

      @@santiagopereira4691 I ended up abandoning working on this because I was unable to get the animation up to full functionality. Going to try to learn gsap and come back to this later. I also couldn't figure out how to make this site to be responsive so I'm working on this tutorial (ruclips.net/video/G-Cr00UYokU/видео.html) now which has been a little more beginner friendly. Still really liked slobodan's video... just need to learn more and come back to it later.

    • @user-te2pe5qm8o
      @user-te2pe5qm8o Год назад +1

      @@santiagopereira4691 const didAnimate = useRef(false)
      useEffect(() => {
      if (didAnimate.current) return
      didAnimate.current = true
      try this

  • @OmerMan992
    @OmerMan992 2 года назад +3

    I'm a total newb - where did you write all those installations at the beginning? Was that a regular code editor?
    Thanks

    • @prajwalchaudhary2982
      @prajwalchaudhary2982 2 года назад +1

      in the terminal and path as your project directory

    • @CodewithSloba
      @CodewithSloba 2 года назад +2

      You just open the terminal in the VS code once you open the project

    • @brenoverissimo3846
      @brenoverissimo3846 2 года назад

      did you manage to follow the course?

    • @OmerMan992
      @OmerMan992 2 года назад

      @@brenoverissimo3846
      Unfortunately I don't have time now.. I'll try later

    • @OmerMan992
      @OmerMan992 2 года назад

      @@prajwalchaudhary2982
      Thanks

  • @mrcuber6000
    @mrcuber6000 2 года назад +2

    Will be watching

  • @saidibrahim5931
    @saidibrahim5931 2 года назад

    Thank so much, next make projects to add to the portfolio

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @igorcastilhos4224
    @igorcastilhos4224 2 года назад +3

    How did you created the S letter? Can I use Figma for it? Like, to create a I for Igor

  • @hernandonatelli7879
    @hernandonatelli7879 2 года назад +3

    Amazing tutorial!
    In 39:10 I have a problem with Sass in the part where the title is animated.
    I get an error about a deprecated operation in the current version I'm using, and it doesn't display the page.
    Could someone tell me how I could solve it? Thank you so much

    • @alanthankachan3308
      @alanthankachan3308 2 года назад

      i am too stuck on that part... As soon as we add the useEffect with srtTimeOut, the page goes away

    • @atonphan463
      @atonphan463 2 года назад +3

      i dont know how and why this happen but we can use setTimeout(() => {setLetterClass('text-animate-hover')}, 4000) to replace useEffect that make the same results

    • @hernandonatelli7879
      @hernandonatelli7879 2 года назад

      @@atonphan463 i have tried your solution and it works!
      Thanks man

    • @sindhumathi9209
      @sindhumathi9209 2 года назад

      @@atonphan463 I have used this, the page is coming, but the delayed animation and hover animation is not coming. can you please help on this

    • @dragoshjianu
      @dragoshjianu 2 года назад +6

      @@alanthankachan3308 try this useEffect:
      useEffect(() => {
      const timer = setTimeout(() => {
      setLetterClass('text-animate-hover');
      }, 4000);
      return () => clearTimeout(timer);
      }, []);

  • @gbolahanakande7822
    @gbolahanakande7822 2 года назад +1

    Thanks Alot Slobodan
    This is an amazing project
    Although I had a lot of errors while working following the tutorial but I got them later on
    Once again, I can't wait for the remaining part

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Thank you! 2nd part is coming! It will be on my channel.

    • @eteachingdeveloper
      @eteachingdeveloper 2 года назад

      @@CodewithSloba Did you have trouble with the useEffect hook?

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

    • @CodewithSloba
      @CodewithSloba 2 года назад

      @@eteachingdeveloper Yes there was wrong return there

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

      Hi, I.m also having the same trouble with this code, how do I fix it
      @@CodewithSloba

  • @shrutishende4819
    @shrutishende4819 2 года назад +2

    Thank you for this tutorial, share next part please ,

    • @CodewithSloba
      @CodewithSloba 2 года назад

      ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @decadewgame9802
    @decadewgame9802 2 года назад +3

    It would've been really amazing if it had projects section

    • @CodewithSloba
      @CodewithSloba 2 года назад

      Second part is coming. Sub on my channel so you don’t miss it 😉
      Thank you 🙏

    • @CodewithSloba
      @CodewithSloba 2 года назад

      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html

  • @alfamingo2520
    @alfamingo2520 2 года назад +4

    anybody run into the issue of having only 4 sides of the animated cube appear? Only when I adjust my window size do all 6 sides appear again but only for one full animation.

    • @jonathanperry7530
      @jonathanperry7530 2 года назад

      Yes, I'm experiencing it. I wonder why...

    • @alfamingo2520
      @alfamingo2520 2 года назад +2

      @@jonathanperry7530 playing around with some of the widths made it more consistent but it still happens, I’ll comment again once I find a permanent solution

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

      @@alfamingo2520 Find a permanent solution yet?

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

    Could you explain how you got your svg path for gsap? where it sais d= ? I just bought gsap to do the drawing effect but am unsure how to get a path trace my image.

  • @brownlion2559
    @brownlion2559 2 года назад

    Thanks for this. I would like to learn react if it seems simple

  • @T779298RA1
    @T779298RA1 Год назад +3

    Never get the linkedIn icon to work. doesn't show up when checking with the tooling either. opted for the suitcase for lack of a better solution

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

    Amazing tutorial!! Thank you so very much!
    @Code with Sloba When will you have the rest of?

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

      It's uploaded
      2nd part ruclips.net/video/I2TNlHVJ9KQ/видео.html
      3nd part ruclips.net/video/YnHsgQkY6Z4/видео.html

  • @igorsilvapeterborough9566
    @igorsilvapeterborough9566 2 года назад +1

    Def wanna see a video to this on a mobile device