Задача: Реализовать приложение с общим списком постов и отдельными страницами с комментариями. Код на Nuxt3/Vue3, TypeScript и Pinia, и разбит на компоненты.
повторять макет в Фигме;
- выводить первые 5 постов из API на общей странице;
- быть написано без использования готовых библиотек компонентов;
- иметь кликабельные кнопки лайка и дизлайка;
- удалять комментарии, изменять значении и стили кнопок локально.
- Этот проект основан на моем nuxt-core-template, который хостится тут
- Все nuxt-core-template видны в проекте шаблона, можете изучить его тоже
- Что идет далее - не стал переводить, тк не имеет смысла. GitHub Actions также не настраивал для этого "проекта"
- Не забудьте скопировать
.env
в корень проекта из ./environments/local.env - StoryBook есть, но не описан, как по мне, для задания - ту мач
- A
<ui-icon>
component has been created that covers the functionality ofnuxt-icon
. There is also a module written for it that scans the~~/assets/icon
folder and generates atypes
based on the files. Adds hints to the icon name when using the component - A
<core-scope>
is a "god" component, it avoids duplication of initialization code and is a repository of the necessary components throughout the application. - Plugin
1.initialization.ts
- initialization you're app here - validate token, request the site configuration, etc. - Plugin
2.eventBus.ts
- wrapper over themitt
package for convenient use - A
app/api
api folder support auto-imports a.k.a composable, for details see homepage
- Architecture - For a quick start, the project philosophy is described, which you can change
- Stylesheets - For a quick start, the philosophy of styles is described. SCSS is included
You can view the Node.js version in .nvmrc
nvm i && nvm use
cp ./environments/local.env .env
npm run dev
npm run build && node .output/server/index.mjs
nuxi generate && npx serve .output/public