Introduction
I interviewed a frontend developer (Pim de Brabander) to get the technical requirements for the POC of the project. We discussed different aspects like the coding standards, frontend frameworks and libraries.
Abstract
Pim told me that the frontend chapter still lacks clear guidelines. They usually use the coding standards of the framework in use and use tools like ESLint, and Prettier. The main frameworks they use are Vue and React which are chosen based on the preference and skills of the developer. For this project, plain React was recommneded as frameworks like NextJS would be overkill for the tool.
We also discussed using component libraries like ShadCN which is based on Tailwind and are customizable React components. This would make the development of easier as components like dropdowns, inputs, etc. are then already avaialbe to use. Pim recommended making sure that any library used is well maintained and accepted by the community to avoid unnecessary dependencies.
In terms of content generation, he said that its really important that the HTML is semantic, uses the promper headings, and that it has accessibility features like alt tags for images.
On performance he said that while fast load times are important, the main focus should be making sure the output is generated faster than a developer could create it manually. User tests can help find any performance issues later on.
For the integrations Pim suggested looking at how the tool could directly integrate with systems like Magento and Storyblock. This would allow content to be generated and managed within the CMS which would take away the need for external systems.
Quick Overview
- Frontend Guidelines
- Frontend chapter still lacks clear guidelines.
- Follow coding standards of the framework in use.
- Tools used: ESLint, Prettier.
- Frameworks
- Main frameworks: Vue and React (chosen based on the skills of the developer).
- For this project, plain React is preferred.
- Component Libraries
- Discussed using component libraries like ShadCN.
- Any library used should be well maintained and accepted by its community to avoid unnecessary dependencies.
- Structure and Accessibility
- The output should have semantic HTML, proper headings, and accessibility features (e.g. alt tags for images).
- Performance
- Focus on the page generation speed instead of fast load times of the tool.
- User tests will help find performance issues later.
- Integrations
- Consider integrating with systems like Magento and Storyblock for direct content management within the CMS.
Conclusion
For the development of the frontend of the tool, I will make use of React alongside a component library called ShadCN. To make the tool truly usable and implementable, it should automatically understand the context as much as possible and integrate well with existing CMS platforms. This would allow for a more efficient content generation process.