# First Quarter of #100DaysOfCode

# **May 20, Challenge Commences**

On that day I was furious and started this challenge as a way to improve myself, so here's a little blog on how the first quarter of the challenge finished and what I learned.
So from then on I would sit on my laptop at 2 AM everyday until I was satisfied or exhausted and then hopped on to stream some Valorant :P

## Day 1-7 Anyme
I immediately started React as I had a decent grasp of javascript from before and I started making an anime search site with the help of JikanAPI (Unofficial MyAnimeList API)

From that project I learned:


1. React Components
2. Fetching data from API
3. useState
4. useEffect
5. useFetch


Here's the [Day 1 post with a video ](https://twitter.com/Prayas2902/status/1527556654698360833?s=20&t=l0jvyqP_SsrhatvAhOYDfQ) of [Anyme](https://anyyme.netlify.app/)

## Day 9-11 Sass
I know Day 8 was skipped here, the reason being I was sick since Day 6 so I took a break on Day 8.

On Day 9 I started learning Sass because of how useful and efficient it is, Made a basic portfolio from the video I learned from that helped a lot in understanding Sass

In Sass I learned:
1. Nesting
2. Mixins
3. Variables(better than CSS variables)
4. Functions, If Else

[The Post from that day with a video](https://twitter.com/Prayas2902/status/1530895517781086208)


## Day 12-15 Basic Showcase Page

At this point in time after learning Sass I felt the need to refresh some of my CSS knowledge and stuff like flex, So I made a showcase page template which I found somewhere with Sass. Oh and I also skipped a day cause I didn't feel like doing anything haha sorry :P

This time I learned:
1. Flex
2. Grid
3. Box-model
4. Semantic HTML
5. Difference between inline and block

[Side by side comparision](https://twitter.com/Prayas2902/status/1531715321454731264)

[Finished page](https://twitter.com/Prayas2902/status/1532316896736841728)

## Day 15-20 Changes to my portfolio

For some reason I had the urge to make changes to my portfolio so I hopped on to that and made quite a few changes, also between these 5 days I had an interview for a job so I prepared for that too

Here's what I learned:
1. Promises
2. Async Await
3. Using next-gen formats like webp for faster loading times
4. Properly sizing images for faster loading times

[My portfolio](https://potato-29.github.io/)

## Day 21-22 Basic ChatApp with SocketIO

I remember a friend had made one in my college first year and I wanted to make one too, So I followed a youtube tutorial cause back-end is not my strongest weapon and made it, I was so happy lol

This time I learned:
1. A bit of NodeJS
2. SocketIO basic
3. About web sockets

[Video of that](https://twitter.com/Prayas2902/status/1534951019792039936?s=20&t=6aEOtIu279E7EVtJUYi7CQ)

## Day 23 Basic Weather App and Framer-motion

A weather app with openweathermap API just for fun and to learn a bit of framer-motion too

What I learned:
1. Framer-motion

[A video of that](https://twitter.com/Prayas2902/status/1535279045889339393?s=20&t=6aEOtIu279E7EVtJUYi7CQ)

 
## Day 24-25 Web Scrapping and a failed project

I was interested in web scrapping so I hopped on to that too! I decided to make a twitter bot that tweets scores of professional Valorant matches by scraping data from a popular stat and match tracking site but I was banned after making too many request through the bot, And out of frustration I ended up making a bot that retweets Valorant Clips, Lesson learned here XD

What I learned:
1. Cheerio(module)
2. Puppeteer(module)
3. Basic of scrapping 
4. Twitter API
5. A little more node


# Conclusion

I'm Supeeerrrrrr satisfied from the first quarter of #100DaysOfCode challenge and I can't believe I learned so much stuff through this. Also I would suggest this challenge to anyone who wants to start learning to code. Now I'm even more excited for the remaining 3 quarters and I'll update that too when I finish it. Till then, Sayonara.
