bajormar / frontend-party

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tesonet Front End developer task

Task was quite well prepared, kudos to you :)

Used CRA for quick bootstrap of the project.

Used typescript as it makes me more productive and I would say it is a must-have in bigger projects.

Used eslint + prettier to help concentrate on the code I am writing, and not on code styling differences.

For state management I choose not plain redux(as mentioned in requirements), but redux-toolkit, but it is just a wrapper under redux, just to write less boilerplate code. First time using it, but quite satisfied with it

For testing, I used jest + react-testing-library (by default provided from CRA). In everyday work I am using jest + enzyme combo, but it was nice experience to check how react-testing-library compare to it. I have only written few tests, just to show the skills, but there are still a lot of places not covered.

For styling I choose Sass, as I am mostly using it in the work. But I am more fan of utility css libraries, like tailwind.css. But in this case it was not an option, because of all custom css you required. For some utility css I used bootstrap. I know it is an overkill, but practically all libraries are overkill for employment tasks.

The problem with this task is that it is quite small (normal thing for employment tasks). Because it is so small, it is hard to create good abstractions from single usage of input/button. In normal project you would create component abstractions, but only after you for sure know what kinds of variations it can have.

Also while doing this such kind of employment tasks (not the first in my case), I always get a feeling that it is a task to be thrown away, so I am trying to waste as less time as possible.

Another strange thing is that you require to fork repo and create pull request, as other candidates source code can be visible. That also bring motivation down a lot, because you can just go and copy-paste someone else code.

For FE tasks I would personally would not be so strict about the styling/design, and give more freedom to developer. That would allow to also show the creative side of the person, not just ability to blindly transform design into code.

About


Languages

Language:TypeScript 87.0%Language:HTML 6.8%Language:CSS 6.2%