philippOkie / resume-builder-vue

1 stars 0 forks source link

Review for resume builder #1

Open Alesyaa103 opened 6 months ago

Alesyaa103 commented 6 months ago

Structure

Overall the project does seem to have structure. However, there could be improvements that we can make to maintain consistency throughout the development process.

We usually have 2 types of building blocks in the frontend project: components and views.

App.vue - on the other hand is a higher-level wrapper, that assembles the building blocks.

Following the talk about components. There are also some rules that we follow. Let me share it with you, so it can help you build a better project.

You might think, what am I talking about) Let's take a look at the Education.vue First of all, we see that it's concerned not only with education, but eduactionS. So this is smth we can break down. Higher logic can be extracted to view. The best component is a simple component.

Another point is related to styles. As I mentioned above the components are used for presentation, so it's expected to have many styles inside the component file. The CSS should be scoped if it's specific to this component. This prevents styling conflicts with other components. So unless there's a good reason to extract styles to a separate file, it's better to be inside the component. It provides better maintainability of the project, and also it's easier to review.

And I give you the final wisdom.

I see you mentioned that you have a buggy PDF export. For this to work, You had to spend your time researching for the library to use, and in the end, we have a problem. For this to fix we have to spend even more time looking at the library.

There is nothing more expensive and important than time

Take a look at this: https://developer.mozilla.org/en-US/docs/Web/API/Window/print

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries#targeting_media_types

Thank you for reading my feedback. I tried to keep it short and only frontend related for now.

For fixing the stuff mentioned above let's use the convention that I previously sent to your email.

Advise from the mentor:

Every challenging task can be broken down into smaller, more manageable components. It's essential to maintain discipline throughout your project for a strict and efficient process. Follow these steps for each task:

- Requirements: Clearly define the requirements of the task before diving into the implementation.
- Architecture: Plan the high-level structure and components needed to fulfill the requirements.
- Design: Develop a detailed design for each component, outlining how they will interact.
- Code: Write the actual code based on the design, ensuring it aligns with the established requirements.
- Test: Thoroughly test your code to catch and address any issues, ensuring the task meets the specified criteria.
- Review: Review your code once again

Don't overlook the importance of documenting your decisions and processes within the issue. Each issue should be dedicated to a single task. Work on every issue in a separate merge request. Review and test your code before proceeding to work on the next issue.

Let's continue the process of getting to know each other. In the meantime, we can iterate on this project together. So you'll have an understanding of our process and you feel ready to dive into the apprenticeship.

If you want to continue, create the Kanban project for your repository. So I can keep track of your progress. For each change that you want to make, it's better to create a dedicated task and make changes in the related merge request. You can assign me for review and more feedback. I'll get to it at my earliest convenience.

philippOkie commented 6 months ago

Is this issue assigned to someone? Maybe I can help :)

Yeah, that's my personal project, thanks but no I want to do it on my own