├── .github └── workflows │ ├── deploy-int.yaml │ └── test.yaml ├── .gitignore ├── README.md ├── app.vue ├── assets └── css │ └── tailwind.css ├── components ├── User.vue ├── content │ ├── Alert.vue │ ├── BaseCard.vue │ ├── ContentHeader.vue │ ├── Hero.vue │ ├── ProseCode.vue │ └── TitleCard.vue ├── elements │ ├── AnswerForm.vue │ ├── AskJackSidebar.vue │ ├── BackButton.vue │ ├── BaseCard.vue │ ├── CategoryCard.vue │ ├── DialogBox.vue │ ├── LessonCard.vue │ ├── QuestionBoard.vue │ ├── QuestionForm.vue │ ├── SiteMapGrid.vue │ ├── TestingPhaseDialog.vue │ ├── Tiptap.vue │ ├── TopicCard.vue │ └── VideoNav.vue └── layout │ ├── TheFooter.vue │ ├── TheMobileNav.vue │ └── navbar.vue ├── composables ├── getParam.ts ├── useAuth.ts ├── useErrorMapper.ts └── useVisitCounter.ts ├── config └── fullstackjack.service ├── content ├── articles │ ├── deploy-nuxt3-github-actions.md │ └── state-in-nuxt3.md ├── index.md └── nuxt3-data-fetching.md ├── docker-compose.yml ├── layouts ├── MobileOnly.vue └── default.vue ├── middleware ├── auth.ts └── guest.ts ├── nuxt.config.ts ├── package.json ├── pages ├── articles │ ├── [...slug].vue │ └── overview.vue ├── ask-jack │ ├── ask.vue │ ├── question │ │ └── [id].vue │ └── search.vue ├── categories │ ├── [name].vue │ └── index.vue ├── content.vue ├── index.vue ├── info.vue ├── login.vue ├── player.vue ├── register.vue ├── series │ ├── [name].vue │ └── index.vue ├── subscribe │ ├── index.vue │ └── success.vue ├── topics │ ├── [name].vue │ └── index.vue └── tutorials │ ├── [name].vue │ └── index.vue ├── public └── img │ ├── avatar_default.svg │ ├── blob .svg │ ├── clean_code.svg │ ├── content.svg │ ├── default_avatar.svg │ ├── deployment-jobs-overview.png │ ├── discord-icon-svgrepo-com.svg │ ├── docker.svg │ ├── dude-type.png │ ├── favicon.ico │ ├── github-logo.png │ ├── github.svg │ ├── green-dotted-bg.svg │ ├── hands-on-nuxt.png │ ├── laravel.svg │ ├── linux.svg │ ├── logo.svg │ ├── logo_clear_fsj.png │ ├── logo_short.png │ ├── nginx.svg │ ├── nuxt-new.svg │ ├── nuxt3.svg │ ├── php-logo.svg │ ├── phpunit.svg │ ├── useStateExample.png │ ├── useStorageExample.png │ ├── vModelExample.png │ ├── youtube-svgrepo-com.svg │ ├── youtube_social_icon_red.png │ └── youtube_social_icon_red.png:Zone.Identifier ├── server ├── api │ ├── ask-jack │ │ ├── answer.ts │ │ ├── ask.ts │ │ ├── delete-question.ts │ │ ├── edit-question.ts │ │ ├── question.ts │ │ └── search.ts │ ├── auth │ │ ├── getByAuthToken.ts │ │ ├── login.ts │ │ ├── logout.ts │ │ └── register.ts │ ├── categories.ts │ ├── counter.ts │ ├── lesson │ │ └── [name].ts │ ├── stripe │ │ ├── createPortalSession.ts │ │ └── webhooks.post.ts │ ├── subscribe.post.ts │ ├── topic │ │ └── [name].ts │ └── topics.ts ├── app │ ├── errors │ │ ├── errorMapper.ts │ │ └── responses │ │ │ ├── DefaultErrorsResponse.ts │ │ │ └── ZodErrorsResponse.ts │ ├── formRequests │ │ ├── LoginRequest.ts │ │ └── RegisterRequest.ts │ └── services │ │ ├── mailer.ts │ │ ├── sessionService.ts │ │ ├── stripeService.ts │ │ ├── userService.ts │ │ └── validator.ts ├── database │ ├── client.ts │ ├── dev.db │ ├── migrations │ │ ├── 20220928204235_init │ │ │ └── migration.sql │ │ ├── 20220929201021_add_test_table │ │ │ └── migration.sql │ │ ├── 20220930194208_add_test_another_migration │ │ │ └── migration.sql │ │ ├── 20221104204024_add_test_another_migration │ │ │ └── migration.sql │ │ └── migration_lock.toml │ ├── repositories │ │ ├── askJackRespository.ts │ │ ├── sessionRepository.ts │ │ ├── userRespository.ts │ │ └── videoRepository.ts │ └── schema.prisma └── middleware │ └── serverAuth.ts ├── tailwind.config.js ├── tests ├── feature │ └── register.test.ts └── unit │ └── register_validation.test.ts ├── tsconfig.json ├── types ├── FormValidation.ts ├── IAnswer.ts ├── IAnswerPost.ts ├── ICategory.ts ├── ILogin.ts ├── IQuestion.ts ├── IQuestionPost.ts ├── IRegistration.ts ├── ISession.ts ├── ISubscription.ts ├── ITag.ts ├── IUser.ts ├── InputValidation.ts ├── SubPostRes.ts ├── TopicData.ts └── theme.ts ├── vitest.config.js └── yarn.lock /.github/workflows/deploy-int.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/.github/workflows/deploy-int.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /app.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/app.vue -------------------------------------------------------------------------------- /assets/css/tailwind.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/assets/css/tailwind.css -------------------------------------------------------------------------------- /components/User.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/User.vue -------------------------------------------------------------------------------- /components/content/Alert.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/Alert.vue -------------------------------------------------------------------------------- /components/content/BaseCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/BaseCard.vue -------------------------------------------------------------------------------- /components/content/ContentHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/ContentHeader.vue -------------------------------------------------------------------------------- /components/content/Hero.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/Hero.vue -------------------------------------------------------------------------------- /components/content/ProseCode.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/ProseCode.vue -------------------------------------------------------------------------------- /components/content/TitleCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/content/TitleCard.vue -------------------------------------------------------------------------------- /components/elements/AnswerForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/AnswerForm.vue -------------------------------------------------------------------------------- /components/elements/AskJackSidebar.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/AskJackSidebar.vue -------------------------------------------------------------------------------- /components/elements/BackButton.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/BackButton.vue -------------------------------------------------------------------------------- /components/elements/BaseCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/BaseCard.vue -------------------------------------------------------------------------------- /components/elements/CategoryCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/CategoryCard.vue -------------------------------------------------------------------------------- /components/elements/DialogBox.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/DialogBox.vue -------------------------------------------------------------------------------- /components/elements/LessonCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/LessonCard.vue -------------------------------------------------------------------------------- /components/elements/QuestionBoard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/QuestionBoard.vue -------------------------------------------------------------------------------- /components/elements/QuestionForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/QuestionForm.vue -------------------------------------------------------------------------------- /components/elements/SiteMapGrid.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/SiteMapGrid.vue -------------------------------------------------------------------------------- /components/elements/TestingPhaseDialog.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/TestingPhaseDialog.vue -------------------------------------------------------------------------------- /components/elements/Tiptap.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/Tiptap.vue -------------------------------------------------------------------------------- /components/elements/TopicCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/TopicCard.vue -------------------------------------------------------------------------------- /components/elements/VideoNav.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/elements/VideoNav.vue -------------------------------------------------------------------------------- /components/layout/TheFooter.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/layout/TheFooter.vue -------------------------------------------------------------------------------- /components/layout/TheMobileNav.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/layout/TheMobileNav.vue -------------------------------------------------------------------------------- /components/layout/navbar.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/components/layout/navbar.vue -------------------------------------------------------------------------------- /composables/getParam.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/composables/getParam.ts -------------------------------------------------------------------------------- /composables/useAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/composables/useAuth.ts -------------------------------------------------------------------------------- /composables/useErrorMapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/composables/useErrorMapper.ts -------------------------------------------------------------------------------- /composables/useVisitCounter.ts: -------------------------------------------------------------------------------- 1 | export const useVisitCounter = () => { 2 | return ref() 3 | } 4 | -------------------------------------------------------------------------------- /config/fullstackjack.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/config/fullstackjack.service -------------------------------------------------------------------------------- /content/articles/deploy-nuxt3-github-actions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/content/articles/deploy-nuxt3-github-actions.md -------------------------------------------------------------------------------- /content/articles/state-in-nuxt3.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/content/articles/state-in-nuxt3.md -------------------------------------------------------------------------------- /content/index.md: -------------------------------------------------------------------------------- 1 | # Hello Content 2 | -------------------------------------------------------------------------------- /content/nuxt3-data-fetching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/content/nuxt3-data-fetching.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /layouts/MobileOnly.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/layouts/MobileOnly.vue -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/layouts/default.vue -------------------------------------------------------------------------------- /middleware/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/middleware/auth.ts -------------------------------------------------------------------------------- /middleware/guest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/middleware/guest.ts -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/nuxt.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/package.json -------------------------------------------------------------------------------- /pages/articles/[...slug].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/articles/[...slug].vue -------------------------------------------------------------------------------- /pages/articles/overview.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/articles/overview.vue -------------------------------------------------------------------------------- /pages/ask-jack/ask.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/ask-jack/ask.vue -------------------------------------------------------------------------------- /pages/ask-jack/question/[id].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/ask-jack/question/[id].vue -------------------------------------------------------------------------------- /pages/ask-jack/search.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/ask-jack/search.vue -------------------------------------------------------------------------------- /pages/categories/[name].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/categories/[name].vue -------------------------------------------------------------------------------- /pages/categories/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/categories/index.vue -------------------------------------------------------------------------------- /pages/content.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/content.vue -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/index.vue -------------------------------------------------------------------------------- /pages/info.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/info.vue -------------------------------------------------------------------------------- /pages/login.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/login.vue -------------------------------------------------------------------------------- /pages/player.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/player.vue -------------------------------------------------------------------------------- /pages/register.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/register.vue -------------------------------------------------------------------------------- /pages/series/[name].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/series/[name].vue -------------------------------------------------------------------------------- /pages/series/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/series/index.vue -------------------------------------------------------------------------------- /pages/subscribe/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/subscribe/index.vue -------------------------------------------------------------------------------- /pages/subscribe/success.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/subscribe/success.vue -------------------------------------------------------------------------------- /pages/topics/[name].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/topics/[name].vue -------------------------------------------------------------------------------- /pages/topics/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/topics/index.vue -------------------------------------------------------------------------------- /pages/tutorials/[name].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/tutorials/[name].vue -------------------------------------------------------------------------------- /pages/tutorials/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/pages/tutorials/index.vue -------------------------------------------------------------------------------- /public/img/avatar_default.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/avatar_default.svg -------------------------------------------------------------------------------- /public/img/blob .svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/img/clean_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/clean_code.svg -------------------------------------------------------------------------------- /public/img/content.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/img/default_avatar.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/default_avatar.svg -------------------------------------------------------------------------------- /public/img/deployment-jobs-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/deployment-jobs-overview.png -------------------------------------------------------------------------------- /public/img/discord-icon-svgrepo-com.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/discord-icon-svgrepo-com.svg -------------------------------------------------------------------------------- /public/img/docker.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/docker.svg -------------------------------------------------------------------------------- /public/img/dude-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/dude-type.png -------------------------------------------------------------------------------- /public/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/favicon.ico -------------------------------------------------------------------------------- /public/img/github-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/github-logo.png -------------------------------------------------------------------------------- /public/img/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/github.svg -------------------------------------------------------------------------------- /public/img/green-dotted-bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/green-dotted-bg.svg -------------------------------------------------------------------------------- /public/img/hands-on-nuxt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/hands-on-nuxt.png -------------------------------------------------------------------------------- /public/img/laravel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/laravel.svg -------------------------------------------------------------------------------- /public/img/linux.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/linux.svg -------------------------------------------------------------------------------- /public/img/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/logo.svg -------------------------------------------------------------------------------- /public/img/logo_clear_fsj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/logo_clear_fsj.png -------------------------------------------------------------------------------- /public/img/logo_short.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/logo_short.png -------------------------------------------------------------------------------- /public/img/nginx.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/nginx.svg -------------------------------------------------------------------------------- /public/img/nuxt-new.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/nuxt-new.svg -------------------------------------------------------------------------------- /public/img/nuxt3.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/nuxt3.svg -------------------------------------------------------------------------------- /public/img/php-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/php-logo.svg -------------------------------------------------------------------------------- /public/img/phpunit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/phpunit.svg -------------------------------------------------------------------------------- /public/img/useStateExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/useStateExample.png -------------------------------------------------------------------------------- /public/img/useStorageExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/useStorageExample.png -------------------------------------------------------------------------------- /public/img/vModelExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/vModelExample.png -------------------------------------------------------------------------------- /public/img/youtube-svgrepo-com.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/youtube-svgrepo-com.svg -------------------------------------------------------------------------------- /public/img/youtube_social_icon_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/public/img/youtube_social_icon_red.png -------------------------------------------------------------------------------- /public/img/youtube_social_icon_red.png:Zone.Identifier: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/api/ask-jack/answer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/answer.ts -------------------------------------------------------------------------------- /server/api/ask-jack/ask.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/ask.ts -------------------------------------------------------------------------------- /server/api/ask-jack/delete-question.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/delete-question.ts -------------------------------------------------------------------------------- /server/api/ask-jack/edit-question.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/edit-question.ts -------------------------------------------------------------------------------- /server/api/ask-jack/question.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/question.ts -------------------------------------------------------------------------------- /server/api/ask-jack/search.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/ask-jack/search.ts -------------------------------------------------------------------------------- /server/api/auth/getByAuthToken.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/auth/getByAuthToken.ts -------------------------------------------------------------------------------- /server/api/auth/login.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/auth/login.ts -------------------------------------------------------------------------------- /server/api/auth/logout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/auth/logout.ts -------------------------------------------------------------------------------- /server/api/auth/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/auth/register.ts -------------------------------------------------------------------------------- /server/api/categories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/categories.ts -------------------------------------------------------------------------------- /server/api/counter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/counter.ts -------------------------------------------------------------------------------- /server/api/lesson/[name].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/lesson/[name].ts -------------------------------------------------------------------------------- /server/api/stripe/createPortalSession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/stripe/createPortalSession.ts -------------------------------------------------------------------------------- /server/api/stripe/webhooks.post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/stripe/webhooks.post.ts -------------------------------------------------------------------------------- /server/api/subscribe.post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/subscribe.post.ts -------------------------------------------------------------------------------- /server/api/topic/[name].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/topic/[name].ts -------------------------------------------------------------------------------- /server/api/topics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/api/topics.ts -------------------------------------------------------------------------------- /server/app/errors/errorMapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/errors/errorMapper.ts -------------------------------------------------------------------------------- /server/app/errors/responses/DefaultErrorsResponse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/errors/responses/DefaultErrorsResponse.ts -------------------------------------------------------------------------------- /server/app/errors/responses/ZodErrorsResponse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/errors/responses/ZodErrorsResponse.ts -------------------------------------------------------------------------------- /server/app/formRequests/LoginRequest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/formRequests/LoginRequest.ts -------------------------------------------------------------------------------- /server/app/formRequests/RegisterRequest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/formRequests/RegisterRequest.ts -------------------------------------------------------------------------------- /server/app/services/mailer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/services/mailer.ts -------------------------------------------------------------------------------- /server/app/services/sessionService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/services/sessionService.ts -------------------------------------------------------------------------------- /server/app/services/stripeService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/services/stripeService.ts -------------------------------------------------------------------------------- /server/app/services/userService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/services/userService.ts -------------------------------------------------------------------------------- /server/app/services/validator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/app/services/validator.ts -------------------------------------------------------------------------------- /server/database/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/client.ts -------------------------------------------------------------------------------- /server/database/dev.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/dev.db -------------------------------------------------------------------------------- /server/database/migrations/20220928204235_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/migrations/20220928204235_init/migration.sql -------------------------------------------------------------------------------- /server/database/migrations/20220929201021_add_test_table/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/migrations/20220929201021_add_test_table/migration.sql -------------------------------------------------------------------------------- /server/database/migrations/20220930194208_add_test_another_migration/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/migrations/20220930194208_add_test_another_migration/migration.sql -------------------------------------------------------------------------------- /server/database/migrations/20221104204024_add_test_another_migration/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/migrations/20221104204024_add_test_another_migration/migration.sql -------------------------------------------------------------------------------- /server/database/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/migrations/migration_lock.toml -------------------------------------------------------------------------------- /server/database/repositories/askJackRespository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/repositories/askJackRespository.ts -------------------------------------------------------------------------------- /server/database/repositories/sessionRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/repositories/sessionRepository.ts -------------------------------------------------------------------------------- /server/database/repositories/userRespository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/repositories/userRespository.ts -------------------------------------------------------------------------------- /server/database/repositories/videoRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/repositories/videoRepository.ts -------------------------------------------------------------------------------- /server/database/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/database/schema.prisma -------------------------------------------------------------------------------- /server/middleware/serverAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/server/middleware/serverAuth.ts -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tests/feature/register.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/tests/feature/register.test.ts -------------------------------------------------------------------------------- /tests/unit/register_validation.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/tests/unit/register_validation.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/FormValidation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/FormValidation.ts -------------------------------------------------------------------------------- /types/IAnswer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/IAnswer.ts -------------------------------------------------------------------------------- /types/IAnswerPost.ts: -------------------------------------------------------------------------------- 1 | type IAnswerPost = { 2 | text: string; 3 | questionId: number 4 | }; -------------------------------------------------------------------------------- /types/ICategory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/ICategory.ts -------------------------------------------------------------------------------- /types/ILogin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/ILogin.ts -------------------------------------------------------------------------------- /types/IQuestion.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/IQuestion.ts -------------------------------------------------------------------------------- /types/IQuestionPost.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/IQuestionPost.ts -------------------------------------------------------------------------------- /types/IRegistration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/IRegistration.ts -------------------------------------------------------------------------------- /types/ISession.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/ISession.ts -------------------------------------------------------------------------------- /types/ISubscription.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/ISubscription.ts -------------------------------------------------------------------------------- /types/ITag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/ITag.ts -------------------------------------------------------------------------------- /types/IUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/IUser.ts -------------------------------------------------------------------------------- /types/InputValidation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/InputValidation.ts -------------------------------------------------------------------------------- /types/SubPostRes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/SubPostRes.ts -------------------------------------------------------------------------------- /types/TopicData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/types/TopicData.ts -------------------------------------------------------------------------------- /types/theme.ts: -------------------------------------------------------------------------------- 1 | type Theme = 'light' | 'dark'; -------------------------------------------------------------------------------- /vitest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/vitest.config.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jurassicjs/nuxt3-fullstack-tutorial/HEAD/yarn.lock --------------------------------------------------------------------------------