/100-days-front-end

🚀 100 mini projects to improve my front end skills

Primary LanguageCSS

100 Days of Front End

I will build a mini website in plain HTML, CSS and Javascript for 100 days, these websites will be proof of concepts in many cases that will allow me to practice some specific concept while building something with it at the same time!

You can check my progress here

Why?

At the time of starting this challenge I've been working with web technologies for over a year. During this year I've learnt quite a lot, however I've been feeling like I am relying too much on libraries like Bootstrap to achieve some stylings that I could easily do myself.

Also, as these libraries have default stylings if at some point I need to add some customization into my projects it can become a painpoint due to my lack of understanding of some CSS concepts.

Rules

For the duration of this project I will build a mini project using only HTML, CSS and Javascript. This means that I will not be using any type of CSS nor Javascript library.

The only exception to this happens in the build process, where I will use my own build scripts to dynamically add each day's project to the Homescreen, for this I may also install some external libraries if needed as this has nothing to do with front end development.

Also, I may use some tools such as Babel or PostCSS to add cross-browser compatibility, however cross-browser compatibility is not the main focus of these projects, so keep that in mind.

Note: To reset browser default I've included a generic reset.css file in some of the projects when I find it necessary.


Completed on Sept. 14, 2020 🥳

Takeaways

After completing these 100 days of code I can say I've practiced quite a lot and explored many of the technologies that are used in some of the popular libraries and packages we use for building the web. And not only that, but this also gave me the opportunity to face some of the challenge that come when using these "low level" technologies and appreciating the abstraction that many of these libraries offer even more.

Among the many concepts I was able to practice while doing these daily projects are:

  • CSS Animations
  • CSS Transitions
  • SVG manipulation
  • Creating plain Javascript scripts
  • Intersection Observer
  • Flexbox
  • Grid Layout
  • Notifications API
  • 3D shapes
  • Canvas
  • The ::before and ::after pseudo elements

Finally, these are some of my favorites projects that came out of this process

And remember, you can check all the other ones here!