<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://projects.avetavos.com/devblog/en/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/"/></url><url><loc>https://projects.avetavos.com/devblog/en/admin/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/"/></url><url><loc>https://projects.avetavos.com/devblog/en/admin/admin-auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/admin-auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/admin-auth/"/></url><url><loc>https://projects.avetavos.com/devblog/en/admin/moderation-ui/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/moderation-ui/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/moderation-ui/"/></url><url><loc>https://projects.avetavos.com/devblog/en/admin/post-editor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/post-editor/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/post-editor/"/></url><url><loc>https://projects.avetavos.com/devblog/en/auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/"/></url><url><loc>https://projects.avetavos.com/devblog/en/auth/auth-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/auth-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/auth-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/en/auth/guards-roles/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/guards-roles/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/guards-roles/"/></url><url><loc>https://projects.avetavos.com/devblog/en/auth/jwt-passport/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/jwt-passport/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/jwt-passport/"/></url><url><loc>https://projects.avetavos.com/devblog/en/auth/passwords/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/passwords/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/passwords/"/></url><url><loc>https://projects.avetavos.com/devblog/en/backend-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/"/></url><url><loc>https://projects.avetavos.com/devblog/en/backend-foundations/app-module/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/app-module/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/app-module/"/></url><url><loc>https://projects.avetavos.com/devblog/en/backend-foundations/config-exceptions/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/config-exceptions/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/config-exceptions/"/></url><url><loc>https://projects.avetavos.com/devblog/en/backend-foundations/mongoose-connection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/mongoose-connection/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/mongoose-connection/"/></url><url><loc>https://projects.avetavos.com/devblog/en/backend-foundations/validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/validation/"/></url><url><loc>https://projects.avetavos.com/devblog/en/comments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/"/></url><url><loc>https://projects.avetavos.com/devblog/en/comments/comment-model/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/comment-model/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/comment-model/"/></url><url><loc>https://projects.avetavos.com/devblog/en/comments/moderation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/moderation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/moderation/"/></url><url><loc>https://projects.avetavos.com/devblog/en/content-workflow/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/"/></url><url><loc>https://projects.avetavos.com/devblog/en/content-workflow/draft-publish/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/draft-publish/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/draft-publish/"/></url><url><loc>https://projects.avetavos.com/devblog/en/content-workflow/refactoring-pass/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/refactoring-pass/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/refactoring-pass/"/></url><url><loc>https://projects.avetavos.com/devblog/en/content-workflow/slugs-validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/slugs-validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/slugs-validation/"/></url><url><loc>https://projects.avetavos.com/devblog/en/data-modeling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/"/></url><url><loc>https://projects.avetavos.com/devblog/en/data-modeling/relationships-indexes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/relationships-indexes/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/relationships-indexes/"/></url><url><loc>https://projects.avetavos.com/devblog/en/data-modeling/schemas/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/schemas/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/schemas/"/></url><url><loc>https://projects.avetavos.com/devblog/en/docker/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/"/></url><url><loc>https://projects.avetavos.com/devblog/en/docker/api-image/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/api-image/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/api-image/"/></url><url><loc>https://projects.avetavos.com/devblog/en/docker/compose-full/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/compose-full/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/compose-full/"/></url><url><loc>https://projects.avetavos.com/devblog/en/docker/web-image/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/web-image/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/web-image/"/></url><url><loc>https://projects.avetavos.com/devblog/en/frontend-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/"/></url><url><loc>https://projects.avetavos.com/devblog/en/frontend-foundations/app-router-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/app-router-layout/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/app-router-layout/"/></url><url><loc>https://projects.avetavos.com/devblog/en/frontend-foundations/graphql-client/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/graphql-client/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/graphql-client/"/></url><url><loc>https://projects.avetavos.com/devblog/en/frontend-foundations/styling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/styling/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/styling/"/></url><url><loc>https://projects.avetavos.com/devblog/en/graphql-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/"/></url><url><loc>https://projects.avetavos.com/devblog/en/graphql-api/code-first-basics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/code-first-basics/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/code-first-basics/"/></url><url><loc>https://projects.avetavos.com/devblog/en/graphql-api/pagination/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/pagination/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/pagination/"/></url><url><loc>https://projects.avetavos.com/devblog/en/graphql-api/posts-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/posts-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/posts-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/en/graphql-api/tags-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/tags-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/tags-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/en/introduction/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/"/></url><url><loc>https://projects.avetavos.com/devblog/en/introduction/architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/architecture/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/architecture/"/></url><url><loc>https://projects.avetavos.com/devblog/en/introduction/overview/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/overview/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/overview/"/></url><url><loc>https://projects.avetavos.com/devblog/en/introduction/prerequisites/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/prerequisites/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/prerequisites/"/></url><url><loc>https://projects.avetavos.com/devblog/en/introduction/roadmap/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/roadmap/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/roadmap/"/></url><url><loc>https://projects.avetavos.com/devblog/en/public-blog/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/"/></url><url><loc>https://projects.avetavos.com/devblog/en/public-blog/home-list/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/home-list/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/home-list/"/></url><url><loc>https://projects.avetavos.com/devblog/en/public-blog/post-page/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/post-page/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/post-page/"/></url><url><loc>https://projects.avetavos.com/devblog/en/public-blog/seo-rss/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/seo-rss/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/seo-rss/"/></url><url><loc>https://projects.avetavos.com/devblog/en/public-blog/tag-pages/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/tag-pages/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/tag-pages/"/></url><url><loc>https://projects.avetavos.com/devblog/en/setup/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/"/></url><url><loc>https://projects.avetavos.com/devblog/en/setup/backend-init/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/backend-init/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/backend-init/"/></url><url><loc>https://projects.avetavos.com/devblog/en/setup/compose-skeleton/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/compose-skeleton/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/compose-skeleton/"/></url><url><loc>https://projects.avetavos.com/devblog/en/setup/frontend-init/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/frontend-init/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/frontend-init/"/></url><url><loc>https://projects.avetavos.com/devblog/en/setup/repo-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/repo-layout/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/repo-layout/"/></url><url><loc>https://projects.avetavos.com/devblog/en/testing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/"/></url><url><loc>https://projects.avetavos.com/devblog/en/testing/api-collection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/api-collection/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/api-collection/"/></url><url><loc>https://projects.avetavos.com/devblog/en/testing/backend-tests/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/backend-tests/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/backend-tests/"/></url><url><loc>https://projects.avetavos.com/devblog/en/testing/frontend-tests/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/frontend-tests/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/frontend-tests/"/></url><url><loc>https://projects.avetavos.com/devblog/en/wrap-up/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/"/></url><url><loc>https://projects.avetavos.com/devblog/en/wrap-up/exercises/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/exercises/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/exercises/"/></url><url><loc>https://projects.avetavos.com/devblog/en/wrap-up/next-steps/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/next-steps/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/next-steps/"/></url><url><loc>https://projects.avetavos.com/devblog/en/wrap-up/recap/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/recap/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/recap/"/></url><url><loc>https://projects.avetavos.com/devblog/th/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/"/></url><url><loc>https://projects.avetavos.com/devblog/th/admin/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/"/></url><url><loc>https://projects.avetavos.com/devblog/th/admin/admin-auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/admin-auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/admin-auth/"/></url><url><loc>https://projects.avetavos.com/devblog/th/admin/moderation-ui/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/moderation-ui/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/moderation-ui/"/></url><url><loc>https://projects.avetavos.com/devblog/th/admin/post-editor/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/admin/post-editor/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/admin/post-editor/"/></url><url><loc>https://projects.avetavos.com/devblog/th/auth/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/"/></url><url><loc>https://projects.avetavos.com/devblog/th/auth/auth-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/auth-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/auth-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/th/auth/guards-roles/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/guards-roles/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/guards-roles/"/></url><url><loc>https://projects.avetavos.com/devblog/th/auth/jwt-passport/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/jwt-passport/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/jwt-passport/"/></url><url><loc>https://projects.avetavos.com/devblog/th/auth/passwords/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/auth/passwords/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/auth/passwords/"/></url><url><loc>https://projects.avetavos.com/devblog/th/backend-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/"/></url><url><loc>https://projects.avetavos.com/devblog/th/backend-foundations/app-module/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/app-module/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/app-module/"/></url><url><loc>https://projects.avetavos.com/devblog/th/backend-foundations/config-exceptions/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/config-exceptions/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/config-exceptions/"/></url><url><loc>https://projects.avetavos.com/devblog/th/backend-foundations/mongoose-connection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/mongoose-connection/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/mongoose-connection/"/></url><url><loc>https://projects.avetavos.com/devblog/th/backend-foundations/validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/backend-foundations/validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/backend-foundations/validation/"/></url><url><loc>https://projects.avetavos.com/devblog/th/comments/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/"/></url><url><loc>https://projects.avetavos.com/devblog/th/comments/comment-model/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/comment-model/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/comment-model/"/></url><url><loc>https://projects.avetavos.com/devblog/th/comments/moderation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/comments/moderation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/comments/moderation/"/></url><url><loc>https://projects.avetavos.com/devblog/th/content-workflow/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/"/></url><url><loc>https://projects.avetavos.com/devblog/th/content-workflow/draft-publish/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/draft-publish/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/draft-publish/"/></url><url><loc>https://projects.avetavos.com/devblog/th/content-workflow/refactoring-pass/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/refactoring-pass/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/refactoring-pass/"/></url><url><loc>https://projects.avetavos.com/devblog/th/content-workflow/slugs-validation/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/content-workflow/slugs-validation/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/content-workflow/slugs-validation/"/></url><url><loc>https://projects.avetavos.com/devblog/th/data-modeling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/"/></url><url><loc>https://projects.avetavos.com/devblog/th/data-modeling/relationships-indexes/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/relationships-indexes/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/relationships-indexes/"/></url><url><loc>https://projects.avetavos.com/devblog/th/data-modeling/schemas/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/data-modeling/schemas/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/data-modeling/schemas/"/></url><url><loc>https://projects.avetavos.com/devblog/th/docker/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/"/></url><url><loc>https://projects.avetavos.com/devblog/th/docker/api-image/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/api-image/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/api-image/"/></url><url><loc>https://projects.avetavos.com/devblog/th/docker/compose-full/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/compose-full/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/compose-full/"/></url><url><loc>https://projects.avetavos.com/devblog/th/docker/web-image/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/docker/web-image/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/docker/web-image/"/></url><url><loc>https://projects.avetavos.com/devblog/th/frontend-foundations/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/"/></url><url><loc>https://projects.avetavos.com/devblog/th/frontend-foundations/app-router-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/app-router-layout/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/app-router-layout/"/></url><url><loc>https://projects.avetavos.com/devblog/th/frontend-foundations/graphql-client/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/graphql-client/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/graphql-client/"/></url><url><loc>https://projects.avetavos.com/devblog/th/frontend-foundations/styling/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/frontend-foundations/styling/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/frontend-foundations/styling/"/></url><url><loc>https://projects.avetavos.com/devblog/th/graphql-api/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/"/></url><url><loc>https://projects.avetavos.com/devblog/th/graphql-api/code-first-basics/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/code-first-basics/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/code-first-basics/"/></url><url><loc>https://projects.avetavos.com/devblog/th/graphql-api/pagination/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/pagination/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/pagination/"/></url><url><loc>https://projects.avetavos.com/devblog/th/graphql-api/posts-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/posts-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/posts-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/th/graphql-api/tags-resolver/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/graphql-api/tags-resolver/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/graphql-api/tags-resolver/"/></url><url><loc>https://projects.avetavos.com/devblog/th/introduction/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/"/></url><url><loc>https://projects.avetavos.com/devblog/th/introduction/architecture/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/architecture/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/architecture/"/></url><url><loc>https://projects.avetavos.com/devblog/th/introduction/overview/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/overview/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/overview/"/></url><url><loc>https://projects.avetavos.com/devblog/th/introduction/prerequisites/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/prerequisites/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/prerequisites/"/></url><url><loc>https://projects.avetavos.com/devblog/th/introduction/roadmap/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/introduction/roadmap/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/introduction/roadmap/"/></url><url><loc>https://projects.avetavos.com/devblog/th/public-blog/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/"/></url><url><loc>https://projects.avetavos.com/devblog/th/public-blog/home-list/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/home-list/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/home-list/"/></url><url><loc>https://projects.avetavos.com/devblog/th/public-blog/post-page/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/post-page/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/post-page/"/></url><url><loc>https://projects.avetavos.com/devblog/th/public-blog/seo-rss/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/seo-rss/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/seo-rss/"/></url><url><loc>https://projects.avetavos.com/devblog/th/public-blog/tag-pages/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/public-blog/tag-pages/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/public-blog/tag-pages/"/></url><url><loc>https://projects.avetavos.com/devblog/th/setup/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/"/></url><url><loc>https://projects.avetavos.com/devblog/th/setup/backend-init/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/backend-init/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/backend-init/"/></url><url><loc>https://projects.avetavos.com/devblog/th/setup/compose-skeleton/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/compose-skeleton/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/compose-skeleton/"/></url><url><loc>https://projects.avetavos.com/devblog/th/setup/frontend-init/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/frontend-init/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/frontend-init/"/></url><url><loc>https://projects.avetavos.com/devblog/th/setup/repo-layout/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/setup/repo-layout/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/setup/repo-layout/"/></url><url><loc>https://projects.avetavos.com/devblog/th/testing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/"/></url><url><loc>https://projects.avetavos.com/devblog/th/testing/api-collection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/api-collection/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/api-collection/"/></url><url><loc>https://projects.avetavos.com/devblog/th/testing/backend-tests/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/backend-tests/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/backend-tests/"/></url><url><loc>https://projects.avetavos.com/devblog/th/testing/frontend-tests/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/testing/frontend-tests/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/testing/frontend-tests/"/></url><url><loc>https://projects.avetavos.com/devblog/th/wrap-up/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/"/></url><url><loc>https://projects.avetavos.com/devblog/th/wrap-up/exercises/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/exercises/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/exercises/"/></url><url><loc>https://projects.avetavos.com/devblog/th/wrap-up/next-steps/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/next-steps/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/next-steps/"/></url><url><loc>https://projects.avetavos.com/devblog/th/wrap-up/recap/</loc><xhtml:link rel="alternate" hreflang="en" href="https://projects.avetavos.com/devblog/en/wrap-up/recap/"/><xhtml:link rel="alternate" hreflang="th" href="https://projects.avetavos.com/devblog/th/wrap-up/recap/"/></url></urlset>