Проект основан на программе курса: https://ulbitv.ru/frontend.
Основной целью проекта является получение обширных представлений о различных инструментах, технологиях и подходах, используемых в разработки веб-приложений.
Разработка придерживалась программы курса в качестве направления исследуемых тем. Однако по некоторым моментам отличается от оригинальной, в связи со спецификой стека текущего проекта и моим желанием.
На текущий момент стек используемых технологий и подходов следующий. В процессе некоторые библиотеки могут меняться, для расширения опыта и кругозора.
- Язык:
- Typescript
- Фреймворк и экосистема:
- Vue 3
- Vue Router
- Vue i18n
- Pinia
- CSS:
- CSS Modules
- Sass (Scss)
- Сборка:
- Webpack 5 - конфигурация с нуля.
- Линтинг:
- Eslint + @antfu/eslint-config
- Stylelint
- lint-staged + simple-git-hooks
- Тестирование:
- Unit: Jest (TS Jest, Vue Jest) + Vue Test Utils
- UI: Loki + Storybook
- Архитектура:
- Feature-Sliced Design
- Backend:
- json-server
- CI/CD:
- Github Actions (CI)
- Локализация:
- Попробовать typesafe-i18n вместо
vue i18n
. - Lazy loading файлов локализации разбитых на чанки по языку и модулям.
- eslint-plugin-vue-i18n
- Попробовать typesafe-i18n вместо
- Текстирование
- Разобраться как правильно мокать переводы
- Typescript
- Детальнее изучить правильную работу Vue 3 с Typescript
- Вернуть
"noImplicitAny": true
вtsconfig
и разобраться с проблемой типа any в динамическом компоненте вApp.vue