├── supabase ├── seed.sql └── .gitignore ├── app ├── content │ ├── en │ │ ├── sponsors │ │ │ ├── m3 │ │ │ │ └── head.md │ │ │ ├── tam │ │ │ │ └── head.md │ │ │ ├── attelu │ │ │ │ └── head.md │ │ │ ├── coco │ │ │ │ └── head.md │ │ │ ├── coconala │ │ │ │ └── head.md │ │ │ ├── gihyojp │ │ │ │ └── head.md │ │ │ ├── hennge │ │ │ │ └── head.md │ │ │ ├── mercari │ │ │ │ └── head.md │ │ │ ├── newt │ │ │ │ └── head.md │ │ │ ├── studist │ │ │ │ └── head.md │ │ │ ├── tanomu │ │ │ │ └── head.md │ │ │ ├── tential │ │ │ │ └── head.md │ │ │ ├── yuzuriha │ │ │ │ └── head.md │ │ │ ├── crowdworks │ │ │ │ └── head.md │ │ │ ├── gmo-internet-group │ │ │ │ └── head.md │ │ │ ├── cybozu │ │ │ │ └── head.md │ │ │ ├── base │ │ │ │ └── head.md │ │ │ ├── mntsq │ │ │ │ └── head.md │ │ │ ├── lapras │ │ │ │ └── head.md │ │ │ ├── plaid │ │ │ │ └── head.md │ │ │ ├── stores │ │ │ │ └── head.md │ │ │ ├── raksul │ │ │ │ └── head.md │ │ │ ├── jetbrains │ │ │ │ └── head.md │ │ │ ├── mierune │ │ │ │ └── head.md │ │ │ ├── giftee │ │ │ │ └── head.md │ │ │ ├── visasq │ │ │ │ └── head.md │ │ │ ├── hacomono │ │ │ │ └── head.md │ │ │ ├── yappli │ │ │ │ └── head.md │ │ │ ├── medpeer │ │ │ │ └── head.md │ │ │ ├── line-yahoo-communications │ │ │ │ └── head.md │ │ │ ├── cloudsign │ │ │ │ └── head.md │ │ │ ├── future-architect │ │ │ │ └── head.md │ │ │ ├── link-and-motivation-group │ │ │ │ └── head.md │ │ │ └── unique-vision │ │ │ │ └── head.md │ │ ├── sessions │ │ │ ├── yyx990803 │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── hieu │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── antfu │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── patak-dev │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── keima │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── atinux │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── yoshihide-unoki │ │ │ │ └── profile.md │ │ │ ├── wattanx │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── mizdra │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── harlan-zw │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── northprint │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── fuqda │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── baseballyama │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── 53able │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── nozomu-ikuta │ │ │ │ ├── head.md │ │ │ │ └── profile.md │ │ │ ├── yuta-ichihara │ │ │ │ └── profile.md │ │ │ ├── saimon-nozaki │ │ │ │ └── profile.md │ │ │ ├── ota-meshi │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── yamanoku │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── chocodogmagic │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── daisuke-fujimura │ │ │ │ └── profile.md │ │ │ ├── yud0uhu │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── mew-ton │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── shohei-ogata │ │ │ │ └── profile.md │ │ │ ├── hiroshi-azumi │ │ │ │ └── profile.md │ │ │ ├── sorami │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── takahiro-shinoda │ │ │ │ └── profile.md │ │ │ ├── t0yohei │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── kazuhiro-kobayashi │ │ │ │ └── profile.md │ │ │ ├── hitoki-wakugawa │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── sapphi-red │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── daniel-roe │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ ├── kira-puka │ │ │ │ ├── profile.md │ │ │ │ └── head.md │ │ │ └── kazumasa-yamamoto │ │ │ │ └── profile.md │ │ ├── top │ │ │ ├── related-events.md │ │ │ ├── teams.md │ │ │ ├── personal-sponsors-text1.md │ │ │ ├── sponsors.md │ │ │ ├── store.md │ │ │ ├── event.md │ │ │ ├── volunteer.md │ │ │ ├── prepare-namecard.md │ │ │ ├── namecard.md │ │ │ ├── close-namecard.md │ │ │ ├── personal-sponsors-caption.md │ │ │ ├── event-vuejs-clinic.md │ │ │ ├── contact.md │ │ │ ├── event-panel-discussion.md │ │ │ ├── pre-order.md │ │ │ ├── speakers.md │ │ │ ├── ticket.md │ │ │ ├── current-day-sales.md │ │ │ ├── handson.md │ │ │ └── childcare.md │ │ └── sponsor-sessions │ │ │ ├── coconala │ │ │ └── head.md │ │ │ ├── medpeer │ │ │ └── head.md │ │ │ ├── stores │ │ │ └── head.md │ │ │ ├── gmo-internet-group │ │ │ └── head.md │ │ │ ├── link-and-motivation-group │ │ │ └── head.md │ │ │ ├── mntsq │ │ │ └── head.md │ │ │ ├── cloudsign │ │ │ └── head.md │ │ │ ├── hacomono │ │ │ └── head.md │ │ │ └── unique-vision │ │ │ └── head.md │ └── ja │ │ ├── sponsors │ │ ├── m3 │ │ │ └── head.md │ │ ├── tam │ │ │ └── head.md │ │ ├── attelu │ │ │ └── head.md │ │ ├── coco │ │ │ └── head.md │ │ ├── coconala │ │ │ └── head.md │ │ ├── gihyojp │ │ │ └── head.md │ │ ├── hennge │ │ │ └── head.md │ │ ├── mercari │ │ │ └── head.md │ │ ├── newt │ │ │ └── head.md │ │ ├── studist │ │ │ └── head.md │ │ ├── tanomu │ │ │ └── head.md │ │ ├── tential │ │ │ └── head.md │ │ ├── yuzuriha │ │ │ └── head.md │ │ ├── crowdworks │ │ │ └── head.md │ │ ├── gmo-internet-group │ │ │ └── head.md │ │ ├── cybozu │ │ │ └── head.md │ │ ├── base │ │ │ └── head.md │ │ ├── lapras │ │ │ └── head.md │ │ ├── mierune │ │ │ └── head.md │ │ ├── giftee │ │ │ └── head.md │ │ ├── stores │ │ │ └── head.md │ │ ├── visasq │ │ │ └── head.md │ │ ├── mntsq │ │ │ └── head.md │ │ ├── raksul │ │ │ └── head.md │ │ ├── line-yahoo-communications │ │ │ └── head.md │ │ ├── yappli │ │ │ └── head.md │ │ ├── jetbrains │ │ │ └── head.md │ │ ├── plaid │ │ │ └── head.md │ │ ├── future-architect │ │ │ └── head.md │ │ ├── hacomono │ │ │ └── head.md │ │ ├── medpeer │ │ │ └── head.md │ │ ├── cloudsign │ │ │ └── head.md │ │ ├── link-and-motivation-group │ │ │ └── head.md │ │ └── unique-vision │ │ │ └── head.md │ │ ├── sessions │ │ ├── yyx990803 │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── hieu │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── fuqda │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── keima │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── mizdra │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── antfu │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── patak-dev │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── yoshihide-unoki │ │ │ └── profile.md │ │ ├── northprint │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── saimon-nozaki │ │ │ └── profile.md │ │ ├── 53able │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── baseballyama │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── daisuke-fujimura │ │ │ └── profile.md │ │ ├── yud0uhu │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── sorami │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── wattanx │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── yamanoku │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── yuta-ichihara │ │ │ └── profile.md │ │ ├── atinux │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── mew-ton │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── kazuhiro-kobayashi │ │ │ └── profile.md │ │ ├── nozomu-ikuta │ │ │ ├── head.md │ │ │ └── profile.md │ │ ├── shohei-ogata │ │ │ └── profile.md │ │ ├── hitoki-wakugawa │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── takahiro-shinoda │ │ │ └── profile.md │ │ ├── t0yohei │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── hiroshi-azumi │ │ │ └── profile.md │ │ ├── kira-puka │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── harlan-zw │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── chocodogmagic │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── sapphi-red │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── ota-meshi │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── kazumasa-yamamoto │ │ │ └── profile.md │ │ └── daniel-roe │ │ │ ├── profile.md │ │ │ └── head.md │ │ ├── top │ │ ├── teams.md │ │ ├── related-events.md │ │ ├── store.md │ │ ├── sponsors.md │ │ ├── prepare-namecard.md │ │ ├── close-namecard.md │ │ ├── personal-sponsors-text1.md │ │ ├── event.md │ │ ├── namecard.md │ │ ├── volunteer.md │ │ ├── personal-sponsors-caption.md │ │ ├── event-vuejs-clinic.md │ │ ├── contact.md │ │ ├── event-panel-discussion.md │ │ ├── ticket.md │ │ ├── pre-order.md │ │ ├── childcare.md │ │ ├── speakers.md │ │ ├── handson.md │ │ ├── current-day-sales.md │ │ └── message.md │ │ ├── sponsor-sessions │ │ ├── coconala │ │ │ └── head.md │ │ ├── medpeer │ │ │ └── head.md │ │ ├── hacomono │ │ │ └── head.md │ │ ├── mntsq │ │ │ └── head.md │ │ ├── stores │ │ │ └── head.md │ │ ├── link-and-motivation-group │ │ │ └── head.md │ │ ├── cloudsign │ │ │ └── head.md │ │ ├── unique-vision │ │ │ └── head.md │ │ └── gmo-internet-group │ │ │ └── head.md │ │ └── code-of-conduct │ │ └── index.md ├── utils │ ├── feature.constants.ts │ ├── environment.constants.ts │ ├── status.constants.ts │ └── events-vuejs-clinic.constants.ts ├── public │ ├── og │ │ ├── top.png │ │ ├── og_background.png │ │ └── sponsors │ │ │ ├── base.png │ │ │ ├── coco.png │ │ │ ├── m3.png │ │ │ ├── newt.png │ │ │ ├── tam.png │ │ │ ├── attelu.png │ │ │ ├── cybozu.png │ │ │ ├── giftee.png │ │ │ ├── hennge.png │ │ │ ├── lapras.png │ │ │ ├── mntsq.png │ │ │ ├── plaid.png │ │ │ ├── raksul.png │ │ │ ├── stores.png │ │ │ ├── tabian.png │ │ │ ├── tanomu.png │ │ │ ├── visasq.png │ │ │ ├── yappli.png │ │ │ ├── cloudsign.png │ │ │ ├── coconala.png │ │ │ ├── gihyojp.png │ │ │ ├── hacomono.png │ │ │ ├── interfirm.png │ │ │ ├── jetbrains.png │ │ │ ├── medpeer.png │ │ │ ├── mercari.png │ │ │ ├── mierune.png │ │ │ ├── studist.png │ │ │ ├── tential.png │ │ │ ├── yuzuriha.png │ │ │ ├── algorithms.png │ │ │ ├── crowdworks.png │ │ │ ├── unique-vision.png │ │ │ ├── future-architect.png │ │ │ ├── gmo-internet-group.png │ │ │ ├── line-yahoo-communications.png │ │ │ └── link-and-motivation-group.png │ ├── favicon.ico │ ├── teams │ │ ├── 448jp.png │ │ ├── 4mdy.png │ │ ├── fulu.jpg │ │ ├── fuzno.jpg │ │ ├── jayes.png │ │ ├── kame.png │ │ ├── keigo.jpg │ │ ├── kumin.png │ │ ├── nal.jpg │ │ ├── oreo.png │ │ ├── tutti.jpg │ │ ├── yuhei.jpg │ │ ├── yuuki.jpg │ │ ├── aster.jpeg │ │ ├── hirano.png │ │ ├── kazupon.png │ │ ├── kiaking.jpg │ │ ├── maashi.jpg │ │ ├── miyake.jpg │ │ ├── moabear.png │ │ ├── nokki.jpeg │ │ ├── nozomu.png │ │ ├── robjam.JPG │ │ ├── ryo_gk.jpeg │ │ ├── ryuhei.jpg │ │ ├── sanadi.jpg │ │ ├── shinya.jpg │ │ ├── shiori.jpg │ │ ├── shiyuu.png │ │ ├── takuan.png │ │ ├── tokuda.png │ │ ├── torish.png │ │ ├── toshick.png │ │ ├── watasan.jpg │ │ ├── watsuyo.jpg │ │ ├── jiyuujin.png │ │ ├── kokoakuma.jpeg │ │ ├── matzryo.jpeg │ │ ├── momolili.jpg │ │ ├── nakamoto.png │ │ ├── naramochi.png │ │ ├── ryoaccount.jpg │ │ ├── taniiiiim.png │ │ ├── yamageji.png │ │ ├── yurufuwa.jpg │ │ ├── becolomochi.png │ │ └── happylifetaka.png │ ├── venue │ │ ├── hall.jpg │ │ └── entrance.jpg │ ├── speakers │ │ ├── evan.jpg │ │ ├── hieu.png │ │ ├── 53able.png │ │ ├── antfu.png │ │ ├── fuqda.png │ │ ├── keima.jpg │ │ ├── matias.jpg │ │ ├── mew-ton.png │ │ ├── mizdra.png │ │ ├── sorami.png │ │ ├── t0yohei.jpg │ │ ├── wattanx.png │ │ ├── yud0uhu.jpg │ │ ├── harlan_zw.jpg │ │ ├── kira_puka.png │ │ ├── ota-meshi.jpg │ │ ├── sebastien.jpg │ │ ├── yamanoku.png │ │ ├── daniel_roe.jpg │ │ ├── northprint.png │ │ ├── nozomu_ikuta.png │ │ ├── sapphi_red.png │ │ ├── shohei-ogata.png │ │ ├── baseballyama.jpeg │ │ ├── chocodogmagic.jpg │ │ └── hitoki-wakugawa.jpg │ ├── sponsors │ │ ├── base.png │ │ ├── coco.png │ │ ├── newt.png │ │ ├── tam.png │ │ ├── cybozu.png │ │ ├── giftee.png │ │ ├── hennge.png │ │ ├── lapras.png │ │ ├── medpeer.png │ │ ├── mntsq.png │ │ ├── raksul.jpg │ │ ├── stores.png │ │ ├── studist.png │ │ ├── tabian.png │ │ ├── tanomu.png │ │ ├── yappli.png │ │ ├── cloudsign.png │ │ ├── coconala.png │ │ ├── hacomono.png │ │ ├── interfirm.png │ │ ├── jetbrains.png │ │ ├── yuzuriha.png │ │ ├── algorithms.png │ │ ├── unique-vision.png │ │ ├── future-architect.png │ │ ├── personal-sponsor.png │ │ ├── line-yahoo-communications.png │ │ ├── link-and-motivation-group.png │ │ └── tential.svg │ ├── event │ │ ├── hands_on.png │ │ ├── tattoo_space.png │ │ ├── creative_wall.png │ │ ├── refreshment_space.png │ │ ├── panel-discussion │ │ │ ├── kazupon.png │ │ │ ├── miyaoka.jpg │ │ │ ├── wattanx.png │ │ │ ├── yamanoku.png │ │ │ ├── takanorip.jpg │ │ │ └── ushironoko.png │ │ └── after-event │ │ │ ├── medpeer-hacomono-mntsq.png │ │ │ └── line-yahoo-communications.png │ ├── namecard │ │ └── sample.png │ ├── store │ │ ├── nuxt-badge.png │ │ ├── vite-badge.png │ │ ├── vue-badge.png │ │ ├── vue-parka.jpg │ │ ├── vue-parka.png │ │ ├── vue-tape.png │ │ ├── vue-cushion.png │ │ ├── vue-sticker.png │ │ └── vue-t-shirt.png │ ├── tickets │ │ ├── attendee.png │ │ ├── handson.png │ │ ├── attendee+party.png │ │ └── personal-sponsor.png │ ├── fonts │ │ └── NotoSansJP-Black.ttf │ └── sponsor-speakers │ │ ├── hiroshi_azumi.jpg │ │ ├── saimon-nozaki.jpg │ │ ├── yuta_ichihara.png │ │ ├── daisuke_fujimura.png │ │ ├── takahiro_shinoda.jpg │ │ ├── yoshihide_unoki.png │ │ ├── kazuhiro_kobayashi.jpg │ │ └── kazumasa_yamamoto.png ├── app.vue ├── composables │ ├── useLocaleCurrent.ts │ ├── useDialog.ts │ ├── useUserStore.ts │ ├── useImage.ts │ ├── useArray.ts │ ├── useNamecard.ts │ ├── useFeature.ts │ ├── useToast.ts │ ├── useLocaleSwitcher.ts │ ├── useUser.ts │ ├── useFormReCaptcha.ts │ ├── useHover.ts │ ├── useNamecardStatus.ts │ ├── usePassMarket.ts │ ├── useUserRole.ts │ ├── useNav.ts │ └── useSession.ts ├── plugins │ ├── toastification.client.ts │ └── ga.client.ts ├── assets │ ├── namecard │ │ ├── hook.svg │ │ ├── arrow3.svg │ │ └── vuefes_logo.svg │ ├── sponsor │ │ ├── polygon.svg │ │ ├── tshirt.svg │ │ ├── entrance.svg │ │ └── seat.svg │ ├── logo │ │ ├── menu_logo.svg │ │ ├── arrow_down_logo.svg │ │ ├── vuefes_logo_only.svg │ │ ├── cross_logo.svg │ │ ├── youtube_logo.svg │ │ ├── mastodon_logo.svg │ │ ├── login_logo.svg │ │ ├── slide_logo.svg │ │ ├── logout_logo.svg │ │ ├── card_logo.svg │ │ ├── twitter_logo.svg │ │ ├── twitter_logo_blue.svg │ │ └── upload_logo.svg │ └── main.css ├── types │ ├── i18n.ts │ ├── supabase.ts │ ├── global.d.ts │ └── timetable.ts ├── providers │ ├── UserProvider.vue │ └── Provider.vue ├── middleware │ └── error.ts ├── components │ ├── social │ │ └── IconButton.vue │ ├── voice │ │ ├── FrameLeft.vue │ │ └── FrameRight.vue │ ├── MarkDownText.vue │ ├── footer │ │ ├── PastEventsMobile.vue │ │ ├── PastEvents.vue │ │ └── CopyrightText.vue │ ├── SponsorTag.vue │ ├── forms │ │ ├── SubmitButton.vue │ │ └── LinkButton.vue │ ├── AlertBar.vue │ ├── UserForDev.vue │ ├── sponsor │ │ └── SponsorCategoryTitle.vue │ ├── VoiceFrame.vue │ ├── CommentTitle.vue │ ├── DialogArea.vue │ └── EventPageSection.vue ├── locales │ ├── en.ts │ ├── ja.ts │ └── ja-basic.ts ├── layouts │ └── default.vue ├── atoms │ └── user.ts └── app │ └── spa-loading-template.html ├── .npmrc ├── .eslintignore ├── .husky └── pre-commit ├── tests ├── vitest.config.ts ├── cypress │ ├── fixtures │ │ └── example.json │ ├── types │ │ └── cypress.d.ts │ └── support │ │ └── e2e.ts ├── vitest │ ├── types │ │ └── vitest.d.ts │ └── sample.test.ts └── cypress.config.cjs ├── .gitignore ├── .prettierrc.cjs ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE.md └── actions │ └── install-packages │ └── action.yml ├── tsconfig.json ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── .env.example ├── scripts └── renameDir.cjs ├── .prettierignore ├── README.md ├── .markuplintrc ├── netlify.toml └── .eslintrc.cjs /supabase/seed.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/content/en/sponsors/m3/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/tam/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/m3/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/tam/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/attelu/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/coco/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/coconala/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/gihyojp/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/hennge/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/mercari/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/newt/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/studist/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/tanomu/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/tential/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/yuzuriha/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/attelu/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/coco/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/coconala/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/gihyojp/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/hennge/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/mercari/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/newt/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/studist/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/tanomu/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/tential/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/yuzuriha/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | engine-strict = true -------------------------------------------------------------------------------- /app/content/en/sessions/yyx990803/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/crowdworks/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yyx990803/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/crowdworks/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/gmo-internet-group/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/gmo-internet-group/head.md: -------------------------------------------------------------------------------- 1 | TBD 2 | -------------------------------------------------------------------------------- /app/utils/feature.constants.ts: -------------------------------------------------------------------------------- 1 | // useFeature を使ってください 2 | -------------------------------------------------------------------------------- /supabase/.gitignore: -------------------------------------------------------------------------------- 1 | # Supabase 2 | .branches 3 | .temp 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | /app/components/DialogArea.vue -------------------------------------------------------------------------------- /app/content/ja/sessions/hieu/profile.md: -------------------------------------------------------------------------------- 1 | 株式会社ブレインで働いてます。学びを追求し、新しい領域を探求しているところです。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/teams.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 は、Vue.js 日本ユーザーグループのスタッフによって企画・運営されています。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/related-events.md: -------------------------------------------------------------------------------- 1 | 協賛いただいた企業の皆様に限定して、Vue Fes Japan 2023の関連イベントを開催いただけます。 2 | -------------------------------------------------------------------------------- /app/public/og/top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/top.png -------------------------------------------------------------------------------- /app/utils/environment.constants.ts: -------------------------------------------------------------------------------- 1 | export const isProd = process.env.NODE_ENV === 'production' 2 | -------------------------------------------------------------------------------- /app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/favicon.ico -------------------------------------------------------------------------------- /app/public/teams/448jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/448jp.png -------------------------------------------------------------------------------- /app/public/teams/4mdy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/4mdy.png -------------------------------------------------------------------------------- /app/public/teams/fulu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/fulu.jpg -------------------------------------------------------------------------------- /app/public/teams/fuzno.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/fuzno.jpg -------------------------------------------------------------------------------- /app/public/teams/jayes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/jayes.png -------------------------------------------------------------------------------- /app/public/teams/kame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/kame.png -------------------------------------------------------------------------------- /app/public/teams/keigo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/keigo.jpg -------------------------------------------------------------------------------- /app/public/teams/kumin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/kumin.png -------------------------------------------------------------------------------- /app/public/teams/nal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/nal.jpg -------------------------------------------------------------------------------- /app/public/teams/oreo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/oreo.png -------------------------------------------------------------------------------- /app/public/teams/tutti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/tutti.jpg -------------------------------------------------------------------------------- /app/public/teams/yuhei.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/yuhei.jpg -------------------------------------------------------------------------------- /app/public/teams/yuuki.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/yuuki.jpg -------------------------------------------------------------------------------- /app/public/venue/hall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/venue/hall.jpg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run lint:fix 5 | npm run format 6 | -------------------------------------------------------------------------------- /app/content/en/top/related-events.md: -------------------------------------------------------------------------------- 1 | Only sponsors are possible to hold events related to Vue Fes Japan 2023. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/fuqda/head.md: -------------------------------------------------------------------------------- 1 | Composition API を用いた Pub/Sub パターンでの状態管理手法についてその他手法との比較も含めてコード例と共に考察します。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/keima/head.md: -------------------------------------------------------------------------------- 1 | STUDIO のような複雑なプロダクトをどのように Vue.js を使って作っているのか。主にデザインエディタの部分を中心に話します。 2 | -------------------------------------------------------------------------------- /app/public/speakers/evan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/evan.jpg -------------------------------------------------------------------------------- /app/public/speakers/hieu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/hieu.png -------------------------------------------------------------------------------- /app/public/sponsors/base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/base.png -------------------------------------------------------------------------------- /app/public/sponsors/coco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/coco.png -------------------------------------------------------------------------------- /app/public/sponsors/newt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/newt.png -------------------------------------------------------------------------------- /app/public/sponsors/tam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/tam.png -------------------------------------------------------------------------------- /app/public/teams/aster.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/aster.jpeg -------------------------------------------------------------------------------- /app/public/teams/hirano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/hirano.png -------------------------------------------------------------------------------- /app/public/teams/kazupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/kazupon.png -------------------------------------------------------------------------------- /app/public/teams/kiaking.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/kiaking.jpg -------------------------------------------------------------------------------- /app/public/teams/maashi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/maashi.jpg -------------------------------------------------------------------------------- /app/public/teams/miyake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/miyake.jpg -------------------------------------------------------------------------------- /app/public/teams/moabear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/moabear.png -------------------------------------------------------------------------------- /app/public/teams/nokki.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/nokki.jpeg -------------------------------------------------------------------------------- /app/public/teams/nozomu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/nozomu.png -------------------------------------------------------------------------------- /app/public/teams/robjam.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/robjam.JPG -------------------------------------------------------------------------------- /app/public/teams/ryo_gk.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/ryo_gk.jpeg -------------------------------------------------------------------------------- /app/public/teams/ryuhei.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/ryuhei.jpg -------------------------------------------------------------------------------- /app/public/teams/sanadi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/sanadi.jpg -------------------------------------------------------------------------------- /app/public/teams/shinya.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/shinya.jpg -------------------------------------------------------------------------------- /app/public/teams/shiori.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/shiori.jpg -------------------------------------------------------------------------------- /app/public/teams/shiyuu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/shiyuu.png -------------------------------------------------------------------------------- /app/public/teams/takuan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/takuan.png -------------------------------------------------------------------------------- /app/public/teams/tokuda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/tokuda.png -------------------------------------------------------------------------------- /app/public/teams/torish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/torish.png -------------------------------------------------------------------------------- /app/public/teams/toshick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/toshick.png -------------------------------------------------------------------------------- /app/public/teams/watasan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/watasan.jpg -------------------------------------------------------------------------------- /app/public/teams/watsuyo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/watsuyo.jpg -------------------------------------------------------------------------------- /tests/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({}) 4 | -------------------------------------------------------------------------------- /app/content/en/top/teams.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 is organized and run by core staffs of the Vue.js Japan User Group. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/cybozu/head.md: -------------------------------------------------------------------------------- 1 | サイボウズのフロントエンドを最高にするメンバーを募集しています! 2 | 3 | -------------------------------------------------------------------------------- /app/public/event/hands_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/hands_on.png -------------------------------------------------------------------------------- /app/public/namecard/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/namecard/sample.png -------------------------------------------------------------------------------- /app/public/og/og_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/og_background.png -------------------------------------------------------------------------------- /app/public/og/sponsors/base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/base.png -------------------------------------------------------------------------------- /app/public/og/sponsors/coco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/coco.png -------------------------------------------------------------------------------- /app/public/og/sponsors/m3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/m3.png -------------------------------------------------------------------------------- /app/public/og/sponsors/newt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/newt.png -------------------------------------------------------------------------------- /app/public/og/sponsors/tam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/tam.png -------------------------------------------------------------------------------- /app/public/speakers/53able.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/53able.png -------------------------------------------------------------------------------- /app/public/speakers/antfu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/antfu.png -------------------------------------------------------------------------------- /app/public/speakers/fuqda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/fuqda.png -------------------------------------------------------------------------------- /app/public/speakers/keima.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/keima.jpg -------------------------------------------------------------------------------- /app/public/speakers/matias.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/matias.jpg -------------------------------------------------------------------------------- /app/public/speakers/mew-ton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/mew-ton.png -------------------------------------------------------------------------------- /app/public/speakers/mizdra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/mizdra.png -------------------------------------------------------------------------------- /app/public/speakers/sorami.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/sorami.png -------------------------------------------------------------------------------- /app/public/speakers/t0yohei.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/t0yohei.jpg -------------------------------------------------------------------------------- /app/public/speakers/wattanx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/wattanx.png -------------------------------------------------------------------------------- /app/public/speakers/yud0uhu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/yud0uhu.jpg -------------------------------------------------------------------------------- /app/public/sponsors/cybozu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/cybozu.png -------------------------------------------------------------------------------- /app/public/sponsors/giftee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/giftee.png -------------------------------------------------------------------------------- /app/public/sponsors/hennge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/hennge.png -------------------------------------------------------------------------------- /app/public/sponsors/lapras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/lapras.png -------------------------------------------------------------------------------- /app/public/sponsors/medpeer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/medpeer.png -------------------------------------------------------------------------------- /app/public/sponsors/mntsq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/mntsq.png -------------------------------------------------------------------------------- /app/public/sponsors/raksul.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/raksul.jpg -------------------------------------------------------------------------------- /app/public/sponsors/stores.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/stores.png -------------------------------------------------------------------------------- /app/public/sponsors/studist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/studist.png -------------------------------------------------------------------------------- /app/public/sponsors/tabian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/tabian.png -------------------------------------------------------------------------------- /app/public/sponsors/tanomu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/tanomu.png -------------------------------------------------------------------------------- /app/public/sponsors/yappli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/yappli.png -------------------------------------------------------------------------------- /app/public/store/nuxt-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/nuxt-badge.png -------------------------------------------------------------------------------- /app/public/store/vite-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vite-badge.png -------------------------------------------------------------------------------- /app/public/store/vue-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-badge.png -------------------------------------------------------------------------------- /app/public/store/vue-parka.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-parka.jpg -------------------------------------------------------------------------------- /app/public/store/vue-parka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-parka.png -------------------------------------------------------------------------------- /app/public/store/vue-tape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-tape.png -------------------------------------------------------------------------------- /app/public/teams/jiyuujin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/jiyuujin.png -------------------------------------------------------------------------------- /app/public/teams/kokoakuma.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/kokoakuma.jpeg -------------------------------------------------------------------------------- /app/public/teams/matzryo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/matzryo.jpeg -------------------------------------------------------------------------------- /app/public/teams/momolili.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/momolili.jpg -------------------------------------------------------------------------------- /app/public/teams/nakamoto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/nakamoto.png -------------------------------------------------------------------------------- /app/public/teams/naramochi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/naramochi.png -------------------------------------------------------------------------------- /app/public/teams/ryoaccount.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/ryoaccount.jpg -------------------------------------------------------------------------------- /app/public/teams/taniiiiim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/taniiiiim.png -------------------------------------------------------------------------------- /app/public/teams/yamageji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/yamageji.png -------------------------------------------------------------------------------- /app/public/teams/yurufuwa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/yurufuwa.jpg -------------------------------------------------------------------------------- /app/public/tickets/attendee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/tickets/attendee.png -------------------------------------------------------------------------------- /app/public/tickets/handson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/tickets/handson.png -------------------------------------------------------------------------------- /app/public/venue/entrance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/venue/entrance.jpg -------------------------------------------------------------------------------- /app/content/en/sessions/hieu/profile.md: -------------------------------------------------------------------------------- 1 | I work for Brain, Inc. I am in the pursuit of learning and exploring new areas. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/mizdra/profile.md: -------------------------------------------------------------------------------- 1 | 株式会社はてなでフロントエンドエキスパートとして働いてます。より良い開発者体験を提供することに興味があり、様々な便利グッズを作って暮らしています。 2 | -------------------------------------------------------------------------------- /app/public/event/tattoo_space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/tattoo_space.png -------------------------------------------------------------------------------- /app/public/og/sponsors/attelu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/attelu.png -------------------------------------------------------------------------------- /app/public/og/sponsors/cybozu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/cybozu.png -------------------------------------------------------------------------------- /app/public/og/sponsors/giftee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/giftee.png -------------------------------------------------------------------------------- /app/public/og/sponsors/hennge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/hennge.png -------------------------------------------------------------------------------- /app/public/og/sponsors/lapras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/lapras.png -------------------------------------------------------------------------------- /app/public/og/sponsors/mntsq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/mntsq.png -------------------------------------------------------------------------------- /app/public/og/sponsors/plaid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/plaid.png -------------------------------------------------------------------------------- /app/public/og/sponsors/raksul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/raksul.png -------------------------------------------------------------------------------- /app/public/og/sponsors/stores.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/stores.png -------------------------------------------------------------------------------- /app/public/og/sponsors/tabian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/tabian.png -------------------------------------------------------------------------------- /app/public/og/sponsors/tanomu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/tanomu.png -------------------------------------------------------------------------------- /app/public/og/sponsors/visasq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/visasq.png -------------------------------------------------------------------------------- /app/public/og/sponsors/yappli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/yappli.png -------------------------------------------------------------------------------- /app/public/speakers/harlan_zw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/harlan_zw.jpg -------------------------------------------------------------------------------- /app/public/speakers/kira_puka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/kira_puka.png -------------------------------------------------------------------------------- /app/public/speakers/ota-meshi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/ota-meshi.jpg -------------------------------------------------------------------------------- /app/public/speakers/sebastien.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/sebastien.jpg -------------------------------------------------------------------------------- /app/public/speakers/yamanoku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/yamanoku.png -------------------------------------------------------------------------------- /app/public/sponsors/cloudsign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/cloudsign.png -------------------------------------------------------------------------------- /app/public/sponsors/coconala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/coconala.png -------------------------------------------------------------------------------- /app/public/sponsors/hacomono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/hacomono.png -------------------------------------------------------------------------------- /app/public/sponsors/interfirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/interfirm.png -------------------------------------------------------------------------------- /app/public/sponsors/jetbrains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/jetbrains.png -------------------------------------------------------------------------------- /app/public/sponsors/yuzuriha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/yuzuriha.png -------------------------------------------------------------------------------- /app/public/store/vue-cushion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-cushion.png -------------------------------------------------------------------------------- /app/public/store/vue-sticker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-sticker.png -------------------------------------------------------------------------------- /app/public/store/vue-t-shirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/store/vue-t-shirt.png -------------------------------------------------------------------------------- /app/public/teams/becolomochi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/becolomochi.png -------------------------------------------------------------------------------- /app/content/en/sessions/antfu/profile.md: -------------------------------------------------------------------------------- 1 | Anthony is a fanatical open sourceror. DX and ecosystem for Vue, Vite and Nuxt. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/patak-dev/profile.md: -------------------------------------------------------------------------------- 1 | A collaborative being, working full time on the Vite ecosystem @StackBlitz. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/antfu/profile.md: -------------------------------------------------------------------------------- 1 | Anthony is a fanatical open sourceror. DX and ecosystem for Vue, Vite and Nuxt. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/patak-dev/profile.md: -------------------------------------------------------------------------------- 1 | A collaborative being, working full time on the Vite ecosystem @StackBlitz. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yoshihide-unoki/profile.md: -------------------------------------------------------------------------------- 1 | 株式会社リンクアンドモチベーション Enabling グループフロントエンド開発者。アーキテクチャの改善やデザインシステムの構築をやってます。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/store.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 限定オリジナルグッズをお買い求めいただける Vue Fes Store が今年も登場。オリジナルグッズを揃えて、Vue Fes Japan を盛り上げましょう! 2 | -------------------------------------------------------------------------------- /app/public/event/creative_wall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/creative_wall.png -------------------------------------------------------------------------------- /app/public/og/sponsors/cloudsign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/cloudsign.png -------------------------------------------------------------------------------- /app/public/og/sponsors/coconala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/coconala.png -------------------------------------------------------------------------------- /app/public/og/sponsors/gihyojp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/gihyojp.png -------------------------------------------------------------------------------- /app/public/og/sponsors/hacomono.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/hacomono.png -------------------------------------------------------------------------------- /app/public/og/sponsors/interfirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/interfirm.png -------------------------------------------------------------------------------- /app/public/og/sponsors/jetbrains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/jetbrains.png -------------------------------------------------------------------------------- /app/public/og/sponsors/medpeer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/medpeer.png -------------------------------------------------------------------------------- /app/public/og/sponsors/mercari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/mercari.png -------------------------------------------------------------------------------- /app/public/og/sponsors/mierune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/mierune.png -------------------------------------------------------------------------------- /app/public/og/sponsors/studist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/studist.png -------------------------------------------------------------------------------- /app/public/og/sponsors/tential.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/tential.png -------------------------------------------------------------------------------- /app/public/og/sponsors/yuzuriha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/yuzuriha.png -------------------------------------------------------------------------------- /app/public/speakers/daniel_roe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/daniel_roe.jpg -------------------------------------------------------------------------------- /app/public/speakers/northprint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/northprint.png -------------------------------------------------------------------------------- /app/public/speakers/nozomu_ikuta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/nozomu_ikuta.png -------------------------------------------------------------------------------- /app/public/speakers/sapphi_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/sapphi_red.png -------------------------------------------------------------------------------- /app/public/speakers/shohei-ogata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/shohei-ogata.png -------------------------------------------------------------------------------- /app/public/sponsors/algorithms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/algorithms.png -------------------------------------------------------------------------------- /app/public/teams/happylifetaka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/teams/happylifetaka.png -------------------------------------------------------------------------------- /app/content/ja/sessions/northprint/head.md: -------------------------------------------------------------------------------- 1 | GIS(地理情報システム)における可視化 Web アプリケーション構築の際に Vue.js がフロントエンドフレームワークの選択肢として優れているポイントの紹介をいたします 2 | -------------------------------------------------------------------------------- /app/content/ja/top/sponsors.md: -------------------------------------------------------------------------------- 1 | Vue.js に関わる人々が集まる Vue Fes Japan 2023 をより良いカンファレンスにするため、スポンサー募集をします。募集スケジュールなどの詳しい内容は資料をご参照ください。 2 | -------------------------------------------------------------------------------- /app/public/event/refreshment_space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/refreshment_space.png -------------------------------------------------------------------------------- /app/public/fonts/NotoSansJP-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/fonts/NotoSansJP-Black.ttf -------------------------------------------------------------------------------- /app/public/og/sponsors/algorithms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/algorithms.png -------------------------------------------------------------------------------- /app/public/og/sponsors/crowdworks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/crowdworks.png -------------------------------------------------------------------------------- /app/public/speakers/baseballyama.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/baseballyama.jpeg -------------------------------------------------------------------------------- /app/public/speakers/chocodogmagic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/chocodogmagic.jpg -------------------------------------------------------------------------------- /app/public/sponsors/unique-vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/unique-vision.png -------------------------------------------------------------------------------- /app/public/tickets/attendee+party.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/tickets/attendee+party.png -------------------------------------------------------------------------------- /app/content/ja/sessions/saimon-nozaki/profile.md: -------------------------------------------------------------------------------- 1 | ウェルネス産業に特化した会員・予約・決済管理システムを提供する、株式会社 hacomono で働いています。人間が扱いやすい設計、体験を作ることに興味があります。 2 | -------------------------------------------------------------------------------- /app/public/og/sponsors/unique-vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/unique-vision.png -------------------------------------------------------------------------------- /app/public/speakers/hitoki-wakugawa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/speakers/hitoki-wakugawa.jpg -------------------------------------------------------------------------------- /app/public/sponsors/future-architect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/future-architect.png -------------------------------------------------------------------------------- /app/public/sponsors/personal-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/personal-sponsor.png -------------------------------------------------------------------------------- /app/public/tickets/personal-sponsor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/tickets/personal-sponsor.png -------------------------------------------------------------------------------- /app/app.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /app/content/ja/sessions/53able/profile.md: -------------------------------------------------------------------------------- 1 | 技術的負債を減らしつつ増やさないために、Rails アプリケーションのフロントエンドを Vue.js へ移行しています。 2 | 最近の関心事は、生成 AI を活用したプロダクト開発です。 3 | -------------------------------------------------------------------------------- /app/public/og/sponsors/future-architect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/future-architect.png -------------------------------------------------------------------------------- /app/content/en/sessions/yyx990803/profile.md: -------------------------------------------------------------------------------- 1 | Evan is an independent open source developer and is the creator / project lead of Vue and Vite. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/baseballyama/profile.md: -------------------------------------------------------------------------------- 1 | 最近は Python (機械学習) に専念しています。 2 | Flyle (フライル) は、ユーザー中心の製品・サービス開発を推進するためのプロダクトマネジメントプラットフォームです。 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/daisuke-fujimura/profile.md: -------------------------------------------------------------------------------- 1 | バックエンド開発とフロントエンド開発を中心にソフトウェア開発者として 15 年以上のキャリアをもつ。コードを書く傍ら、マネジメントとしてチームビルディング、採用、技術戦略策定等を経験。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/northprint/profile.md: -------------------------------------------------------------------------------- 1 | 北海道旭川市在住。色々あって北海道に戻りまして、色々あって位置情報と可視化が得意な会社に所属しています。その昔 Flash が好きな人たちと色々やってました。フロントエンドの開発が好きです。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yud0uhu/profile.md: -------------------------------------------------------------------------------- 1 | 北海道出身の新米エンジニア。DMM.com に 23 年度新卒入社し、昨年 12 月にリリースした「DMM TV」のフロントエンドチームの開発に関わっています。最近は B 級映画と油そばに凝ってます。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yyx990803/profile.md: -------------------------------------------------------------------------------- 1 | Evan is an independent open source developer and is the creator / project lead of Vue and Vite. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/base/head.md: -------------------------------------------------------------------------------- 1 | BASE 株式会社は「Payment to the People, Power to the People.」 をミッションに掲げ、 個人やスモールチームに向けて、EC/決済/金融のサービスを展開しています。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/prepare-namecard.md: -------------------------------------------------------------------------------- 1 | チケットご購入後、必要な情報をご登録いただくと、当日会場にてご自身のアバター+名前入りのネームカードがもらえます!(要ソーシャルログイン) 2 | 現在、作成機能の準備中ですので、しばらくお待ちください。 3 | -------------------------------------------------------------------------------- /app/public/event/panel-discussion/kazupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/kazupon.png -------------------------------------------------------------------------------- /app/public/event/panel-discussion/miyaoka.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/miyaoka.jpg -------------------------------------------------------------------------------- /app/public/event/panel-discussion/wattanx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/wattanx.png -------------------------------------------------------------------------------- /app/public/event/panel-discussion/yamanoku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/yamanoku.png -------------------------------------------------------------------------------- /app/public/og/sponsors/gmo-internet-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/gmo-internet-group.png -------------------------------------------------------------------------------- /app/public/sponsor-speakers/hiroshi_azumi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/hiroshi_azumi.jpg -------------------------------------------------------------------------------- /app/public/sponsor-speakers/saimon-nozaki.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/saimon-nozaki.jpg -------------------------------------------------------------------------------- /app/public/sponsor-speakers/yuta_ichihara.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/yuta_ichihara.png -------------------------------------------------------------------------------- /app/content/en/sessions/keima/head.md: -------------------------------------------------------------------------------- 1 | How do you use Vue.js to create a complex product like STUDIO? I will talk mainly about the design editor part. 2 | -------------------------------------------------------------------------------- /app/content/en/top/personal-sponsors-text1.md: -------------------------------------------------------------------------------- 1 | If you become an individual sponsor, your name will be posted on the Vue Fes Japan official website. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/sorami/profile.md: -------------------------------------------------------------------------------- 1 | データ可視化や地図制作をやっています。もともとは自然言語処理の研究や開発をやっていました。言語や地図などを含めた「思考のための道具」に興味があります。2022 年春に北海道へ引っ越しました。アスパラガスが好きです。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/wattanx/profile.md: -------------------------------------------------------------------------------- 1 | STORES 株式会社 ソフトウェアエンジニア。Nuxt コミュニティチーム。STORES ネットショップの開発に携わりながら、Nuxt Bridge のコアコントリビュータを務めています。猫が好きです。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yamanoku/profile.md: -------------------------------------------------------------------------------- 1 | 1 児の父で猫 3 匹と大型犬 1 頭の飼い主。フロントエンドデザイナーとしてフロントエンド開発・デザインにまつわる領域で仕事しています。Web 技術を活用したユーザビリティ向上について日々考えてます。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yuta-ichihara/profile.md: -------------------------------------------------------------------------------- 1 | - ゲームのクライアントサイド/サーバーサイドエンジニア、旅行業界のフロントエンドエンジニアを経て 2020 年にココナラに入社 2 | - Vue.js との出会いは 2018 年 3 | - 猫派 4 | -------------------------------------------------------------------------------- /app/content/ja/top/close-namecard.md: -------------------------------------------------------------------------------- 1 | チケットご購入後、必要な情報をご登録いただくと、当日会場にてご自身のアバター+名前入りのネームカードがもらえます!(要ソーシャルログイン) 2 | 作成機能の提供を終了いたしました、作成いただいた皆さまには感謝申し上げます。 3 | -------------------------------------------------------------------------------- /app/content/ja/top/personal-sponsors-text1.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 では、企業向けスポンサーとは別に個人スポンサーを募集しています。 2 | 個人スポンサーになると、Vue Fes Japan 公式ウェブサイトにお名前を掲載いたします。 3 | -------------------------------------------------------------------------------- /app/public/event/panel-discussion/takanorip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/takanorip.jpg -------------------------------------------------------------------------------- /app/public/event/panel-discussion/ushironoko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/panel-discussion/ushironoko.png -------------------------------------------------------------------------------- /app/public/sponsor-speakers/daisuke_fujimura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/daisuke_fujimura.png -------------------------------------------------------------------------------- /app/public/sponsor-speakers/takahiro_shinoda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/takahiro_shinoda.jpg -------------------------------------------------------------------------------- /app/public/sponsor-speakers/yoshihide_unoki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/yoshihide_unoki.png -------------------------------------------------------------------------------- /app/content/en/sessions/atinux/head.md: -------------------------------------------------------------------------------- 1 | Learn how to build a Vue application deployed to the edge to bring a blazing fast experience to your end users. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/cybozu/head.md: -------------------------------------------------------------------------------- 1 | We are looking for members to make Cybozu's front end the best it can be! 2 | 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/atinux/head.md: -------------------------------------------------------------------------------- 1 | Learn how to build a Vue application deployed to the edge to bring a blazing fast experience to your end users. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/keima/profile.md: -------------------------------------------------------------------------------- 1 | STUDIO 株式会社の CPO(Chief Product Officer)です。インタラクションデザインや、複雑 GUI の実装が得意です。最近は Web デザイン分野のプロダクトで北米での PMF に挑戦しています。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/event.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 では、セッションやライトニングトーク以外にも、より Vue.js を楽しんでいただくための企画を多数ご用意しています。ぜひお立ち寄りください。
2 |
3 | ※画像はすべてイメージです。 4 | -------------------------------------------------------------------------------- /app/public/sponsor-speakers/kazuhiro_kobayashi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/kazuhiro_kobayashi.jpg -------------------------------------------------------------------------------- /app/public/sponsor-speakers/kazumasa_yamamoto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsor-speakers/kazumasa_yamamoto.png -------------------------------------------------------------------------------- /app/public/sponsors/line-yahoo-communications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/line-yahoo-communications.png -------------------------------------------------------------------------------- /app/public/sponsors/link-and-motivation-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/sponsors/link-and-motivation-group.png -------------------------------------------------------------------------------- /app/composables/useLocaleCurrent.ts: -------------------------------------------------------------------------------- 1 | export function useLocaleCurrent() { 2 | const { locale } = useI18n({ useScope: 'global' }) 3 | return { locale } 4 | } 5 | -------------------------------------------------------------------------------- /app/content/ja/sessions/fuqda/profile.md: -------------------------------------------------------------------------------- 1 | バックエンド出身のフロントエンドエンジニアです。Tama.rb という地域 Ruby コミュニティのオーガナイザーを過去に行っていました。現在は、ペイトナー株式会社でペイトナー請求書というプロダクトのフロントエンドを開発しています。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/mew-ton/profile.md: -------------------------------------------------------------------------------- 1 | みゅーとんです。 vue-fes 2022 では、アバターの姿で登壇していたため、リアルでははじめましてになります。趣味はフロントエンド、VR、エレクトーンです。VRChat でフロントエンド技術者向けの交流会を毎月開催しています。 2 | -------------------------------------------------------------------------------- /app/public/og/sponsors/line-yahoo-communications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/line-yahoo-communications.png -------------------------------------------------------------------------------- /app/public/og/sponsors/link-and-motivation-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/og/sponsors/link-and-motivation-group.png -------------------------------------------------------------------------------- /app/content/en/sessions/antfu/head.md: -------------------------------------------------------------------------------- 1 | Experiences and ideas sharing on ways of doing open source. Anthony's methodology on picking the directions of open source 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/antfu/head.md: -------------------------------------------------------------------------------- 1 | Experiences and ideas sharing on ways of doing open source. Anthony's methodology on picking the directions of open source 2 | -------------------------------------------------------------------------------- /app/content/ja/top/namecard.md: -------------------------------------------------------------------------------- 1 | チケットご購入後、必要な情報をご登録いただくと、当日会場にてご自身のアバター+名前入りのネームカードがもらえます!(要ソーシャルログイン) なお、印刷の都合上、ネームカードの情報登録は 2023 年 10 月 3 日(火)24:00 までとさせていただきます。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/volunteer.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 では、当日の運営をお手伝いしていただけるボランティアスタッフを募集しています。ボランティアスタッフは無料でカンファレンスに参加しながら、運営に携わることができます。詳しい内容については以下の応募フォームをご覧ください。 2 | -------------------------------------------------------------------------------- /app/public/event/after-event/medpeer-hacomono-mntsq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/after-event/medpeer-hacomono-mntsq.png -------------------------------------------------------------------------------- /app/content/ja/sessions/kazuhiro-kobayashi/profile.md: -------------------------------------------------------------------------------- 1 | 2019 年 10 月メドピア入社。 2 | 薬局と患者さんを繋ぐかかりつけ薬局化支援サービス「kakari」、クリニックと患者さんを繋ぐ「kakari for Clinic」、医療機関の予約システム「やくばと」の開発を担当。 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/nozomu-ikuta/head.md: -------------------------------------------------------------------------------- 1 | Nuxt 3 がある程度普及してきていますが、Nuxt 3 の根幹を支えている unjs の存在はそれほど知られていないかもしれません。このセッションでは、unjs とは何か、unjs が Nuxt 3 でどのように使われているかなどを解説します。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/shohei-ogata/profile.md: -------------------------------------------------------------------------------- 1 | ECプラットフォーム「カラーミーショップ」で、ショップオーナーが利用する管理画面の開発に携わっています。 2 | 業務ではJavaScript(TypeScript)やPHP、Rubyを書いています。Vue.js歴は概ね4年くらいです。 3 | -------------------------------------------------------------------------------- /app/public/event/after-event/line-yahoo-communications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuejs-jp/vuefes-2023/HEAD/app/public/event/after-event/line-yahoo-communications.png -------------------------------------------------------------------------------- /app/content/en/sessions/yoshihide-unoki/profile.md: -------------------------------------------------------------------------------- 1 | Front-end Developer, Enabling Group, Link and Motivation, Inc. I'm working on improving architecture and design systems. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/hitoki-wakugawa/profile.md: -------------------------------------------------------------------------------- 1 | 高専でハード・ソフトを学んだ後、ソフトウェアエンジニアとして 5 年間活動。その後 TENTIAL で EC をフルスクラッチで開発。決済・物流基盤の立ち上げを行い、現在はエンジニア組織について考えたり、パフォーマンス改善に熱があります。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/takahiro-shinoda/profile.md: -------------------------------------------------------------------------------- 1 | クラウドサインのフロントエンドエンジニアです。 2 | 3 | 〜経歴〜 4 | 2020 年新卒でベンチャー企業にて飲食店の予約システムの開発を担当。 5 | 翌年に弁護士ドットコムに入社。現在は、クラウドサインのフロントエンド改善に従事。 6 | -------------------------------------------------------------------------------- /app/plugins/toastification.client.ts: -------------------------------------------------------------------------------- 1 | import Toast from 'vue-toastification' 2 | 3 | export default defineNuxtPlugin((nuxtApp) => { 4 | nuxtApp.vueApp.use(Toast) 5 | }) 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log* 3 | .nuxt 4 | .nitro 5 | .cache 6 | .output 7 | .env 8 | dist 9 | tests/cypress/videos 10 | .idea 11 | .netlify 12 | tests/cypress/videos -------------------------------------------------------------------------------- /app/content/ja/sessions/t0yohei/profile.md: -------------------------------------------------------------------------------- 1 | Vue.js に出会ってフロントエンド開発の楽しさを知った人。新卒で SIer に入社後、株式会社クラウドワークスに転職。以後 Rails + Vue.js な Web アプリケーションの開発や Vue.js の社内布教を行う。最近はデザインシステムの実装屋さん。 2 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: false, 3 | trailingComma: 'all', 4 | singleQuote: true, 5 | printWidth: 100, 6 | tabWidth: 2, 7 | quoteProps: 'preserve', 8 | } 9 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## 💡 解決する issue / Resolved Issues 2 | 3 | ## 📝 関連する issue / Related Issues 4 | 5 | ## ⛏ 変更内容 / Details of Changes 6 | 7 | ## 📸 スクリーンショット / Screenshots 8 | -------------------------------------------------------------------------------- /app/content/en/sessions/wattanx/profile.md: -------------------------------------------------------------------------------- 1 | Software Engineer at STORES, Inc., Nuxt Community Team, working on STORES NetShop development and core contributor to Nuxt Bridge. I like cats. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/hiroshi-azumi/profile.md: -------------------------------------------------------------------------------- 1 | MNTSQ 株式会社 エンジニア(フロントエンド担当) 2 | Flash > perl > Java > python > php 3 | その後フロントエンド、スマートフォンアプリ PM、行動解析と経て 2022 年 2 月より現職。 4 | Vue.js 歴は 8 年。 5 | -------------------------------------------------------------------------------- /app/content/ja/sessions/kira-puka/profile.md: -------------------------------------------------------------------------------- 1 | 情報系の大学院卒業後、SI 企業に入社しソフトウェアの研究開発に従事。その後、フリーランスを経て、合同会社めもらばを設立。現在は受託開発をしながら、Web サービスやアプリの開発に勤しむ。SSSAPI、積読ハウマッチ、アレときなどをリリース。趣味は読書と個人開発。2 児の父。娘かわいい。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/lapras/head.md: -------------------------------------------------------------------------------- 1 | LAPRAS は、エンジニアのブログや SNS を分析して自動でポートフォリオを生成し、あなたの日々の貢献を可視化します。SNS の活動などから算出された自分の技術力スコアを確認したり、企業からのスカウト通じて自分に興味を持っている企業とつながることでより良いエンジニアライフの実現をサポートします。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/mierune/head.md: -------------------------------------------------------------------------------- 1 | MIERUNE は世界最先端の位置情報技術を活用して課題解決をサポートするソリューションカンパニーです。様々なバックグラウンドを持つエンジニアたちが MIERUNE に集結し、社内勉強会や OSS への貢献などによって日々研鑽を積んでいます。あなたの経験やスキルをもとに更に成長してみませんか? 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/mizdra/profile.md: -------------------------------------------------------------------------------- 1 | I work as a front-end expert at Hatena, Inc. I am interested in providing a better developer experience and live by creating various useful products. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/base/head.md: -------------------------------------------------------------------------------- 1 | BASE, Inc. provides e-commerce, payment, and financial services to individuals and small teams under the mission "Payment to the People, Power to the People. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/53able/head.md: -------------------------------------------------------------------------------- 1 | Vue.js の SFC(Single File Component)の柔軟性と保守性を高めるためのコンポーネント設計にどのようなアプローチが効果的なのか検討します。 2 | SOLID 原則に基づいて考察し、それぞれの原則を個別に検討し、Vue.js の SFC にどのように適用するかを解説します。 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/giftee/head.md: -------------------------------------------------------------------------------- 1 | ギフティは「キモチの循環を促進することで、よりよい関係で繋がった社会をつくる」をミッションに掲げる e ギフトの会社です。Vue.js の力を借りながら、直接会わずに気持ちを届ける e ギフトのプロダクトを提供しています。私達は、ギフトを扱う会社として技術コミュニティへ「知見を贈り合う」組織であり続けます。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/stores/head.md: -------------------------------------------------------------------------------- 1 | STORES は「Just for Fun」をミッションに、 ネットショップ開設・POS レジ・キャッシュレス決済・オンライン予約システム・店舗アプリ作成など、お店のデジタル化を総合的に支援するサービスを展開しています。会場でみなさまにお会いするのを楽しみにしています。ぜひブースに遊びに来てください! 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/visasq/head.md: -------------------------------------------------------------------------------- 1 | ビザスクは「知見と、挑戦をつなぐ」をミッションに掲げ国内外 56 万人超の知見データベースを活用しナレッジプラットフォームを運営しています。新規事業開発、人材育成、グローバル戦略等、課題を抱える法人・個人と知見を持つ個人を 1 時間からのインタビューなどあらゆる手法でマッチングするサービスを展開しています。 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## 📝 解決したい問題 / Problems to be Solved 2 | 3 | ## 💡 問題を解決するために / To Solve Problems 4 | 5 | ## 🎨 この Issue の完了条件 / Completion for this Issue 6 | 7 | ## 📚 参考 / Reference 8 | -------------------------------------------------------------------------------- /app/assets/namecard/hook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/harlan-zw/profile.md: -------------------------------------------------------------------------------- 1 | Harlan Wilton is an open-source developer from Sydney, Australia. He's a core team member of Nuxt and UnJS. Author of Unlighthouse, Unhead and Nuxt SEO. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/northprint/head.md: -------------------------------------------------------------------------------- 1 | We will introduce Vue.js as an excellent choice of front-end framework for building visualization web applications in Geographic Information Systems (GIS). 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/harlan-zw/profile.md: -------------------------------------------------------------------------------- 1 | Harlan Wilton is an open-source developer from Sydney, Australia. He's a core team member of Nuxt and UnJS. Author of Unlighthouse, Unhead and Nuxt SEO. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/coconala/head.md: -------------------------------------------------------------------------------- 1 | ココナラでは OpenAI を利用してユーザーがサービスを出品する際にサービス内容の提案する AI アシスタント機能をリリースいたしました。 2 | 本セッションでは、その実現方法として OpenAI API を Nuxt.js の server/api に組み込む手法についてお話しします。 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/medpeer/head.md: -------------------------------------------------------------------------------- 1 | メドピア株式会社では多くの医療系・ヘルステックサービスを提供していますが、多くのサービスで Vue.js を採用しています。 2 | Vue2 の EOL の 2023/12/31 が迫る中、各サービスがどのように Vue3 への migration にアプローチした(している)のかご紹介します。 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/mntsq/head.md: -------------------------------------------------------------------------------- 1 | MNTSQ(モンテスキュー)は、全ての合意をフェアにすることを目指し、大企業の契約業務を変革する AI SaaS を開発しています。最高の UI/UX 体験の提供という我々の挑戦を支えるのが Vue.js です。 2 | https://youtu.be/pK3wSF-XmaI?si=pOi0GCUMpDRf1QLU 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/raksul/head.md: -------------------------------------------------------------------------------- 1 | 「仕組みを変えれば、世界はもっと良くなる」というビジョンのもと、印刷、広告というデジタル化が進んでいない産業に IT を持ち込み、より良い世界にすることを目指します。 2 | 弊社のプロダクトでは Vue.js を採用しています。産業構造を新しくするプロダクトをともにつくっていくエンジニアを絶賛募集しています。 3 | -------------------------------------------------------------------------------- /app/types/i18n.ts: -------------------------------------------------------------------------------- 1 | import all from '~/assets/locale/all' 2 | 3 | type AllSchema = typeof all 4 | 5 | declare module 'vue-i18n' { 6 | export interface DefineLocaleMessage extends AllSchema {} 7 | } 8 | -------------------------------------------------------------------------------- /app/content/en/sessions/fuqda/head.md: -------------------------------------------------------------------------------- 1 | This section discusses the state management methods in the Pub/Sub pattern using the Composition API with code examples, including comparisons with other methods. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/chocodogmagic/profile.md: -------------------------------------------------------------------------------- 1 | 大手企業の Web サイト/Web アプリ開発をしながら新人エンジニア育成やテクニカルディレクションを兼務しています。Vue.js/Nuxt・CMS・アクセシビリティ・セマンティック HTML が得意。技術コミュニティ PWA Night と v-okinawa の運営メンバーで、ポケモンとスプラ好き。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/sapphi-red/profile.md: -------------------------------------------------------------------------------- 1 | Vite の core team member。東京工業大学情報通信系の修士学生。東工大デジタル創作同好会 traP で、サークル内で利用するツールの開発・運用する SysAd 班のリーダーをしていました。現在は Vite へコントリビュートをしつつ、ポケットサイン株式会社で Web エンジニアをしています。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/personal-sponsors-caption.md: -------------------------------------------------------------------------------- 1 | なお、**Vue Fes Japan へのご参加には、個人スポンサーチケットとは別に、一般チケットも必要**となります。**個人スポンサーチケットのみではご入場いただけません**ので、ご注意ください。当日ご参加にならない場合は、個人スポンサーチケットのみのご購入も可能です(特典はクレジット掲載のみとなります)。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/line-yahoo-communications/head.md: -------------------------------------------------------------------------------- 1 | LINE ヤフーコミュニケーションズの開発組織には 100 名を超えるエンジニアが所属し、「LINE」「LINE Creators Market」「LINE スキマニ」など、多様なサービス開発を手掛けています。2021 年より柔軟な働き方を促進することで福岡にとどまらず全国のエンジニアが働いています。 2 | -------------------------------------------------------------------------------- /app/providers/UserProvider.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /tests/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /app/content/ja/sessions/nozomu-ikuta/profile.md: -------------------------------------------------------------------------------- 1 | グローバル・ブレイン株式会社というベンチャーキャピタルで、ソフトウェアエンジニアとして社内の投資案件管理システムや社内ポータルを開発しています。OSS 活動としては、2022 年より Vue.js 日本ユーザーグループに参加して各種イベントの運営をおこなったり、Nuxt 関連のレポジトリにコントリビューションをおこなっています。 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/ota-meshi/profile.md: -------------------------------------------------------------------------------- 1 | eslint-plugin-vue、eslint-plugin-svelte のメンテナー。 2 | Vue.js Core Team メンバー。Svelte、Stylelint、Stylus、Intlify、ESLint Community のチームメンバー。 3 | オフラインイベントに登壇するのは初めてです。よろしくお願いします。 4 | -------------------------------------------------------------------------------- /app/types/supabase.ts: -------------------------------------------------------------------------------- 1 | export { Database } from './generated/supabase' 2 | 3 | import { Database } from './generated/supabase' 4 | export type FormEventUser = Database['public']['Tables']['event_users']['Insert'] 5 | -------------------------------------------------------------------------------- /app/composables/useDialog.ts: -------------------------------------------------------------------------------- 1 | export function useDialog() { 2 | const isShow = ref() 3 | 4 | function handle(flag: boolean) { 5 | isShow.value = flag 6 | } 7 | 8 | return { isShow, handle } 9 | } 10 | -------------------------------------------------------------------------------- /app/content/en/sessions/baseballyama/profile.md: -------------------------------------------------------------------------------- 1 | Lately I've been concentrating on Python (machine learning). 2 | Flyle, Inc. is a product management platform that promotes user-centric product and service development. 3 | -------------------------------------------------------------------------------- /app/content/en/top/sponsors.md: -------------------------------------------------------------------------------- 1 | We are looking for sponsors to make Vue Fes Japan 2023, where people related to Vue.js gather, a better conference. Please refer to the document for details such as the application schedule. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/yappli/head.md: -------------------------------------------------------------------------------- 1 | Yappli は、アプリ開発・運用・分析をノーコード(プログラミング不要)で提供するアプリプラットフォームです。導入企業は 600 社を超え、店舗や E コマースなどのマーケティング支援から、社内や取引先とのコミュニケーションをモバイルで刷新する社内 DX(デジタルトランスフォーメーション)、バックオフィスや学校法人の支援まで、幅広い業界の課題解決に活用されています。 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/patak-dev/head.md: -------------------------------------------------------------------------------- 1 | Vite development and growth have been fuelled by the collaboration between many projects. In this talk, we'll learn about some of these stories and their impact on the Vite ecosystem. 2 | -------------------------------------------------------------------------------- /app/content/en/top/store.md: -------------------------------------------------------------------------------- 1 | The Vue Fes Store, where you can purchase original goods exclusive to Vue Fes Japan, will be available again this year. 2 | 3 | Let's get excited about Vue Fes Japan by stocking up on original goods! 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/patak-dev/head.md: -------------------------------------------------------------------------------- 1 | Vite development and growth have been fuelled by the collaboration between many projects. In this talk, we'll learn about some of these stories and their impact on the Vite ecosystem. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/hacomono/head.md: -------------------------------------------------------------------------------- 1 | 話者の所属する hacomono はここ数年でぐっとお客様も増え、それに比例して品質に対する期待値も高まっています。 2 | 一方で、製品にはテスト基盤が薄く、リグレッションやリファクタリングできないといった課題が強く意識されるようになりました。 3 | 本セッションでは、テスト導入に向けた戦略やそのために行ってきた準備と、その結果をお話できればと思います。 4 | -------------------------------------------------------------------------------- /app/assets/sponsor/polygon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/53able/profile.md: -------------------------------------------------------------------------------- 1 | In order to reduce and not increase our technical debt, we are migrating the front end of our Rails applications to Vue.js. 2 | My recent focus is on product development using generative AI. 3 | -------------------------------------------------------------------------------- /app/content/en/top/event.md: -------------------------------------------------------------------------------- 1 | In addition to the sessions and lightning talks, we have many other plans to help you enjoy Vue.js even more in Vue Fes Japan 2023. Please stop by.
2 |
3 | 4 | - All images are for reference only. 5 | -------------------------------------------------------------------------------- /app/content/ja/sessions/mew-ton/head.md: -------------------------------------------------------------------------------- 1 | プロジェクトは Nuxt2 で、ページ数やコンポーネントの数、コードの絡み具合から、どうしても Nuxt Bridge を使ってのマイグレーションは困難と判断せざるを得なかった。 2 | そこで、元の資産に手を加えずに、ページ単位で Nuxt3 にどうやって移行していくかを考えていくことにした。 3 | 試行錯誤の末、マイクロフロントエンドのフレームワークが生まれてしまったのでした。 4 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/mntsq/head.md: -------------------------------------------------------------------------------- 1 | 今年、とあるカンファレンスのある一枚のスライドに目が止まりました。 2 | 「どうでもいいことは流行に従い、重要なことは標準に従い、ドメインのことは自ら設計する。」 3 | 4 | MNTSQ のフロントエンド開発の中で流行に敏感な所、 5 | 標準との乖離をコントロールしている所、 6 | そして機械学習プロダクトにおけるフロントエンドの設計についてご紹介します。 7 | -------------------------------------------------------------------------------- /app/providers/Provider.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /app/content/en/sessions/nozomu-ikuta/head.md: -------------------------------------------------------------------------------- 1 | Although Nuxt 3 is becoming somewhat popular, the existence of unjs, which underlies Nuxt 3, may not be so well known. In this session, we will explain what unjs is and how it is used in Nuxt 3. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/t0yohei/head.md: -------------------------------------------------------------------------------- 1 | 自社のデザインシステムを構築していくにあたり、Vue を使って Grid System を実装する機会がありました。Grid System の実装は CSS の media query における仕様上の問題もあり、中々上手く実装できないのが現状です。検討したいくつかの Grid System 実装パターンと、実際に採用したものをそれぞれのメリット・デメリットなど踏まえてお話しできればと思います。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/jetbrains/head.md: -------------------------------------------------------------------------------- 1 | JetBrains はソフトウェア開発者とチームの生産性向上に役立つインテリジェントなツールの制作を専門とするグローバルソフトウェア企業です。WebStorm や IntelliJ IDEA 等の JetBrains IDE には Vue.js 開発に便利な様々な機能が搭載されています。最新のバージョンでは Volar 統合も追加され、より様々なコーディング支援が利用可能になっています。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/plaid/head.md: -------------------------------------------------------------------------------- 1 | プレイドでは KARTE というサービスを開発しています。KARTE は Web サイトやアプリ上でのユーザー行動をリアルタイムに解析し、エンドユーザーにとって最適な体験を提供するための「CX(顧客体験)プラットフォーム」です。Vue.js は、誕生した 2014 年から使用しています。React や Svelte なども社内で使われていますが、主要な機能の多くは Vue.js で実装されています。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/stores/head.md: -------------------------------------------------------------------------------- 1 | STORES の CTO 藤村が技術や技術じゃないことについてざっくばらんに話す Podcast『論より動くもの.fm』の Vue Fes Japan 2023 出張版を開催します。STORES のエンジニアで、Nuxt Bridge のコントリビュータである wattanx と Nuxt やコントリビュートのきっかけなどについてお話します。ランチを食べながら軽快なトークをお楽しみください! 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json", 4 | "compilerOptions": { 5 | "types": ["@nuxt/types", "@nuxtjs/i18n", "@nuxtjs/device", "cypress", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/content/en/sessions/keima/profile.md: -------------------------------------------------------------------------------- 1 | I am the Chief Product Officer (CPO) of STUDIO, Inc. I am good at interaction design and implementation of complex GUI. Recently, I am challenging PMF in North America for products in the web design field. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/yuta-ichihara/profile.md: -------------------------------------------------------------------------------- 1 | - Joined coconala, Inc. in 2020 after working as a client/server side engineer for games and a front-end engineer for the travel industry 2 | - First encounter with Vue.js in 2018 3 | - Cat school 4 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/link-and-motivation-group/head.md: -------------------------------------------------------------------------------- 1 | このセッションでは、開発リードタイムの短縮を目指した Vue.js のリファクタリング事例を紹介します。 2 | 具体的な事例を交えながら Vue3 を活用した設計方針や、その新しいソースコードを開発者がキャッチアップする上で良かったポイント・反省点をお話します。 3 | Vue.js を活用して開発生産性の向上を実現した 1 つの事例として、ご参考になれば嬉しいです。 4 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/future-architect/head.md: -------------------------------------------------------------------------------- 1 | フューチャーでは、各分野に精通するエンジニアが多数在籍しコミッタ―としても活躍しています。エンジニアが実装のみならず業務改革などのコンサルティングも行い、様々な業界のお客様の「経営と IT」を支援しています。現在も社会にインパクトのあるプロジェクトを数多く手掛けており、エンジニアを募集中です!!Vue.js は多くのプロジェクトで活用しており、今後もコミュニティへの貢献を通じて社会の発展に寄与します。 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/hacomono/head.md: -------------------------------------------------------------------------------- 1 | hacomono は、フィットネスクラブをはじめとするウェルネス産業向けのバーティカル SaaS です。店舗の入会・予約・決済・会員管理をデジタル化することで、働く人や運動する人の店舗体験をスマートに変えてきました。現在 4,000 店舗に導入、前年比 3 倍以上で増えています。hacomono は、フロントエンドに nuxt を採用しており、引き続き Vue Fes Japan の今後の発展に貢献してまいります! 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/medpeer/head.md: -------------------------------------------------------------------------------- 1 | メドピアグループは現役の医師が経営する IT 企業です。 国内医師の約半数が参加するドクタープラットフォーム「MedPeer」を中心に、予防医療からプライマリケア、介護支援まで、様々な医療領域を支える事業を展開。 その多くが Vue.js や Nuxt.js で開発されています。詳しくは、開発者ブログをご覧ください! 2 | https://tech.medpeer.co.jp/entry/nuxt-monorepo 3 | -------------------------------------------------------------------------------- /app/content/ja/top/event-vuejs-clinic.md: -------------------------------------------------------------------------------- 1 | Vue.js に関して困っていること、素朴な疑問、ベストプラクティスなどをエキスパートになんでも質問しましょう! 質問はもちろん日本語で OK。事前、もしくは当日に https://liveq.page/ja/bloAAOkr4QG7HCKNuNXJ で質問を投稿してください。 2 | 3 | - ※時間の都合上、すべての質問にはお答えできかねる場合がございます。 4 | - ※登壇者は予告なく変更される可能性があります。 5 | -------------------------------------------------------------------------------- /tests/cypress/types/cypress.d.ts: -------------------------------------------------------------------------------- 1 | declare let global: typeof globalThis 2 | 3 | declare namespace Cypress { 4 | interface Chainable { 5 | checkPageIdle(): void 6 | debuglog(message: string): void 7 | debugnode(): void 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/coconala/head.md: -------------------------------------------------------------------------------- 1 | coconala has released an AI assistant function that suggests service contents when users list their services using OpenAI. 2 | In this session, we will discuss how to integrate OpenAI API into Nuxt.js server/api. 3 | -------------------------------------------------------------------------------- /app/content/en/top/volunteer.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 is looking for volunteer staffs to help with the day-of operations. Volunteer staffs can attend the conference free of charge while helping with operations. Please see the application form below for more details. 2 | -------------------------------------------------------------------------------- /app/types/global.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' 2 | 3 | declare module '*.yaml' 4 | 5 | // 削除したい、nuxt 3.6.5 内で使用している nitropack のバージョンと不一致のため 6 | declare module 'nitropack' { 7 | interface NitroRuntimeConfigApp { 8 | baseURL: string 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/vitest/types/vitest.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface ImportMetaVitest { 4 | readonly it: Function 5 | readonly expect: Function 6 | } 7 | 8 | interface ImportMeta { 9 | readonly vitest: ImportMetaVitest 10 | } 11 | -------------------------------------------------------------------------------- /app/content/en/sessions/fuqda/profile.md: -------------------------------------------------------------------------------- 1 | I am a front-end engineer with a back-end background, and I was an organizer of a local Ruby community called Tama.rb in the past. Currently, I am developing the front-end for a product called Paytner Invoices at Paytner, Inc. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/saimon-nozaki/profile.md: -------------------------------------------------------------------------------- 1 | I work for hacomono, Inc. a provider of membership, reservation, and payment management systems focused on the wellness industry. I am interested in designing and creating experiences that are easy for humans to handle. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/kazumasa-yamamoto/profile.md: -------------------------------------------------------------------------------- 1 | 2012 年に芝浦工業大学工学部情報工学科を卒業し、鉄道関連システムの開発を行う会社でプログラマとして 6 年勤務ののち、2018 年からはユニークビジョン株式会社で SNS マーケティングツール「Beluga」シリーズの開発に従事。 2 | 学生時代からコンピュータ将棋の開発に携わっており、2015 年には世界コンピュータ将棋選手権で 9 位の成績を収める。 3 | 趣味はスポーツ観戦、将棋、キャンプ、リアル脱出ゲーム。 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/mizdra/head.md: -------------------------------------------------------------------------------- 1 | `.vue` でエディタの補完機能などを効かせるために、Vue Language Server というツールがあります。実はこのコアは Volar.js という OSS に切り出されています。Volar.js は "あらゆる組み込み言語" のためのフレームワークであり、Vue.js 以外にも利用できる汎用性を備えています。このセッションでは Volar.js が一体どういうものなのか、そしてその汎用性がどのような可能性を秘めているのかについてお話します。 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/atinux/profile.md: -------------------------------------------------------------------------------- 1 | Author of Nuxt and CEO at NuxtLabs. I am passionate about open source and developer experience. I strive to make the web faster and create the flow feeling for developers by making the best tools to express their full creativity. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/ota-meshi/profile.md: -------------------------------------------------------------------------------- 1 | Maintainer of eslint-plugin-vue and eslint-plugin-svelte. 2 | Vue.js Core Team member. team member of Svelte, Stylelint, Stylus, Intlify, and ESLint Community. 3 | This is my first time to speak at an offline event. Best regards. 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/yamanoku/profile.md: -------------------------------------------------------------------------------- 1 | I am a father of one child, owner of three cats and a large dog. I work as a front-end designer in areas related to front-end development and design, and I am always thinking about how to improve usability using web technologies. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/atinux/profile.md: -------------------------------------------------------------------------------- 1 | Author of Nuxt and CEO at NuxtLabs. I am passionate about open source and developer experience. I strive to make the web faster and create the flow feeling for developers by making the best tools to express their full creativity. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/wattanx/head.md: -------------------------------------------------------------------------------- 1 | Nuxt Bridge を利用することで、Nuxt 3 移行が進めやすくなることをご存知でしょうか? 2 | Nuxt 3 へ移行したいけど、プロダクトの規模が大きくて移行が難しいし、どうやって進めていけば良いのか…そんな気持ちになったことがある人も多いと思います。 3 | 4 | このセッションでは、Nuxt Bridge を利用することでどれくらい Nuxt 3 移行が進めやすくなっているか、STORES ネットショップでの実例を交えてお話いたします。 5 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/cloudsign/head.md: -------------------------------------------------------------------------------- 1 | クラウドサインは、契約の締結から管理までデジタルで完結させる契約マネジメントプラットフォームです。 2 | 3 | 事業成長と共に、日々の機能リリースに伴いフロントエンドが大規模化してきました。 4 | そして、サービスの特性上、堅確性のある変更が求められ、 5 | 容易に Vue2 から Vue3 へアップデートできる状況ではありませんでした。 6 | 7 | 本セッションでは、これらの課題を解決しつつ移行した取り組みをご紹介します。 8 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/unique-vision/head.md: -------------------------------------------------------------------------------- 1 | ユニークビジョンは、SNS アカウント管理、CRM、SNS キャンペーンなどを通じて、企業と生活者のつながりを提供する SNS マーケティングツール「Beluga シリーズ」を開発・提供している会社です。 2 | このセッションでは、Beluga シリーズの UI/UX の統一や品質・開発生産性向上を目的にチーム横断で開発・メンテナンスしている社内 UI コンポーネントライブラリが社内全体の技術力向上にも寄与した事例をご紹介します。 3 | -------------------------------------------------------------------------------- /app/content/en/sessions/chocodogmagic/profile.md: -------------------------------------------------------------------------------- 1 | I'm a developer of websites and web apps for major companies, and also works as a trainer of new engineers and technical director. I'm a member of PWA Night and v-okinawa, a technical community, and loves Pokemon and Splatoon. 2 | -------------------------------------------------------------------------------- /app/content/ja/top/contact.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan にご興味をいただき、ありがとうございます。Vue Fes Japan へのご質問およびお問い合わせは、以下のフォームよりお願いいたします。通常、担当者より 3 営業日以内にご返信いたします。3 営業日以内に返信がない場合、お手数ですが [Twitter](https://x.com/vuefes){:target="\_blank"} の DM よりご連絡ください。なお、スポンサー、スピーカー、参加チケットについては確定次第、公式サイトでお知らせする予定です。 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/daisuke-fujimura/profile.md: -------------------------------------------------------------------------------- 1 | I have over 15 years of experience as a software developer, focusing on back-end and front-end development. In addition to writing code, I have experience in team building, hiring, and technical strategy development as a manager. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/yud0uhu/profile.md: -------------------------------------------------------------------------------- 1 | A new engineer from Hokkaido, I joined DMM.com as a new graduate in 2011 and am involved in the development of the front-end team for DMM TV, which was released last December. Recently, he is into B-movies and abura soba (fried noodle soup). 2 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "editorconfig.editorconfig", 5 | "esbenp.prettier-vscode", 6 | "Vue.volar", 7 | "Vue.vscode-typescript-vue-plugin", 8 | "yaelguilloux.pinceau-vscode" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /app/content/en/sessions/mew-ton/profile.md: -------------------------------------------------------------------------------- 1 | My name is mew-ton. It's nice to meet you in real life, as I was speaking as an avatar at vue-fes 2022. My hobbies are front-end, VR, and playing the electric organ, and I organize a monthly social gathering for front-end engineers on VRChat. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/shohei-ogata/profile.md: -------------------------------------------------------------------------------- 1 | I am involved in the development of the administration screen used by store owners on the e-commerce platform "Color Me Shop". 2 | I write JavaScript (TypeScript), PHP, and Ruby in my work, and I have about 4 years of experience with Vue.js. 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/cloudsign/head.md: -------------------------------------------------------------------------------- 1 | クラウドサインは、契約の締結から管理までデジタルで完結させる契約マネジメントプラットフォームです。企業や自治体などでの導入実績 250 万社を超える電子契約市場 No.1 の電子契約サービスです。Vue.js はサービス初期から活用しており、プロダクトを長年支えてきました。今年は長らく待ち望んでいたオフライン開催。クラウドサインとしても運営の皆様をはじめ、参加者の方々と一緒に Vue.js のコミュニティを盛り上げていきたいと思います。当日会場でお会いできるのを楽しみにしております。 2 | -------------------------------------------------------------------------------- /app/content/ja/top/event-panel-discussion.md: -------------------------------------------------------------------------------- 1 | トレンドの移り変わりが激しいフロントエンド業界! Vue 以外にも React や Svelte、Solid、Astro といった様々なフレームワークが存在しており、「どの技術を採用してフロントエンドを開発すればいいんだろう……」と悩まれている方も多いのではないでしょうか? 2 | 3 | このパネルディスカッションでは、技術選定や Vue を採用したプロダクト開発に関わった技術者に登壇いただき、数あるフレームワークの中から「なぜ Vue を選んだのか?」をテーマに語り合います。 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/northprint/profile.md: -------------------------------------------------------------------------------- 1 | Resident of Asahikawa City, Hokkaido. I am back in Hokkaido for various reasons and belong to a company that specializes in location information and visualization. I used to work with a lot of people who liked Flash. I like front-end development. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/medpeer/head.md: -------------------------------------------------------------------------------- 1 | MedPeer, Inc. provides a number of medical and health tech services, many of which use Vue.js. 2 | With the Vue2 EOL approaching 2023/12/31, we would like to introduce how each service has approached (or is approaching) the migration to Vue3. 3 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/stores/head.md: -------------------------------------------------------------------------------- 1 | STORES CTO Fujimura will talk about technical and non-technical topics on Vue Fes Japan 2023 with wattanx, a STORES engineer and Nuxt Bridge contributor. and how he got involved with Nuxt and Nuxt Bridge. Please enjoy a light-hearted talk over lunch! 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/hiroshi-azumi/profile.md: -------------------------------------------------------------------------------- 1 | MNTSQ, LTD. Engineer (Front End) 2 | Flash > perl > Java > python > php 3 | After that, he worked on front-end, smartphone app PM, and behavioral analysis before assuming his current position in February 2022. 4 | He has 8 years of experience with Vue.js. 5 | -------------------------------------------------------------------------------- /app/content/en/sessions/sorami/profile.md: -------------------------------------------------------------------------------- 1 | I do data visualization and map production. Originally, I was doing research and development of natural language processing. I am interested in "tools for thinking" including languages and maps, etc. I moved to Hokkaido in the spring of 2022. I like asparagus. 2 | -------------------------------------------------------------------------------- /app/middleware/error.ts: -------------------------------------------------------------------------------- 1 | import { useNamecard } from '~/composables/useNamecard' 2 | 3 | export default defineNuxtRouteMiddleware((to) => { 4 | const { canRegister } = useNamecard() 5 | if (canRegister) return 6 | 7 | throw createError({ statusCode: 404, statusMessage: 'Page Not Found' }) 8 | }) 9 | -------------------------------------------------------------------------------- /app/composables/useUserStore.ts: -------------------------------------------------------------------------------- 1 | import { storeKey } from '~/atoms/user' 2 | 3 | export function useUserStore() { 4 | const store = inject(storeKey) 5 | 6 | if (!store) { 7 | throw new Error() 8 | } 9 | 10 | const signedUser = store.user.value 11 | 12 | return { signedUser } 13 | } 14 | -------------------------------------------------------------------------------- /app/content/en/sponsors/mntsq/head.md: -------------------------------------------------------------------------------- 1 | MNTSQ (Montesquieu) is developing an AI SaaS to transform the contracting operations of large companies with the goal of making every agreement fair. Vue.js supports our challenge to provide the best UI/UX experience. 2 | https://youtu.be/pK3wSF-XmaI?si=pOi0GCUMpDRf1QLU 3 | -------------------------------------------------------------------------------- /app/content/ja/sponsor-sessions/gmo-internet-group/head.md: -------------------------------------------------------------------------------- 1 | EC プラットフォームの「カラーミーショップ」では、様々なプロジェクトで Vue.js を活用しています。 2 | Nuxt を採用するアプリケーションやシンプルな SPA を開発・運用していますが、中にはフロントエンド開発環境が十分に整っていないプロジェクトも存在しています。 3 | Vue.js の 「defineCustomElement」を活用することで、これらすべての環境に導入可能でサービス共通で利用できる UI ライブラリの構築を目指し、開発に活用している事例をご紹介します。 4 | -------------------------------------------------------------------------------- /app/assets/logo/menu_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/content/en/top/prepare-namecard.md: -------------------------------------------------------------------------------- 1 | After purchasing a ticket, if you register the necessary information, you will receive your avatar + name card with your name at the venue on the day! (Social login required) 2 | We are currently preparing for the function of creation a name card, so please wait for a while. 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/hitoki-wakugawa/head.md: -------------------------------------------------------------------------------- 1 | 弊社のオンラインストア(tential.jp)の開発のメインは Nuxt フレームワークで作られています。EC の機能改善の施策は毎日練られておりますが、機能改善の実現には開発速度がボトルネックになっており、開発サーバーを立ち上げる際の webpack ビルド速度が顕著でした。 2 | Nuxt3 に移行することで、ネックだったビルド速度の向上、加えて ECS インスタンスあたりのパフォーマンスが上がりました。開発・顧客体験の両面から、どう変化したか、どのようにパフォーマンスを改善したか、実際の以降の方法をお伝えします。 3 | -------------------------------------------------------------------------------- /app/content/en/sessions/hieu/head.md: -------------------------------------------------------------------------------- 1 | Vue.js, a popular JavaScript framework, but the managing and handling error are limited. I would to introduce the system's errorHandler function can upgrade your workflow development and improve application performance. Learn how to effectively handle and optimize your codebase. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/hieu/head.md: -------------------------------------------------------------------------------- 1 | Vue.js, a popular JavaScript framework, but the managing and handling error are limited. I would to introduce the system's errorHandler function can upgrade your workflow development and improve application performance. Learn how to effectively handle and optimize your codebase. 2 | -------------------------------------------------------------------------------- /app/assets/logo/arrow_down_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/content/en/sponsors/lapras/head.md: -------------------------------------------------------------------------------- 1 | LAPRAS analyzes the blogs and SNS of engineers and automatically generates a portfolio to visualize your daily contributions, allowing you to check your technical score calculated from your SNS activity and other information. We support you in realizing a better life as an engineer. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/plaid/head.md: -------------------------------------------------------------------------------- 1 | Plaid is developing a service called KARTE, a "customer experience (CX) platform" that analyzes user behavior on websites and apps in real time to provide the best experience for end users. React and Svelte are also used internally, but most of the key features are implemented in Vue.js. 2 | -------------------------------------------------------------------------------- /app/content/en/top/namecard.md: -------------------------------------------------------------------------------- 1 | After purchasing a ticket, if you register the necessary information, you will receive your avatar + name card with your name at the venue on the day! (Social login required) Due to printing constraints, name card information registration will be accepted until 24:00 on October 3, 2023 (Tuesday). 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/link-and-motivation-group/head.md: -------------------------------------------------------------------------------- 1 | リンクアンドモチベーションは、2000 年に世界初「モチベーション」をテーマとした経営コンサルティング会社として創業。 2 | 2016 年のモチベーションクラウドリリース以降、BtoB、BtoC と幅広く 5 プロダクトを展開している。 3 | 2018 年より開発組織の内製化をスタートし約 5 年で 100 名規模に成長。 4 | リアーキテクチャにも積極的に取り組み、開発者体験向上・開発生産性向上にも注力している。 5 | 2022 年 12 月末時点で MRR は 3.2 億円を達成し毎年 130%超で成長を続けている。 6 | -------------------------------------------------------------------------------- /app/content/en/sessions/53able/head.md: -------------------------------------------------------------------------------- 1 | This session will examine what approaches to component design are effective for increasing the flexibility and maintainability of Single File Component (SFC) in Vue.js. 2 | Based on the SOLID principles, we will discuss each principle individually and explain how to apply them to SFC in Vue.js. 3 | -------------------------------------------------------------------------------- /app/content/en/top/close-namecard.md: -------------------------------------------------------------------------------- 1 | After purchasing a ticket and registering the necessary information, you will receive a name card with your avatar and name on it at the venue on the day of the event! (Social login required) 2 | We have ended providing the function, and would like to thank everyone who has created an avatar. 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/ota-meshi/head.md: -------------------------------------------------------------------------------- 1 | 2017 年 eslint-plugin-vue v3.0 がリリースされてから.vue ファイルを完全に解析できるようになり、これまでに多くのチェックルールを追加しながら Vue の大きな変化にも対応してきました。さらに今でも Vue v2/v3 両方の構文を解析していることからもわかるように、大きな破壊的変更を避けながら発展してきています。 2 | しかしながら、当時は存在していなかったエコシステムとの連携についてなどの課題も出てきています。 3 | セッションでは eslint-plugin-vue と関連するツールの現状と今後の構想についてお話ししたいと思います。 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/sorami/head.md: -------------------------------------------------------------------------------- 1 | この発表では、Web における 3D データ可視化の現状や課題について、特に Vue.js と CesiumJS を用いた事例をもとに解説します。 2 | 3 | 産業技術総合研究所(産総研)が提供する「AIST 3DDB Client」を題材に、3D データを扱う上で気をつけるべき点や、Vue.js でデータ可視化や地図のライブラリを用いる際のヒントを紹介します。様々な 3D データの表示・検索・ダウンロードができるこの Web アプリは、オープンソースソフトウェアとして公開されています: https://github.com/aistairc/aist_3ddb_client 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/takahiro-shinoda/profile.md: -------------------------------------------------------------------------------- 1 | I am a front-end engineer at Cloudsign. 2 | 3 | ~ Background~. 4 | As a new graduate in 2020, he was in charge of developing a reservation system for restaurants at a venture company. 5 | Joined Lawyer.com the following year. Currently engaged in front-end improvement of Crowdsign. 6 | -------------------------------------------------------------------------------- /app/content/ja/sessions/sapphi-red/head.md: -------------------------------------------------------------------------------- 1 | マシンスペックを最大限引き出すにあたって、マルチスレッドを活用することは欠かせません。特にバンドラーなどのツールは、処理するファイル数に応じて処理量が増え、シングルスレッドで行うと時間がかかってしまいます。しかしながら、シングルスレッド指向である JavaScript において、マルチスレッドを活用するにはいくつもの難所が存在します。本セッションでは、Vite を具体例として利用しながら、既存のコードを流用しつつ少ない工数でマルチスレッドを活用するコードに変えるにはどうするかについてお話します。また、マルチスレッドを活用しやすい JavaScript の理想的な設計について考えます。 2 | -------------------------------------------------------------------------------- /app/utils/status.constants.ts: -------------------------------------------------------------------------------- 1 | export const closedSession = true 2 | export const closedSponsor = true 3 | export const closedPersonalSponsor = true 4 | export const closedVolunteer = true 5 | export const closedHandson = true 6 | export const closedEarlyPrice = true 7 | export const closedPrice = true 8 | export const closedPreOrder = true 9 | -------------------------------------------------------------------------------- /app/content/en/sessions/harlan-zw/head.md: -------------------------------------------------------------------------------- 1 | Getting your head tags right is essential for performance and SEO. In this talk, we'll look at using useHead with best practices, advanced third-party usage with Unhead internals and important SEO tags with Vue SSR optimizations. To learn these concepts we'll be doing some live coding on a simple Vue blog. 2 | -------------------------------------------------------------------------------- /app/content/ja/sessions/harlan-zw/head.md: -------------------------------------------------------------------------------- 1 | Getting your head tags right is essential for performance and SEO. In this talk, we'll look at using useHead with best practices, advanced third-party usage with Unhead internals and important SEO tags with Vue SSR optimizations. To learn these concepts we'll be doing some live coding on a simple Vue blog. 2 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | NUXT_GTAG_ID= 2 | NUXT_NEWT_SPACE_UID= 3 | NUXT_NEWT_FORM_UID= 4 | NUXT_RECAPTCHA_WEBSITE_KEY= 5 | # SUPABASE 6 | SUPABASE_URL= 7 | SUPABASE_KEY= 8 | # FEATURES 9 | NUXT_ENABLE_REGISTER_TICKET= 10 | NUXT_ENABLE_REGISTER_NAMECARD= 11 | NUXT_ENABLE_SHOW_TIMETABLE= 12 | NUXT_ENABLE_SHOW_SPEAKER_INFO= 13 | NUXT_ENABLE_SWITCH_LOCALE= 14 | -------------------------------------------------------------------------------- /app/assets/namecard/arrow3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/content/en/sponsors/stores/head.md: -------------------------------------------------------------------------------- 1 | With the mission of "Just for Fun," STORES provides comprehensive support services for the digitalization of stores, including online stores, POS cash registers, cashless payment, online reservation systems, and store app creation. We look forward to meeting you at the event. Please come visit us at our booth! 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/t0yohei/profile.md: -------------------------------------------------------------------------------- 1 | A person who discovered the joy of front-end development after encountering Vue.js. After joining a SIer as a new graduate, he moved to CrowdWorks, Inc. Since then, he has been developing web applications using Rails + Vue.js and promoting Vue.js within the company. Recently, he is an implementer of design systems. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/kazuhiro-kobayashi/profile.md: -------------------------------------------------------------------------------- 1 | Joined Medpeer in October 2019. 2 | He is in charge of the development of "kakari", a support service for converting pharmacies to family pharmacies that connects pharmacies and patients, "kakari for Clinic" that connects clinics and patients, and "Yakubato", a reservation system for medical institutions. 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yamanoku/head.md: -------------------------------------------------------------------------------- 1 | ブラウザ側で画面遷移を制御するクライアントサイドルーティングという手法はサーバーからの待ち時間を無くしスムーズにブラウジングできるようにして、画面遷移における認知負荷を減らす点で活用されています。 2 | Nuxt 3.4 からは実験的に搭載された View Transitions API の設定でスムーズな遷移アニメーションが実現できるようになりました。 3 | 4 | しかし、これらの手法は情報が正しく伝わるかどうかのアクセシビリティ観点から考慮が必要なものです。 5 | 本セッションでは、画面遷移時にどのように情報が伝わっているのか、Nuxt アプリケーションをよりアクセシブルにするためのアプローチを実装例を元に紹介します。 6 | -------------------------------------------------------------------------------- /app/content/en/sessions/hitoki-wakugawa/profile.md: -------------------------------------------------------------------------------- 1 | After studying hardware and software at a technical college, he worked as a software engineer for 5 years. After that, he worked as a full-scratch EC developer at TENTIAL. He has launched payment and logistics infrastructures, and is currently passionate about engineering organization and performance improvement. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/raksul/head.md: -------------------------------------------------------------------------------- 1 | With the vision of "changing the system will make the world a better place," we aim to bring IT to the under-digitalized industries of printing and advertising to make the world a better place. 2 | Our products use Vue.js. We are looking for engineers to work with us to create products that will change the industrial structure. 3 | -------------------------------------------------------------------------------- /app/content/ja/top/ticket.md: -------------------------------------------------------------------------------- 1 | 2023/8/10(木)12:00 から Vue Fes Japan 2023 のチケットを発売開始します。一般チケットはアフターパーティーあり/なしの 2 種類で、全席ランチ付きです。 2 | 3 | オプションとしてハンズオンチケット、個人スポンサーチケットもご用意しております。 4 | 5 | チケットの販売プラットフォームとして PassMarket を利用します。発売開始のタイミングで本 Web サイトにてチケット購入へのリンクが公開されます。購入完了メールの QR コードを当日受付でご提示ください。 6 | 7 | 9/30(土)23:59 までにご購入いただくと、オトクなお値段になる早割もありますので、お買い求めはお早めに!(早割期間を延長しました) 8 | -------------------------------------------------------------------------------- /scripts/renameDir.cjs: -------------------------------------------------------------------------------- 1 | const fs = require('fs-extra') 2 | const { resolve } = require('path') 3 | 4 | fs.moveSync(resolve(__dirname, '../dist/'), resolve(__dirname, '../tmp/')) 5 | 6 | fs.moveSync(resolve(__dirname, '../tmp/'), resolve(__dirname, '../dist/2023/')) 7 | 8 | fs.remove('tmp', (err) => { 9 | if (err) { 10 | throw err 11 | } 12 | }) 13 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "vuefes-2023", 6 | "request": "launch", 7 | "type": "node" 8 | }, 9 | { 10 | "name": "vuefes-2023 (profile mode)", 11 | "request": "launch", 12 | "type": "node", 13 | "flutterMode": "profile" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /app/content/en/sessions/sapphi-red/profile.md: -------------------------------------------------------------------------------- 1 | Core team member of Vite, master student of Information and Communication at Tokyo Institute of Technology. I was the leader of the SysAd group in traP, a digital creation club at Tokyo Tech, which develops and operates tools used in the club. Currently, he contributes to Vite and works as a web engineer at Pocket Signs, Inc. 2 | -------------------------------------------------------------------------------- /app/content/ja/sponsors/unique-vision/head.md: -------------------------------------------------------------------------------- 1 | ユニークビジョンは企業が生活者とつながるための SNS マーケティングツール「Beluga シリーズ」を開発・提供し、年間 800 件を超える SNS キャンペーン(Twitter・LINE・Instagram)を支えています。変化の激しい SNS マーケティング業界において、生産性の高い開発を行うべく、2018 年からほぼ全てのプロダクトで Vue を採用しています。現在は、新規プロダクトは vite+Vue3 の構成を採用し、Vue2 で書かれた 800 のコンポーネントからなるプロダクトの Vue3 移行を行う等、既存プロダクトの Vue3 化にも注力しています。 2 | 今までも、そして、これからも、Vue での開発を行っていきます。 3 | -------------------------------------------------------------------------------- /app/content/en/sponsors/jetbrains/head.md: -------------------------------------------------------------------------------- 1 | JetBrains is a global software company dedicated to creating intelligent tools that help software developers and teams be more productive. JetBrains IDEs such as WebStorm and IntelliJ IDEA include a variety of useful features for Vue.js development. The latest version also adds Volar integration, making a variety of coding aids available. 2 | -------------------------------------------------------------------------------- /app/content/en/top/personal-sponsors-caption.md: -------------------------------------------------------------------------------- 1 | In addition, in order to participate in **Vue Fes Japan, a general ticket is required in addition to individual sponsor ticket**. Please note that **You cannot enter with individual sponsor ticket only**. If you are not going to participate on the day, you can purchase only individual sponsor ticket (privileges will be credited only). 2 | -------------------------------------------------------------------------------- /app/content/ja/top/pre-order.md: -------------------------------------------------------------------------------- 1 | 【事前注文】 2 | 3 | STORES で事前にご注文いただくと、当日 Vue Fes Japan 2023 の会場でのみお受け取りいただけます。ご自宅などへの発送はいたしませんのでご注意ください。 4 |
5 |
6 | ・事前注文受付期間:商品によって異なります。詳しくは STORES の各商品ページをご覧ください。 7 | 8 | ・受取日時:2023 年 10 月 28 日(土) 9:30〜18:00 9 | 10 | ・受取場所:Vue Fes Japan 2023 会場内 Vue Fes Store ブース 11 | 12 |
13 | 当日、お受け取りの際に注文完了メールをお見せください。 14 | -------------------------------------------------------------------------------- /app/content/en/sponsors/mierune/head.md: -------------------------------------------------------------------------------- 1 | MIERUNE is a solution company that supports problem solving by utilizing the world's most advanced location-based technology. Engineers from various backgrounds gather at MIERUNE, and are constantly improving themselves through in-house study sessions and contributions to OSS. We invite you to join us and grow further based on your experience and skills. 2 | -------------------------------------------------------------------------------- /app/composables/useImage.ts: -------------------------------------------------------------------------------- 1 | export function useImage() { 2 | function getBase64(file: File) { 3 | return new Promise((resolve, reject) => { 4 | const reader = new FileReader() 5 | reader.readAsDataURL(file) 6 | reader.onload = () => resolve(reader.result) 7 | reader.onerror = (error) => reject(error) 8 | }) 9 | } 10 | 11 | return { getBase64 } 12 | } 13 | -------------------------------------------------------------------------------- /app/components/social/IconButton.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 19 | -------------------------------------------------------------------------------- /app/content/en/sessions/nozomu-ikuta/profile.md: -------------------------------------------------------------------------------- 1 | As a software engineer at a venture capital firm called Global Brain Corporation, I develop internal investment management systems and internal portals. As for OSS activities, I have been a member of the Vue.js Japan User Group since 2022, organizing various events, and contributing to Nuxt-related repositories, I also contribute to Nuxt related repositories. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/giftee/head.md: -------------------------------------------------------------------------------- 1 | giftee is an e-gifting company whose mission is "to create a society connected by better relationships by promoting the circulation of feelings", and with the help of Vue.js, we provide e-gift products that deliver feelings without meeting in person. As a gift company, we continue to be an organization that "gives knowledge to each other" to the technology community. 2 | -------------------------------------------------------------------------------- /app/content/ja/top/childcare.md: -------------------------------------------------------------------------------- 1 | お父さん・お母さんに集中してカンファレンスを楽しんでいただくため、託児サポートをご用意しました。当日、何らかの託児サービスを利用した方に対して、かかった費用の実費を Vue Fes Japan で補助いたします(上限 15,000 円)。 2 | 3 | ・事前に一般チケットのご購入が必要です。 4 | ・利用する託児サービスは、ご自身でお申し込みください。 5 | ・お申し込み後、サポートの有無に関わらず 5 営業日以内に Vue.js 日本ユーザーグループより今後の流れをメールでご連絡します。 6 | ・開催当日(2023/10/28)に利用した託児サービスの領収書が必要となります。 7 | ・開催後、約 1 ヶ月以内にご指定いただいた銀行口座に振り込みます。 8 | ・先着 20 名で締め切らせていただきますので予めご了承ください。 9 | -------------------------------------------------------------------------------- /app/content/ja/top/speakers.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 に登壇してみませんか? 2 | 3 | Vue とそのエコシステムについて、あなただけが持つ知見と経験を、日本最大級の Vue.js カンファレンスでぜひ日本中に共有してください。 4 | 5 | Vue Fes Japan 2023 では、スピーカー発表を広く一般から募集するため、CFP(Call for Papers)の仕組みを利用し、ご応募に対して Vue Fes Japan 2023 実行委員会が選考の上、正式なセッションとして採用します。 6 | 7 | 30 分間の発表となる「セッション」と 5 分間の「ライトニングトーク(LT)」の 2 つの発表方式を用意しています。 8 | 9 | Vue が大好きでたまらない、そんな皆さんならではのアツい発表をお待ちしています! 10 | -------------------------------------------------------------------------------- /tests/vitest/sample.test.ts: -------------------------------------------------------------------------------- 1 | // the implementation 2 | export function add(...args: number[]) { 3 | return args.reduce((a, b) => a + b, 0) 4 | } 5 | 6 | // in-source test suites 7 | if (import.meta.vitest) { 8 | const { it, expect } = import.meta.vitest 9 | it('add', () => { 10 | expect(add()).toBe(0) 11 | expect(add(1)).toBe(1) 12 | expect(add(1, 2, 3)).toBe(6) 13 | }) 14 | } 15 | -------------------------------------------------------------------------------- /app/content/ja/sessions/kira-puka/head.md: -------------------------------------------------------------------------------- 1 | 私の所属する合同会社めもらばでは、Nuxt3 で受託・自社など複数の開発をしています。 2 | 再利用できるようモジュール化するのがよいのですが、なかなか敷居が高い印象でした。 3 | 4 | 公式のガイドである Module Author Guide をみてみたところ、 5 | 「思ったよりも難しくないのでは?」と感じたため、 6 | Module Author Guide を抜粋しながら内容を紹介できればと思います。 7 | 8 | 大規模や OSS でなくても、知見を貯めておく一つの方法として、 9 | モジュールの作り方に、興味を持っていただけるとうれしいです。 10 | 11 | また、Nuxt2 のモジュール開発については経験がないため、 12 | 比較などはお話できないことご了承ください。。 13 | -------------------------------------------------------------------------------- /app/content/en/sessions/mizdra/head.md: -------------------------------------------------------------------------------- 1 | There is a tool called Vue Language Server to make editor completion and other features work in `.vue`. The core is actually carved out of an OSS called Volar.js, a framework for "any embedded language" that is versatile enough to be used outside of Vue.js. In this session, we will discuss what Volar.js is all about and how its versatility opens up a world of possibilities. 2 | -------------------------------------------------------------------------------- /app/locales/en.ts: -------------------------------------------------------------------------------- 1 | import all from '~/assets/locale/all' 2 | 3 | export default defineI18nLocale(async (locale) => { 4 | return { 5 | words: all.en.words, 6 | top: all.en.top, 7 | category: all.en.category, 8 | track: all.en.track, 9 | sessions: all.en.sessions, 10 | speakers: all.en.speakers, 11 | panelers: all.en.panelers, 12 | sponsors: all.en.sponsors, 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /app/locales/ja.ts: -------------------------------------------------------------------------------- 1 | import all from '~/assets/locale/all' 2 | 3 | export default defineI18nLocale(async (locale) => { 4 | return { 5 | words: all.ja.words, 6 | top: all.ja.top, 7 | category: all.ja.category, 8 | track: all.ja.track, 9 | sessions: all.ja.sessions, 10 | speakers: all.ja.speakers, 11 | panelers: all.ja.panelers, 12 | sponsors: all.ja.sponsors, 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /app/composables/useArray.ts: -------------------------------------------------------------------------------- 1 | export function useArray() { 2 | function valueFilter(value: string) { 3 | if (!value) return '' 4 | 5 | return value.replace(/^"(.+)"$/, '$1').replace(/'/g, '') 6 | } 7 | 8 | function unique(items: T[], key: keyof T) { 9 | return Array.from(new Map(items.map((item) => [item[key], item])).values()) 10 | } 11 | 12 | return { valueFilter, unique } 13 | } 14 | -------------------------------------------------------------------------------- /app/composables/useNamecard.ts: -------------------------------------------------------------------------------- 1 | import { useFeature } from '~/composables/useFeature' 2 | 3 | export function useNamecard() { 4 | const feature = useFeature() 5 | const canPurchase = feature.registerTicket === 'true' 6 | const canRegister = feature.registerNamecard === 'true' 7 | 8 | // 10/4 登録終了 9 | const closedRegister = true 10 | 11 | return { canPurchase, canRegister, closedRegister } 12 | } 13 | -------------------------------------------------------------------------------- /app/content/en/sessions/mew-ton/head.md: -------------------------------------------------------------------------------- 1 | The project was Nuxt2, and due to the number of pages, the number of components, and the tangled code, we had to conclude that migration using Nuxt Bridge would inevitably be difficult. 2 | Therefore, we decided to consider how to migrate to Nuxt3 on a page-by-page basis without modifying the original assets. 3 | After much trial and error, a micro front-end framework was born. 4 | -------------------------------------------------------------------------------- /app/composables/useFeature.ts: -------------------------------------------------------------------------------- 1 | export function useFeature() { 2 | const config = useRuntimeConfig() 3 | 4 | return { 5 | registerTicket: config.public.registerTicket, 6 | registerNamecard: config.public.registerNamecard, 7 | showTimetable: config.public.showTimetable === 'true', 8 | showSpeakerInfo: config.public.showSpeakerInfo, 9 | switchLocale: config.public.switchLocale, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/content/en/sessions/wattanx/head.md: -------------------------------------------------------------------------------- 1 | Did you know that Nuxt Bridge makes it easier to proceed with Nuxt 3 migration? 2 | Many of you may have felt that you would like to migrate to Nuxt 3, but the scale of your product is too large to do so, and you are not sure how to proceed. 3 | 4 | In this session, we will talk about how easy it is to migrate to Nuxt 3 by using Nuxt Bridge, with actual examples from STORES Net Shop. 5 | -------------------------------------------------------------------------------- /app/layouts/default.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | 13 | 22 | -------------------------------------------------------------------------------- /app/content/en/top/event-vuejs-clinic.md: -------------------------------------------------------------------------------- 1 | Ask the experts any questions you may have about Vue.js, including any problems, simple questions, best practices, and more!  Please submit your questions in advance or on the day of the event at https://liveq.page/ja/bloAAOkr4QG7HCKNuNXJ. 2 | 3 | - Please note that due to time constraints, we may not be able to answer all questions. 4 | - Speakers are subject to change without notice. 5 | -------------------------------------------------------------------------------- /app/content/ja/top/handson.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 では、参加されるみなさんが一緒に手を動かしながら Vue.js アプリケーション開発を体験できるハンズオン(実際にコードを書きながら学習するスタイル)を実施します。 2 | 3 | これから Vue.js を学んでみたいという初心者の方から、Vue 3 の新しい開発方法をキャッチアップしたい経験者の方まで、2 時間で Vue.js の基本を習得できます。また、Vue.js 日本ユーザーグループスタッフによる Q&A も行います。 4 | 5 | なお、ハンズオンチケットは好評により全席完売しました。ご参加はハンズオンチケットをお持ちの方のみとなりますのでご注意ください。 6 | 7 | ※ ご参加いただく際は以下のリンクを参考に開発環境を準備しておいてください。 8 | https://handson.vuejs-jp.org/setup.html 9 | -------------------------------------------------------------------------------- /app/content/en/sponsors/visasq/head.md: -------------------------------------------------------------------------------- 1 | VisasQ operates a knowledge platform that utilizes a database of more than 560,000 people in Japan and overseas under the mission of "Connecting Knowledge and Challenges. The company provides a variety of services, including one-hour interviews, to match corporations and individuals with knowledge and expertise in areas such as new business development, human resource development, and global strategy. 2 | -------------------------------------------------------------------------------- /app/content/en/sessions/t0yohei/head.md: -------------------------------------------------------------------------------- 1 | We had an opportunity to implement a grid system using Vue when we were building our own design system, but the implementation of the grid system has been difficult to implement due to the problems with the CSS media query specification. I would like to talk about some of the grid system implementation patterns we considered and the ones we actually adopted, taking into account the merits and demerits of each. 2 | -------------------------------------------------------------------------------- /app/content/en/top/contact.md: -------------------------------------------------------------------------------- 1 | Thank you for your interest in Vue Fes Japan. For questions and inquiries to Vue Fes Japan, please use the form below. A representative will usually respond within 3 business days. If you do not receive a reply within 3 business days, please contact us via DM at [Twitter](https://x.com/vuefes){:target="\_blank"}. Sponsors, speakers, and participation tickets will be announced on the official website as soon as they are confirmed. 2 | -------------------------------------------------------------------------------- /app/assets/namecard/vuefes_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/content/en/sponsors/hacomono/head.md: -------------------------------------------------------------------------------- 1 | hacomono is a vertical SaaS for the wellness industry, including fitness clubs. By digitizing store enrollment, reservations, payments, and membership management, hacomono has changed the store experience for workers and exercisers in a smart way. Currently deployed in 4,000 stores and growing at more than 3x year-over-year, hacomono uses nuxt as its front-end and will continue to contribute to Vue Fes Japan's future growth! 2 | -------------------------------------------------------------------------------- /app/locales/ja-basic.ts: -------------------------------------------------------------------------------- 1 | import all from '~/assets/locale/all' 2 | 3 | export default defineI18nLocale(async (locale) => { 4 | return { 5 | words: all.ja_basic.words, 6 | top: all.ja_basic.top, 7 | category: all.ja_basic.category, 8 | track: all.ja_basic.track, 9 | sessions: all.ja_basic.sessions, 10 | speakers: all.ja_basic.speakers, 11 | panelers: all.ja_basic.panelers, 12 | sponsors: all.ja_basic.sponsors, 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/gmo-internet-group/head.md: -------------------------------------------------------------------------------- 1 | The EC platform "Color Me Shop" utilizes Vue.js in various projects. 2 | We develop and operate Nuxt-based applications and simple SPAs, but some of our projects do not have sufficient front-end development environments. 3 | This presentation will introduce an example of using Vue.js' "defineCustomElement" to build a UI library that can be deployed in all of these environments and used across all of our services. 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/daniel-roe/profile.md: -------------------------------------------------------------------------------- 1 | Daniel leads the Nuxt core team - previously CTO of SaaS startup and founder of a creative agency focusing on clarity of vision and message. His open-source work has a focus in the Vue.js and Nuxt ecosystems and he's involved in consultancy with companies around the world, particularly around JAMstack, serverless and software architecture. He's based in the North East of England where he lives with his family, three cats, and a dog. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/link-and-motivation-group/head.md: -------------------------------------------------------------------------------- 1 | In this session, we will present a case study of refactoring Vue.js to shorten development lead time. 2 | We will discuss the design policy that utilized Vue3 with specific examples, as well as the good points and reflections for developers to catch up with its new source code. 3 | We would be happy if you could refer to this presentation as one example of how Vue.js was used to improve development productivity. 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/daniel-roe/profile.md: -------------------------------------------------------------------------------- 1 | Daniel leads the Nuxt core team - previously CTO of SaaS startup and founder of a creative agency focusing on clarity of vision and message. His open-source work has a focus in the Vue.js and Nuxt ecosystems and he's involved in consultancy with companies around the world, particularly around JAMstack, serverless and software architecture. He's based in the North East of England where he lives with his family, three cats, and a dog. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/mntsq/head.md: -------------------------------------------------------------------------------- 1 | One slide at a conference this year caught my eye. 2 | "Follow the fads for what doesn't matter, follow the standards for what matters, and design your domain yourself." 3 | 4 | This is the trendy part of MNTSQ's front-end development, 5 | MNTSQ's front-end development is a place where we are sensitive to trends and control deviations from the standard, 6 | We will also introduce the design of the front end in machine learning products. 7 | -------------------------------------------------------------------------------- /app/content/en/sponsors/yappli/head.md: -------------------------------------------------------------------------------- 1 | Yappli is an app platform that provides no-code (no programming required) app development, operation, and analysis. More than 600 companies have adopted Yappli, and it is being used to solve problems in a wide range of industries, from marketing support for stores and e-commerce, to internal DX (digital transformation) to innovate mobile communication within the company and with business partners, to support for back-office and school corporations. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/cloudsign/head.md: -------------------------------------------------------------------------------- 1 | CloudSign is a contract management platform that digitally completes the process from contract signing to management. 2 | 3 | As the business has grown, the front end has become larger and larger with daily feature releases. 4 | And due to the nature of the service, robust changes were required, 5 | It was not easy to update from Vue2 to Vue3. 6 | 7 | In this session, we will introduce our efforts to migrate to Vue3 while resolving these issues. 8 | -------------------------------------------------------------------------------- /app/content/en/sponsors/medpeer/head.md: -------------------------------------------------------------------------------- 1 | MedPeer Group is an IT company run by active physicians. Centered on the "MedPeer" doctor platform, in which about half of Japan's physicians participate, the company is developing businesses that support a variety of medical fields, from preventive medicine to primary care and nursing care support. Many of its products are developed with Vue.js and Nuxt.js. For more information, please visit our developer blog! 2 | https://tech.medpeer.co.jp/entry/nuxt-monorepo 3 | -------------------------------------------------------------------------------- /app/content/en/sessions/daniel-roe/head.md: -------------------------------------------------------------------------------- 1 | - As we approach the one-year mark since the release of Nuxt 3, let's take a journey through the past, present, and future of Nuxt and its vibrant ecosystem. We'll reflect on the progress since Nuxt 3 was released and think about what's coming next. 2 | - We'll start with what's possible today, before launching into some of the experimental features that will soon become integral parts of Nuxt ... and even some unannounced things we've been working on behind the scenes. 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/daniel-roe/head.md: -------------------------------------------------------------------------------- 1 | - As we approach the one-year mark since the release of Nuxt 3, let's take a journey through the past, present, and future of Nuxt and its vibrant ecosystem. We'll reflect on the progress since Nuxt 3 was released and think about what's coming next. 2 | - We'll start with what's possible today, before launching into some of the experimental features that will soon become integral parts of Nuxt ... and even some unannounced things we've been working on behind the scenes. 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | pnpm-lock.yaml 3 | 4 | *.log 5 | 6 | .nuxt 7 | .nitro 8 | 9 | nuxt.d.ts 10 | 11 | *.log* 12 | 13 | .output 14 | 15 | .env 16 | 17 | # idea 18 | .idea/.name 19 | .idea/caches/build_file_checksums.ser 20 | .idea/codeStyles/ 21 | .idea/compiler.xml 22 | .idea/copyright/profiles_settings.xml 23 | .idea/dictionaries/ 24 | .idea/libraries/ 25 | .idea/misc.xml 26 | .idea/modules.xml 27 | .idea/scopes/scope_settings.xml 28 | .idea/tasks.xml 29 | .idea/workspace.xml 30 | 31 | dist -------------------------------------------------------------------------------- /app/content/en/top/event-panel-discussion.md: -------------------------------------------------------------------------------- 1 | Trends change rapidly in the front-end industry! In addition to Vue, there are various frameworks such as React, Svelte, Solid, Astro, and etc. Many of you may be wondering "Which technology should I adopt for front-end development ......? ? 2 | 3 | In this panel discussion, engineers involved in technology selection and product development using Vue will take the stage to discuss "Why did we choose Vue? The theme of the panel discussion will be "Why did you choose Vue? 4 | -------------------------------------------------------------------------------- /app/plugins/ga.client.ts: -------------------------------------------------------------------------------- 1 | import VueGtag from 'vue-gtag' 2 | import { useRouter } from '#imports' 3 | 4 | type Router = ReturnType 5 | 6 | export default defineNuxtPlugin((nuxtApp) => { 7 | const config = useRuntimeConfig() 8 | nuxtApp.vueApp.use( 9 | VueGtag, 10 | { 11 | config: { 12 | id: config.public.gtagId, 13 | }, 14 | }, 15 | // NOTE: NuxtAppがエクスポートしている`$router`の型が何か推論されないのでこっち側で明示的に型を指定する 16 | nuxtApp.$router as Router, 17 | ) 18 | }) 19 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/hacomono/head.md: -------------------------------------------------------------------------------- 1 | hacomono, to which the speaker belongs, has seen a significant increase in the number of customers over the past few years, and quality expectations have risen in proportion. 2 | On the other hand, we have become very aware of issues such as the lack of a testing infrastructure for our products and the inability to regress and refactor them. 3 | In this session, I would like to talk about our strategy for introducing testing, the preparations we have made for it, and the results. 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/yud0uhu/head.md: -------------------------------------------------------------------------------- 1 | クロスプラットフォームのデスクトップ版マークダウンエディタを開発しました。当初は Vue3 と Electron を使用していましたが、パフォーマンスに課題を感じ、Tauri に移行を行いました。 2 | Tauri への移行により、マークダウンエディタのパフォーマンスは大幅に向上しました。 3 | 4 | Electron は内部的に Chromium と Node.js を組み合わせたアーキテクチャを採用していますが、これによるメモリ消費量の肥大化と起動時間の遅さが課題でした。特に、大規模なマークダウンファイルの編集やプレビューの表示においては、パフォーマンスの低下が目立ちました。 5 | 6 | Tauri は Electron の代替を目指す Rust 製のフレームワークであり、Electron の優れた特徴を踏襲しつつも、メモリ消費量の軽量化と、起動時間の高速化を実現できるのが特徴です。 7 | 8 | 今回は、Vue3 と Tauri におけるデスクトップアプリ開発の知見や、エディタのパフォーマンス課題がどのように解決したかについてお話ししたいと思います。 9 | -------------------------------------------------------------------------------- /app/composables/useToast.ts: -------------------------------------------------------------------------------- 1 | import { POSITION, useToast as useToastification } from 'vue-toastification' 2 | 3 | export function useToast() { 4 | const toast = useToastification() 5 | 6 | function onSuccess(message: string, timeout: number) { 7 | toast.success(message, { timeout, position: POSITION.TOP_CENTER }) 8 | } 9 | 10 | function onError(message: string, timeout: number) { 11 | toast.error(message, { timeout, position: POSITION.TOP_CENTER }) 12 | } 13 | 14 | return { onSuccess, onError } 15 | } 16 | -------------------------------------------------------------------------------- /app/content/en/sessions/kira-puka/profile.md: -------------------------------------------------------------------------------- 1 | After graduating from a graduate school of information science, he joined an SI company and engaged in software research and development. After working as a freelancer, he established Memoraba LLC. Currently, he is engaged in the development of web services and applications while doing contracted development, and has released SSSAPI, Stacked Reading How Match, Aretoki, etc. He enjoys reading and personal development. Hobbies are reading and personal development. He has a cute daughter. 2 | -------------------------------------------------------------------------------- /app/content/ja/top/current-day-sales.md: -------------------------------------------------------------------------------- 1 | 【当日販売】 2 | 3 | 当日、Vue Fes Japan 2023 会場内 Vue Fes Store ブースにてお買い求めください。ただし、各商品ともに当日販売分は若干数に限られておりますので、確実にご購入いただくには事前注文がオススメです。 4 | 5 |
6 | 当日販売の決済方法は、以下のキャッシュレス決済のみとなります。現金はご利用いただけませんのでご注意ください。 7 | 8 |
9 |
10 | 決済方法: 11 | 12 | 各種クレジットカード、各種交通系電子マネー、iD、QUICPay、Apple Pay、UnionPay、Alipay+、WeChatPay、COIN+、au PAY、d 払い、PayPay、楽天ペイ、J-Coin Pay、Smart Code™ 13 | 14 |
15 | ※ グッズ販売における利益は、すべて Vue Fes Japan の運営、または Vue.js 日本ユーザー
16 |   グループの活動のために大切に使わせていただきます。 17 | -------------------------------------------------------------------------------- /.github/actions/install-packages/action.yml: -------------------------------------------------------------------------------- 1 | runs: 2 | using: 'Composite' 3 | steps: 4 | - name: Use Node.js ${{ matrix.node-version }} 5 | uses: actions/setup-node@v3 6 | with: 7 | node-version: ${{ matrix.node-version }} 8 | 9 | - uses: pnpm/action-setup@v2 10 | name: Install pnpm 11 | id: pnpm-install 12 | with: 13 | version: 8 14 | run_install: false 15 | 16 | - name: Install dependencies 17 | run: pnpm install --frozen-lockfile 18 | shell: bash 19 | -------------------------------------------------------------------------------- /tests/cypress.config.cjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'cypress' 2 | 3 | export default defineConfig({ 4 | e2e: { 5 | setupNodeEvents(on, config) { 6 | // implement node event listeners here 7 | on('task', { 8 | log(message) { 9 | console.log(message) 10 | return null 11 | }, 12 | }) 13 | }, 14 | baseUrl: 'http://localhost:3000', 15 | viewportWidth: 1400, 16 | viewportHeight: 800, 17 | defaultCommandTimeout: 12000, 18 | video: true, 19 | }, 20 | }) 21 | -------------------------------------------------------------------------------- /app/content/en/sponsors/line-yahoo-communications/head.md: -------------------------------------------------------------------------------- 1 | The development organization at LINE Yahoo Communications has over 100 engineers working on the development of diverse services such as "LINE", "LINE Creators Market", and "LINE Sukimani", etc. Since 2021, by promoting flexible work styles, engineers not only from Fukuoka but also from all over Japan have been working at LINE Yahoo Communications. We have been promoting flexible work styles since 2021, so that engineers not only from Fukuoka but also from all over Japan are working for us. 2 | -------------------------------------------------------------------------------- /app/content/en/sponsors/cloudsign/head.md: -------------------------------------------------------------------------------- 1 | CloudSign is a contract management platform that digitally completes everything from contract signing to management. Vue.js has been used since the early days of the service and has supported the product for many years. This year's event will be held offline, which we have been looking forward to for a long time. We at Crowdsign are looking forward to working with the management and other participants to make the Vue.js community more active. We look forward to seeing you at the venue on the day of the event. 2 | -------------------------------------------------------------------------------- /app/components/voice/FrameLeft.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | 24 | -------------------------------------------------------------------------------- /app/content/en/sponsor-sessions/unique-vision/head.md: -------------------------------------------------------------------------------- 1 | Unique Vision is a developer and provider of the Beluga series of SNS marketing tools that provide connections between companies and consumers through SNS account management, CRM, and SNS campaigns. 2 | In this session, we will present a case study of how the in-house UI component library, which is developed and maintained across teams for the purpose of unifying the UI/UX of the Beluga series and improving quality and development productivity, has also contributed to improving the technical capabilities of the entire company. 3 | -------------------------------------------------------------------------------- /app/content/en/top/pre-order.md: -------------------------------------------------------------------------------- 1 | [Pre-order] 2 | 3 | If you order in advance at STORES, you can pick it up only at the Vue Fes Japan 2023 venue on the day. Please note that We do not ship to your home. 4 |
5 |
6 | ・Pre-order acceptance period: Varies depending on the product. Please see each STORES product page for details. 7 | 8 | ・Pick-up date and time: October 28, 2023 (Sat) 9:30-18:00 9 | 10 | ・Pick-up location: Vue Fes Store booth at Vue Fes Japan 2023 venue 11 | 12 |
13 | On the day of pick-up, please show your order completion email. 14 | -------------------------------------------------------------------------------- /app/content/en/sponsors/future-architect/head.md: -------------------------------------------------------------------------------- 1 | Future has a large number of engineers with expertise in various fields who are also active as committers. Our engineers not only provide implementation services, but also consulting services such as business reforms to support "management and IT" for clients in various industries. We are currently working on a number of projects that will have an impact on society, and we are currently looking for engineers! Vue.js is used in many of our projects, and we will continue to contribute to the development of society through our contributions to the community. 2 | -------------------------------------------------------------------------------- /app/composables/useLocaleSwitcher.ts: -------------------------------------------------------------------------------- 1 | import { LocaleObject } from '@nuxtjs/i18n/dist/runtime/composables' 2 | import { useFeature } from '~/composables/useFeature' 3 | 4 | export function useLocaleSwitcher() { 5 | const { switchLocale } = useFeature() 6 | const { locales, locale: currentLocale } = useI18n({ useScope: 'global' }) 7 | 8 | const availableLocales = computed(() => { 9 | return locales.value as unknown as LocaleObject 10 | }) 11 | 12 | const switchLocalePath = useSwitchLocalePath() 13 | 14 | return { switchLocale, currentLocale, availableLocales, switchLocalePath } 15 | } 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue Fes 2023 2 | 3 | This repository is the source code for the Vue Fes Japan 2023 website. 4 | 5 | ## Setup 6 | 7 | ```bash 8 | # pnpm 9 | pnpm install 10 | ``` 11 | 12 | ## Development 13 | 14 | Execute the following command to start the web server with hot reload and check it at http://localhost:3000/. 15 | 16 | For VS Code users, here's what you need to know. Please make use of [Volar's Take Over Mode](https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode), and we recommend to uninstall Vetur in your own environment. 17 | 18 | ```bash 19 | # pnpm 20 | pnpm dev 21 | ``` 22 | -------------------------------------------------------------------------------- /app/components/MarkDownText.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 24 | -------------------------------------------------------------------------------- /app/content/en/sessions/ota-meshi/head.md: -------------------------------------------------------------------------------- 1 | 2017 Since the release of eslint-plugin-vue v3.0, we have been able to fully parse .vue files and have been able to keep up with the major changes in Vue while adding many more checking rules. It has evolved while avoiding major disruptive changes, as evidenced by the fact that it still parses both Vue v2/v3 syntax. 2 | However, there are still issues that need to be addressed, such as the integration with the ecosystem, which did not exist at the time. 3 | In this session, I will discuss the current state of eslint-plugin-vue and related tools and our vision for the future. 4 | -------------------------------------------------------------------------------- /app/content/en/sessions/kazumasa-yamamoto/profile.md: -------------------------------------------------------------------------------- 1 | Graduated from the Department of Information Engineering, Faculty of Engineering, Shibaura Institute of Technology in 2012, and worked as a programmer for 6 years at a company developing railway-related systems, and since 2018 has been engaged in the development of the "Beluga" series of SNS marketing tools at Unique Vision Company, Japan. 2 | He has been involved in the development of computer Shogi since his student days, and in 2015, he placed 9th in the World Computer Shogi Championship. 3 | My hobbies are watching sports, playing Shogi, camping, and real escape games. 4 | -------------------------------------------------------------------------------- /app/content/ja/sessions/baseballyama/head.md: -------------------------------------------------------------------------------- 1 | 弊社 (株式会社フライル) では、18 営業日という超短期でデザインシステムを導入しました。このプロジェクトで得た知見を共有致します。 2 | 3 | 技術的工夫 4 | 5 | - AST を使用して事前にできる限り自動でマイグレーションした上で判別できない部分に全て TODO コメントを自動付与 6 | - ESLint のカスタムルールを実装してできる限りレビューは自動化 7 | - デザインシステムが壊れていないか確認するために VRT を実施 8 | - Autify による E2E テスト 9 | 10 | プロジェクト管理上の工夫 11 | 12 | - 手作業は短期集中でタスクのスイッチングコストをゼロに 13 | - 進捗は数値で管理 14 | - マニュアルテストを複数回実施してバグに対処 15 | - 最後にデザイナーとペアプロで細かいデザインを修正 16 | 17 | プロジェクトを通じた反省と学び 18 | 19 | - コンポーネントの依存関係を事前に詳細に把握しておくべきだった (コンフリクトが起きるケースが見られた) 20 | - マイグレーション自体の間違いについて 21 | 22 | まず上記の共有をした後に、技術的工夫 1 点目の AST によるプログラム修正の方法の共有に時間を割こうと思っています。 23 | -------------------------------------------------------------------------------- /app/content/en/sessions/sorami/head.md: -------------------------------------------------------------------------------- 1 | In this presentation, the current status and issues of 3D data visualization on the Web will be explained based on examples using Vue.js and CesiumJS in particular. 2 | 3 | Using the "AIST 3DDB Client" provided by the National Institute of Advanced Industrial Science and Technology (AIST) as a subject, the presentation will introduce points to be aware of when handling 3D data and tips for using data visualization and map libraries in Vue.js. This web app, which can display, search, and download a variety of 3D data, is available as open source software: https://github.com/aistairc/aist_3ddb_client 4 | -------------------------------------------------------------------------------- /.markuplintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "markuplint:recommended" 4 | ], 5 | "parser": { 6 | ".vue$": "@markuplint/vue-parser" 7 | }, 8 | "specs": { 9 | ".vue$": "@markuplint/vue-spec" 10 | }, 11 | "rules": { 12 | "invalid-attr": { 13 | "options": { 14 | /* v3.7.0 - attr の非推奨化に伴い allowAttrs の利用に変更 ref: https://github.com/markuplint/markuplint/releases/tag/v3.7.0 */ 15 | "allowAttrs": ["placeholder", "required"] 16 | } 17 | } 18 | }, 19 | "excludeFiles": [ 20 | /* permitted-contents のルールに対応したい */ 21 | "app/components/timetable/TimetableViewMobile.vue" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /app/content/en/sponsors/link-and-motivation-group/head.md: -------------------------------------------------------------------------------- 1 | Link and Motivation was founded in 2000 as the world's first management consulting firm focused on motivation. 2 | Since the release of Motivation Cloud in 2016, the company has developed 5 products widely in BtoB and BtoC. 3 | In 2018, the company started in-house development organization and has grown to 100 employees in about 5 years. 4 | The company is also actively engaged in re-architecture and is focusing on improving the developer experience and development productivity. 5 | As of the end of December 2022, MRR reached 320 million yen and continues to grow at over 130% annually. 6 | -------------------------------------------------------------------------------- /app/content/en/top/speakers.md: -------------------------------------------------------------------------------- 1 | Would you like to take the stage at Vue Fes Japan 2023? 2 | 3 | Please share your unique knowledge and experience about Vue and its ecosystem at Japan's largest Vue.js conference. 4 | 5 | At Vue Fes Japan 2023, in order to solicit speaker presentations from the general public, we will use the CFP (Call for Papers) system. The Vue Fes Japan 2023 staff will review it and adopt it as an official session. 6 | 7 | We have prepared two presentation methods: a 30-minute presentation “Session” and a 5-minute “Lightning Talk (LT)”. 8 | 9 | We are waiting for a hot announcement unique to everyone who loves Vue! 10 | -------------------------------------------------------------------------------- /app/content/en/sponsors/unique-vision/head.md: -------------------------------------------------------------------------------- 1 | Unique Vision develops and provides the Beluga series of SNS marketing tools for companies to connect with consumers, supporting over 800 SNS campaigns (Twitter, LINE, Instagram) per year. In order to ensure highly productive development in the rapidly changing SNS marketing industry, we have adopted Vue for almost all of our products since 2018. Currently, we are also focusing on converting existing products to Vue3, including adopting the vite+Vue3 configuration for new products and migrating products consisting of 800 components written in Vue2 to Vue3. 2 | We have been and will continue to develop in Vue. 3 | -------------------------------------------------------------------------------- /app/content/ja/sessions/chocodogmagic/head.md: -------------------------------------------------------------------------------- 1 | Web サイトの Jamstack 開発に使える Sample テンプレートを Nuxt 3 で開発しています。あらゆるプロジェクトで活用できる汎用的な構成にすることを重視して開発しているので、よくある各社が独自の構成で最適化した事例とは違った視点での話となります。 2 | 3 | Nuxt 3 を使った Jamstack 開発を複数担当した経験を元に、Web サイトによくあるコンテンツの実装方法と汎用的な構成にするための工夫について話します。新規プロジェクトの立ち上げをスムーズに進めたい方や受託案件で何度も同じような構成を作るのが大変な方に向けて、実際に動くコードと合わせて紹介します。 4 | 5 | 話すこと 6 | 7 | - 近年の Web サイトの Jamstack 開発とは 8 | - Web サイトによくある最低限必要な機能 9 | - 汎用的にするための工夫 10 | - Nuxt 3 の Jamstack テンプレート Sample コード 11 | 12 | 対象 13 | 14 | - 新規のプロジェクトを素早くスタートしたい 15 | - 受託でクライアントごとに Jamstack を毎回一から作るのが大変 16 | - Nuxt のドキュメントを読んだが実際のプロジェクトでどう使うのかわからない 17 | - Nuxt 3 の Jamstack テンプレートを作りたい 18 | -------------------------------------------------------------------------------- /app/utils/events-vuejs-clinic.constants.ts: -------------------------------------------------------------------------------- 1 | import { Paneler } from '~/types/app' 2 | 3 | export const experts: Paneler[] = [ 4 | { 5 | image: 'speakers/evan.jpg', 6 | name: 'Evan You', 7 | snsLink: 'https://twitter.com/youyuxi', 8 | title: 'Vue / Vite Creator', 9 | }, 10 | { 11 | image: 'speakers/sebastien.jpg', 12 | name: 'Sebastien Chopin', 13 | snsLink: 'https://twitter.com/Atinux/', 14 | title: 'NuxtLabs CEO', 15 | }, 16 | { 17 | image: 'speakers/daniel_roe.jpg', 18 | name: 'Daniel Roe', 19 | snsLink: 'https://twitter.com/danielcroe', 20 | title: 'Nuxt Core Team Member', 21 | }, 22 | ] 23 | -------------------------------------------------------------------------------- /app/content/en/top/ticket.md: -------------------------------------------------------------------------------- 1 | Tickets for Vue Fes Japan 2023 will be on sale from 12:00 on Thursday, August 10, 2023. General tickets are available with or without afterparty, and all seats include lunch. 2 | 3 | Hands-on tickets and individual sponsor tickets are also available as options. 4 | 5 | We will use PassMarket as our ticket sales platform. A link to purchase tickets will be published on this website when they go on sale. Please show the QR code of the purchase completion email at the reception on the day. 6 | 7 | If you purchase by 23:59 on 9/30 (Saturday), there is an early bird discount that will give you a great deal, so make your purchase early! 8 | -------------------------------------------------------------------------------- /app/content/en/sessions/sapphi-red/head.md: -------------------------------------------------------------------------------- 1 | In order to get the most out of machine specifications, it is essential to take advantage of multi-threading. Especially for tools such as bundlers, the amount of processing increases with the number of files to be processed, and single-threading can be time-consuming. However, JavaScript is single-threaded oriented, and there are a number of difficulties in utilizing multi-threading. In this session, using Vite as a concrete example, we will discuss how to change existing code to utilize multithreading with less man-hours. We will also discuss the ideal design of JavaScript that can easily take advantage of multi-threading. 2 | -------------------------------------------------------------------------------- /app/types/timetable.ts: -------------------------------------------------------------------------------- 1 | export type Sponsors = 'cloudsign' | 'medpeer' | 'm3' 2 | export type Tracks = Sponsors | 'vue' | 'all' 3 | 4 | export interface Session { 5 | id?: string 6 | category?: string 7 | title: string 8 | titleKey?: string 9 | speaker?: string 10 | speakerKey?: string 11 | archives?: Archive 12 | subTitle?: string 13 | sponsorSession?: string 14 | isTranslation?: boolean 15 | } 16 | 17 | export interface Track { 18 | track?: string 19 | colspan?: number 20 | rowspan?: number 21 | isClose?: boolean 22 | sessions?: Session[] 23 | } 24 | 25 | export interface Archive { 26 | slide?: string 27 | youtube?: string 28 | } 29 | -------------------------------------------------------------------------------- /app/assets/logo/vuefes_logo_only.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/content/en/sessions/yamanoku/head.md: -------------------------------------------------------------------------------- 1 | Client-side routing, a method of controlling screen transitions on the browser side, is used to reduce the cognitive load of screen transitions by eliminating latency from the server and enabling smooth browsing. 2 | Since Nuxt 3.4, smooth transition animations can be achieved by setting the experimental View Transitions API. 3 | 4 | However, these methods need to be considered from an accessibility perspective to ensure that information is conveyed correctly. 5 | In this session, we will introduce how information is conveyed during screen transitions and approaches to make Nuxt applications more accessible based on implementation examples. 6 | -------------------------------------------------------------------------------- /app/assets/logo/cross_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/logo/youtube_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/composables/useUser.ts: -------------------------------------------------------------------------------- 1 | import { Database } from '~/types/supabase' 2 | import { createEmptyUser } from '~/atoms/user' 3 | 4 | export async function useUser(userId: string) { 5 | let eventUser = createEmptyUser() 6 | let error = null 7 | 8 | if (!userId) { 9 | return { eventUser, error, activated: false } 10 | } 11 | const client = useSupabaseClient() 12 | const { data: res } = await useAsyncData('event_users', async () => { 13 | return await client.from('event_users').select().eq('user_id', userId).single() 14 | }) 15 | eventUser = res.value?.data || createEmptyUser() 16 | error = res.value?.error || null 17 | 18 | return { eventUser, error, activated: Boolean(eventUser?.activated_at) } 19 | } 20 | -------------------------------------------------------------------------------- /app/composables/useFormReCaptcha.ts: -------------------------------------------------------------------------------- 1 | import { VueReCaptcha, useReCaptcha } from 'vue-recaptcha-v3' 2 | 3 | export function useFormReCaptcha() { 4 | const { vueApp } = useNuxtApp() 5 | const config = useRuntimeConfig() 6 | vueApp.use(VueReCaptcha, { 7 | siteKey: config.public.reCaptchaWebsiteKey, 8 | loaderOptions: { 9 | renderParameters: { 10 | hl: 'ja', 11 | }, 12 | }, 13 | }) 14 | 15 | const reCaptchaInstance = useReCaptcha() 16 | 17 | const hasSiteKey = config.public.reCaptchaWebsiteKey !== '' 18 | 19 | async function execute() { 20 | await reCaptchaInstance?.recaptchaLoaded() 21 | return await reCaptchaInstance?.executeRecaptcha('submit') 22 | } 23 | 24 | return { hasSiteKey, execute } 25 | } 26 | -------------------------------------------------------------------------------- /app/content/en/top/current-day-sales.md: -------------------------------------------------------------------------------- 1 | [Same-day sale] 2 | 3 | Please purchase at the Vue Fes Store booth at the Vue Fes Japan 2023 venue on the day of the event. However, there are only a limited number of each product available on the day, so we recommend pre-ordering to ensure your purchase. 4 | 5 |
6 | Payment methods for same-day sales are only cashless payments as shown below. Please note that cash is not available. 7 | 8 |
9 |
10 | Payment method (planned): 11 | 12 | Various credit cards, various transportation electronic money, iD, QUICPay, Apple Pay, UnionPay 13 | 14 |
15 | * All profits from goods sales go to the operation of Vue Fes Japan or Vue.js Japanese users
16 | We will use it carefully for group activities. 17 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [[redirects]] 2 | from = "/2023/en/*" 3 | to = "/2023/200.html" 4 | status = 200 5 | 6 | [[redirects]] 7 | from = "/2023/en/*" 8 | to = "/2023/:splat" 9 | status = 301 10 | 11 | [[redirects]] 12 | from = "/2023/ja-basic/*" 13 | to = "/2023/200.html" 14 | status = 200 15 | 16 | [[redirects]] 17 | from = "/2023/ja-basic/*" 18 | to = "/2023/:splat" 19 | status = 301 20 | 21 | [[redirects]] 22 | from = "/2023/users/*" 23 | to = "/2023/200.html" 24 | status = 200 25 | 26 | [[redirects]] 27 | from = "/2023/*" 28 | to = "/2023/index.html" 29 | status = 200 30 | 31 | [[redirects]] 32 | from = "/*" 33 | to = "/2023/:splat" 34 | status = 301 35 | 36 | [functions.server] 37 | external_node_modules = ["chrome-aws-lambda"] 38 | -------------------------------------------------------------------------------- /tests/cypress/support/e2e.ts: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/e2e.ts is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /app/content/en/top/handson.md: -------------------------------------------------------------------------------- 1 | At Vue Fes Japan 2023, we will conduct a hands-on (style of learning while actually writing code) where everyone who participates can experience Vue.js application development while moving their hands together. 2 | 3 | Whether you are a beginner looking to learn Vue.js or an experienced user wanting to catch up on the new development methods of Vue 3, you can learn the basics of Vue.js in 2 hours. There will also be Q&A by Vue.js Japan User Group staffs. 4 | 5 | Please note that all hands-on tickets have sold out due to popular demand. Please note that attendance is limited to hands-on ticket holders only. 6 | 7 | - When you participate, please prepare the development environment by referring to the link below. 8 | https://handson.vuejs-jp.org/setup.html 9 | -------------------------------------------------------------------------------- /app/content/en/sessions/hitoki-wakugawa/head.md: -------------------------------------------------------------------------------- 1 | The main development of our online store (tential.jp) is made with Nuxt framework, and although measures to improve the functionality of the e-commerce site are being taken every day, development speed has been a bottleneck in achieving functional improvements, and the webpack build speed when launching the development server has been a notable issue. The webpack build speed when launching the development server was a notable bottleneck. 2 | By migrating to Nuxt3, we have improved the build speed, which had been a bottleneck, and also increased the performance per ECS instance. I will share with you how it changed and how we improved performance from both a development and customer experience perspective, and how we have actually done so since. 3 | -------------------------------------------------------------------------------- /app/composables/useHover.ts: -------------------------------------------------------------------------------- 1 | export function useHover(el: Ref) { 2 | const { isMobile } = useDevice() 3 | const isHovered = ref(false) 4 | 5 | if (isMobile) return 6 | 7 | function mouseEnter() { 8 | isHovered.value = true 9 | } 10 | 11 | function mouseLeave() { 12 | isHovered.value = false 13 | } 14 | 15 | onMounted(function () { 16 | if (!el.value) return 17 | 18 | el.value.addEventListener('mouseenter', mouseEnter) 19 | el.value.addEventListener('mouseleave', mouseLeave) 20 | }) 21 | 22 | onUnmounted(function () { 23 | if (!el.value) return 24 | 25 | el.value.removeEventListener('mouseenter', mouseEnter) 26 | el.value.removeEventListener('mouseleave', mouseLeave) 27 | }) 28 | 29 | return isHovered 30 | } 31 | -------------------------------------------------------------------------------- /app/content/en/top/childcare.md: -------------------------------------------------------------------------------- 1 | We have prepared childcare support so that fathers and mothers can concentrate and enjoy the conference. Vue Fes Japan will subsidize the actual cost of those who used some childcare service on the day (up to ¥15,000). 2 | 3 | - General ticket purchase is required in advance. 4 | - Please apply for the childcare service you want to use by yourself. 5 | - After applying, the Vue.js Japan User Group will contact you by email within 5 business days regardless of whether support is available or not. 6 | - A receipt for the childcare service used on the day of the event (2023/10/28) is required. 7 | - After the event, the money will be transferred to the designated bank account within about one month. 8 | - Please note that registration will be closed for the first 20 people. 9 | -------------------------------------------------------------------------------- /app/composables/useNamecardStatus.ts: -------------------------------------------------------------------------------- 1 | import { match } from 'ts-pattern' 2 | import { Status } from '~/types/app' 3 | 4 | interface Result { 5 | title: string 6 | detail: string 7 | } 8 | 9 | export function useNamecardStatus() { 10 | const message = (status: Status) => 11 | match(status) 12 | .with('registered', () => ({ 13 | title: 'top.succeed_register', 14 | detail: 'top.succeed_register_detail', 15 | })) 16 | .with('failed', () => ({ 17 | title: 'top.failed_register', 18 | detail: 'top.failed_register_detail', 19 | })) 20 | .with('nouser', () => ({ 21 | title: 'top.nouser_register', 22 | detail: 'top.nouser_register', 23 | })) 24 | .exhaustive() 25 | 26 | return { message } 27 | } 28 | -------------------------------------------------------------------------------- /app/assets/main.css: -------------------------------------------------------------------------------- 1 | /* global */ 2 | 3 | @import './fonts.css'; 4 | 5 | :root { 6 | --header-height: 70px; 7 | --sp-header-height: 90px; 8 | } 9 | 10 | html { 11 | scroll-behavior: smooth; 12 | scroll-padding-top: var(--header-height); 13 | } 14 | 15 | [id] { 16 | scroll-margin-top: var(--header-height); 17 | } 18 | 19 | body { 20 | padding: 0; 21 | margin: 0; 22 | font-family: 'din-2014', 'Yu Gothic Medium', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 23 | sans-serif; 24 | } 25 | 26 | * { 27 | box-sizing: border-box; 28 | } 29 | 30 | main { 31 | padding: 0; 32 | margin: 0; 33 | border: none; 34 | } 35 | 36 | @media (max-width: 767px) { 37 | html { 38 | scroll-padding-top: var(--sp-header-height); 39 | } 40 | 41 | [id] { 42 | scroll-margin-top: var(--sp-header-height); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/content/en/sessions/yud0uhu/head.md: -------------------------------------------------------------------------------- 1 | We developed a cross-platform desktop markdown editor. Initially using Vue3 and Electron, we found performance issues and migrated to Tauri. 2 | The move to Tauri has greatly improved the performance of the markdown editor. 3 | 4 | Electron uses an architecture that internally combines Chromium and Node.js, but this caused bloated memory consumption and slow startup times. Performance degradation was particularly noticeable when editing large markdown files and displaying previews. 5 | 6 | Tauri is a framework made of Rust that aims to replace Electron, and it features light memory consumption and fast startup time while maintaining the excellent features of Electron. 7 | 8 | In this talk, I would like to share my findings on desktop app development in Vue3 and Tauri and how the performance issues of the editor were solved. 9 | -------------------------------------------------------------------------------- /app/components/footer/PastEventsMobile.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 18 | 19 | 35 | -------------------------------------------------------------------------------- /app/assets/logo/mastodon_logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/content/en/sessions/kira-puka/head.md: -------------------------------------------------------------------------------- 1 | At Memoraba LLC, to which I belong, we use Nuxt3 for multiple development projects, both contract and in-house. 2 | We prefer to use Nuxt3 as a module so that we can reuse it, but I had an impression that it was quite difficult to use. 3 | 4 | I looked at the Module Author Guide, which is an official guide, 5 | I found that it is not as difficult as I thought. I was not sure if it would be as difficult as I thought, 6 | I would like to introduce the contents of the guide with excerpts from the Module Author Guide. 7 | 8 | I would like to introduce the contents of Module Author Guide as an excerpt from it, 9 | I would be happy if you are interested in how to make modules. 10 | 11 | Also, please understand that I have no experience in Nuxt2 module development, 12 | I can't talk about the comparison of Nuxt2 module development. 13 | -------------------------------------------------------------------------------- /app/components/SponsorTag.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | 19 | 35 | -------------------------------------------------------------------------------- /app/components/forms/SubmitButton.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 28 | -------------------------------------------------------------------------------- /app/assets/logo/login_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/logo/slide_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 10 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/composables/usePassMarket.ts: -------------------------------------------------------------------------------- 1 | import { ListMember, Role } from '~/types/app' 2 | import { useUserRole } from '~/composables/useUserRole' 3 | 4 | export function usePassMarket() { 5 | const { getRole } = useUserRole() 6 | 7 | function getReceipts(memberData: ListMember[]) { 8 | const receiptIds: { role: Role; receipt_id: string }[] = [] 9 | 10 | for (const member of memberData) { 11 | if (member.ticketName.indexOf('一般+アフターパーティーチケット') !== -1) { 12 | receiptIds.push({ 13 | role: getRole(member.ticketName), 14 | receipt_id: member.orderId, 15 | }) 16 | } 17 | if (member.ticketName.indexOf('一般チケット') !== -1) { 18 | receiptIds.push({ 19 | role: getRole(member.ticketName), 20 | receipt_id: member.orderId, 21 | }) 22 | } 23 | } 24 | 25 | return receiptIds 26 | } 27 | 28 | return { getReceipts } 29 | } 30 | -------------------------------------------------------------------------------- /app/composables/useUserRole.ts: -------------------------------------------------------------------------------- 1 | import { match } from 'ts-pattern' 2 | import { Role } from '~/types/app' 3 | 4 | export function useUserRole() { 5 | const backgroundColor = (role: Role) => 6 | match(role) 7 | .with('staff', () => '#233445') 8 | .with('speaker', () => '#90B44B') 9 | .with('sponsor', () => '#FFC408') 10 | .with('attendee', () => '#F17C67') 11 | .with('attendee + party', () => '#33A6B8') 12 | .exhaustive() 13 | 14 | const textColor = (role: Role) => 15 | match(role) 16 | .with('sponsor', () => '#35495E') 17 | .with('staff', 'speaker', 'attendee', 'attendee + party', () => '#fff') 18 | .exhaustive() 19 | 20 | const getRole = (target: string): Role => { 21 | return target.indexOf('一般+アフターパーティーチケット') !== -1 22 | ? 'attendee + party' 23 | : 'attendee' 24 | } 25 | 26 | return { backgroundColor, textColor, getRole } 27 | } 28 | -------------------------------------------------------------------------------- /app/assets/logo/logout_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/composables/useNav.ts: -------------------------------------------------------------------------------- 1 | import { navLinks as _navLinks, navFullLinks, NavLink } from '~/utils/constants' 2 | import { useNamecard } from '~/composables/useNamecard' 3 | import { useFeature } from '~/composables/useFeature' 4 | 5 | export function useNav() { 6 | const navRef = ref(null) 7 | const showNav = ref(false) 8 | 9 | const { canPurchase } = useNamecard() 10 | const { showTimetable } = useFeature() 11 | 12 | const navLinks = computed(() => { 13 | if (canPurchase) return navFullLinks(showTimetable) 14 | return _navLinks 15 | }) 16 | 17 | function checkShowNav() { 18 | showNav.value = window.pageYOffset > 50 19 | } 20 | 21 | onMounted(function () { 22 | checkShowNav() 23 | window.addEventListener('scroll', checkShowNav) 24 | }) 25 | 26 | onUnmounted(function () { 27 | window.removeEventListener('scroll', checkShowNav) 28 | }) 29 | 30 | return { navRef, showNav, navLinks } 31 | } 32 | -------------------------------------------------------------------------------- /app/content/ja/top/message.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan は 2018 年に誕生した日本最大級の Vue.js カンファレンスです。 2 | 文字通り Fes = お祭りのように Vue.js を共に盛り上げ、共に学び、そしてなによりも共に楽しむために誕生しました。 3 | 4 | 昨年 2022 年は長引くコロナ禍においてオンラインでの開催を実現し、650 名以上の事前登録、10,000 回以上の再生回数を記録し、大変盛り上がりました。特に、Vue 2 から Vue 3 への移行に関する内容が多かったことが印象的でした。 5 | 6 | 2022 年 1 月、Vue.js は最新バージョンである Vue 3 をデフォルトにしました。その結果、npm でのダウンロード数が 200% 以上増加しており、Vue 3 の利用が加速しています。エコシステムにおいても、2022 年 11 月に Vue 3 へ対応した Nuxt 3 や Vuetify 3 がリリースされました。 7 | 8 | こうして Vue 3 の利用が本格化する中、Vue.js の作者 Evan You 氏は次の Vue.js に向けた取り組みも開始しています。同氏の開発した Vite が Vue.js コミュニティだけに留まらず、他の JavaScript コミュニティへも放たれたのと同様に、Nuxt や Volar といったエコシステムにおいても新しい展開を見せようとしています。 9 | 10 | Vue.js とエコシステムがさらに発展しつつある中、この度 2023 年はオフラインカンファレンスとしての Vue Fes Japan をリブートすることを決意しました。 11 | ぜひ、一緒にカンファレンスに参加し、リアルでしか味わえない体験を楽しみましょう! 12 | 13 |
14 | Vue.js 日本ユーザーグループ 代表 川口 和也 ( @kazu_pon ) 15 |
16 | -------------------------------------------------------------------------------- /app/public/sponsors/tential.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/assets/logo/card_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/assets/logo/twitter_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/components/footer/PastEvents.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 19 | 20 | 43 | -------------------------------------------------------------------------------- /app/composables/useSession.ts: -------------------------------------------------------------------------------- 1 | import { match } from 'ts-pattern' 2 | import { Tracks } from '~/types/timetable' 3 | import { useFeature } from '~/composables/useFeature' 4 | import { OptionCategory, SponsorCategory } from '~/types/app' 5 | 6 | export function useSession() { 7 | const feature = useFeature() 8 | const showSpeakerInfo = feature.showSpeakerInfo === 'true' 9 | 10 | const getTrackColor = (track: Tracks) => { 11 | return match(track) 12 | .with('all', () => 'vue.blue') 13 | .with('cloudsign', () => 'timetable.trackA') 14 | .with('medpeer', () => 'timetable.trackB') 15 | .with('m3', () => 'timetable.trackC') 16 | .with('vue', () => 'timetable.trackD') 17 | .exhaustive() 18 | } 19 | 20 | const getCategory = ( 21 | category: Extract, 22 | ) => { 23 | return `category['${category}']` 24 | } 25 | 26 | return { showSpeakerInfo, getTrackColor, getCategory } 27 | } 28 | -------------------------------------------------------------------------------- /app/components/footer/CopyrightText.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 38 | -------------------------------------------------------------------------------- /app/components/AlertBar.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 23 | 24 | 41 | -------------------------------------------------------------------------------- /app/assets/logo/twitter_logo_blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/components/voice/FrameRight.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | 43 | -------------------------------------------------------------------------------- /app/content/ja/code-of-conduct/index.md: -------------------------------------------------------------------------------- 1 | Vue Fes Japan 2023 のすべての参加者、スピーカー、スポンサー、スタッフは、オープンかつ友好的な環境を育むため、以下の行動規範に同意していただく必要があります。主催者である Vue.js 日本ユーザーグループは、この規範の実施を遵守します。誰にとっても安全な環境を守るために、すべての参加者のご協力をお願いいたします。 2 | 3 | ## 差別、ハラスメント行為の禁止 4 | 5 | 年齢、外見、身体の大きさ、性別、性的指向、障害の有無、人種、民族、国籍、宗教、学歴、社会的地位、技術選択、経験の度合いに関わらず、すべての参加者が安全に参加できる環境の提供に努め、いかなる差別も容認しません。 6 | 7 | 性的な表現、不適切な身体接触、暴言、挑発的または侮蔑的な表現、意図的な威力行為、脅迫、ストーカー行為、つきまとい、写真撮影や録音などによる嫌がらせ、トークやその他のイベントに対して繰り返して意図的に中断させる行為といったハラスメント行為を一切容認しません。 8 | 9 | これらの差別、ハラスメント行為は会話、セッション、ライブ配信上のチャット、メール、SNS など、Vue Fes Japan 2023 に関連するあらゆる場面、場所に不適切です。意図して行ったかどうかに関わらず、Vue.js 日本ユーザーグループの判断でこれらの行為を止めるように求められた場合、すみやかに従わなければなりません。指示に従わない場合、Vue Fes Japan 2023 内での行動を制限、または一切の参加を拒否する場合があります。 10 | 11 | ## いやな思いをしてしまったら 12 | 13 | もしあなたが差別やハラスメント行為を受けたと感じた場合や、誰かがハラスメント行為を受けていることに気づいた場合、またはその懸念がある場合は、すぐに [お問い合わせフォーム](./#form) からご連絡ください。 14 | 15 | Vue.js 日本ユーザーグループは安全な環境を守るため、警察への連絡を含め、その他のあらゆる支援を行います。私達にとってあなたの参加が何よりも大切なことであり、常に差別、ハラスメント行為を受けた人の味方であり続けます。 16 | 17 | ## 何かお困りですか? 18 | 19 | Vue.js 日本ユーザーグループへのお問い合わせは、 [お問い合わせフォーム](./#form) よりお願いいたします。 20 | -------------------------------------------------------------------------------- /app/atoms/user.ts: -------------------------------------------------------------------------------- 1 | import { FormUser, User } from '~/types/app' 2 | 3 | type State = { 4 | user: FormUser 5 | } 6 | 7 | export function createEmptyUser(): User { 8 | return { 9 | activated_at: null, 10 | avatar_url: '', 11 | created_at: '', 12 | display_name: '', 13 | email: '', 14 | full_name: '', 15 | id: '', 16 | provider: '', 17 | receipt_id: '', 18 | role: null, 19 | updated_at: '', 20 | user_id: '', 21 | } 22 | } 23 | 24 | export function useStore() { 25 | const globalState = reactive({ 26 | user: { 27 | user_id: '', 28 | full_name: '', 29 | avatar_url: '', 30 | provider: '', 31 | email: '', 32 | created_at: '', 33 | display_name: '', 34 | receipt_id: '', 35 | }, 36 | }) 37 | 38 | const setUser = (newUser?: FormUser) => Object.assign(globalState.user, { ...newUser }) 39 | 40 | return { ...toRefs(globalState), setUser } 41 | } 42 | 43 | type storeType = ReturnType 44 | 45 | export const storeKey: InjectionKey = Symbol('user') 46 | -------------------------------------------------------------------------------- /app/components/UserForDev.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 24 | 25 | 44 | -------------------------------------------------------------------------------- /app/components/sponsor/SponsorCategoryTitle.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 20 | 21 | 37 | -------------------------------------------------------------------------------- /app/assets/sponsor/tshirt.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /app/components/forms/LinkButton.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | 21 | 46 | -------------------------------------------------------------------------------- /app/assets/sponsor/entrance.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/components/VoiceFrame.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 55 | -------------------------------------------------------------------------------- /app/app/spa-loading-template.html: -------------------------------------------------------------------------------- 1 | 10 | Vue Fes Japanロゴ 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 38 | -------------------------------------------------------------------------------- /app/assets/sponsor/seat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/components/CommentTitle.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | 50 | -------------------------------------------------------------------------------- /app/content/en/sessions/baseballyama/head.md: -------------------------------------------------------------------------------- 1 | Our company (Flyle, Inc.) implemented a design system in a very short time frame of 18 business days. We will share our findings from this project. 2 | 3 | Technical Ingenuity 4 | 5 | - Automatically migrate as much as possible in advance using AST, and automatically add TODO comments to all parts that cannot be identified. 6 | - Implemented ESLint custom rules to automate as much of the review as possible. 7 | - Perform VRT to ensure that the design system is not broken. 8 | - E2E testing with Autify 9 | 10 | Project Management 11 | 12 | - Focus on short term manual work to reduce task switching costs to zero 13 | - Progress is managed numerically 14 | - Multiple manual tests to deal with bugs 15 | - Finally, pair-processing with designers to make minor design changes 16 | 17 | Reflection and learning through the project 18 | 19 | - We should have understood the detailed dependencies of components in advance (we saw cases where conflicts occurred) 20 | - Mistakes in the migration itself 21 | 22 | First, after sharing the above, I would like to devote time to sharing the method of program modification by AST for the first technical innovation point. 23 | -------------------------------------------------------------------------------- /app/components/DialogArea.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 44 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.codeActionsOnSave": { 3 | "source.fixAll.eslint": true 4 | }, 5 | "eslint.lintTask.enable": true, 6 | "peacock.color": "#42b883", 7 | "workbench.colorCustomizations": { 8 | "activityBar.activeBackground": "#42b883", 9 | "activityBar.activeBorder": "#e0ee90", 10 | "activityBar.background": "#42b883", 11 | "activityBar.foreground": "#3d3d3d", 12 | "activityBar.inactiveForeground": "#3d3d11", 13 | "activityBarBadge.background": "#e0ee90", 14 | "activityBarBadge.foreground": "#15202b", 15 | "editorGroup.border": "#42b883", 16 | "panel.border": "#42b883", 17 | "sash.hoverBorder": "#42b883", 18 | "sideBar.border": "#35495e", 19 | "statusBar.background": "#35495e", 20 | "statusBar.foreground": "#a5a5a5", 21 | "statusBarItem.hoverBackground": "#42b883", 22 | "statusBarItem.remoteBackground": "#35495e", 23 | "statusBarItem.remoteForeground": "#a5a5a5", 24 | "titleBar.activeBackground": "#35495e", 25 | "titleBar.activeForeground": "#a5a5a5", 26 | "titleBar.inactiveBackground": "#35495e", 27 | "titleBar.inactiveForeground": "#a5a5a5" 28 | }, 29 | "scss.lint.unknownAtRules": "ignore" 30 | } 31 | -------------------------------------------------------------------------------- /app/assets/logo/upload_logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['plugin:vue/vue3-recommended', 'plugin:vuejs-accessibility/recommended'], 3 | plugins: ['vuejs-accessibility', '@typescript-eslint'], 4 | root: true, 5 | env: { node: true, es6: true }, 6 | parser: 'vue-eslint-parser', 7 | parserOptions: { 8 | parser: '@typescript-eslint/parser', 9 | }, 10 | rules: { 11 | quotes: ['error', 'single', { avoidEscape: true }], 12 | semi: ['error', 'never'], 13 | 'object-curly-spacing': ['error', 'always'], 14 | 'keyword-spacing': 'error', 15 | 'vue/html-closing-bracket-newline': 'off', 16 | 'vue/html-indent': 'off', 17 | 'vue/html-self-closing': [ 18 | 'error', 19 | { 20 | html: { 21 | void: 'always', 22 | normal: 'always', 23 | component: 'always', 24 | }, 25 | svg: 'always', 26 | math: 'always', 27 | }, 28 | ], 29 | 'vue/max-attributes-per-line': 'off', 30 | 'vue/multi-word-component-names': [ 31 | 'error', 32 | { 33 | ignores: ['index', 'default', 'error', 'privacy', 'register', 'users', 'events', 'Provider', '[id]'], 34 | }, 35 | ], 36 | 'vue/multiline-html-element-content-newline': 'off', 37 | 'vue/singleline-html-element-content-newline': 'off', 38 | }, 39 | } 40 | -------------------------------------------------------------------------------- /app/content/en/sessions/chocodogmagic/head.md: -------------------------------------------------------------------------------- 1 | We are developing a sample template in Nuxt 3 that can be used for Jamstack development of websites. We are developing this project with an emphasis on making it a generic structure that can be used for any project, so this is a different perspective from the common cases where each company has optimized their own structure. 2 | 3 | Based on the experience of working on several Jamstack development projects using Nuxt 3, we will talk about how to implement common website content and how to make it a generic structure. This talk will be presented along with actual working code for those who want to smoothly launch a new project or for those who have difficulty creating similar configurations over and over again for contracted projects. 4 | 5 | What we will talk about 6 | 7 | - What is Jamstack development for websites these days 8 | - The minimum necessary functions commonly found in a website 9 | - How to make it versatile 10 | - Sample code of Jamstack template in Nuxt 3 11 | 12 | Objectives 13 | 14 | - New projects that need to be started quickly 15 | - It's hard to create Jamstack from scratch for each client on a contract basis. 16 | - I read the Nuxt documentation, but I don't know how to use it in a real project. 17 | - I want to make a Jamstack template for Nuxt 3. 18 | -------------------------------------------------------------------------------- /app/components/EventPageSection.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 14 | 15 | 49 | --------------------------------------------------------------------------------