├── .dockerignore ├── .editorconfig ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .github └── workflows │ ├── build-merge.yml │ ├── lint-and-test-merge.yml │ ├── lint-and-test-pull-request.yml │ ├── typedocs-merge.yml │ └── typedocs-pull-request.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode ├── extensions.json └── settings.json ├── Conduit.postman_collection.json ├── Dockerfile ├── Dockerfile-Nginx ├── README.md ├── apps ├── .gitkeep ├── api │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── app.controller.test.ts │ │ ├── app.controller.ts │ │ ├── app.module.ts │ │ ├── app.service.ts │ │ ├── article │ │ │ ├── article.controller.test.ts │ │ │ ├── article.controller.ts │ │ │ ├── article.entity.ts │ │ │ ├── article.module.ts │ │ │ ├── article.service.test.ts │ │ │ ├── article.service.ts │ │ │ ├── comment.entity.ts │ │ │ └── dto │ │ │ │ ├── article-feed.dto.ts │ │ │ │ ├── articles-query.dto.ts │ │ │ │ ├── create-article-comment.dto.ts │ │ │ │ └── create-article.dto.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── auth │ │ │ ├── auth.module.ts │ │ │ ├── auth.service.test.ts │ │ │ ├── auth.service.ts │ │ │ ├── dto │ │ │ │ ├── login.dto.ts │ │ │ │ └── register.dto.ts │ │ │ ├── jwt-auth.guard.test.ts │ │ │ ├── jwt-auth.guard.ts │ │ │ ├── jwt.strategy.ts │ │ │ └── public.decorator.ts │ │ ├── casl │ │ │ ├── casl.factory.test.ts │ │ │ ├── casl.factory.ts │ │ │ ├── casl.module.ts │ │ │ ├── check-policies.decorator.ts │ │ │ ├── policies.guard.test.ts │ │ │ ├── policies.guard.ts │ │ │ └── policy-handlers.ts │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── main.ts │ │ ├── profile │ │ │ ├── follow.entity.ts │ │ │ ├── profile.controller.test.ts │ │ │ ├── profile.controller.ts │ │ │ ├── profile.module.ts │ │ │ ├── profile.service.test.ts │ │ │ └── profile.service.ts │ │ ├── tag │ │ │ ├── dto │ │ │ │ └── create-tag.dto.ts │ │ │ ├── tag.controller.test.ts │ │ │ ├── tag.controller.ts │ │ │ ├── tag.entity.ts │ │ │ ├── tag.module.ts │ │ │ ├── tag.service.test.ts │ │ │ └── tag.service.ts │ │ └── users │ │ │ ├── dto │ │ │ └── patch-user.dto.ts │ │ │ ├── password.transformer.ts │ │ │ ├── user-role.entity.ts │ │ │ ├── user.controller.ts │ │ │ ├── user.decorator.ts │ │ │ ├── user.entity.ts │ │ │ ├── users.controller.test.ts │ │ │ ├── users.controller.ts │ │ │ ├── users.module.ts │ │ │ ├── users.service.test.ts │ │ │ └── users.service.ts │ ├── tsconfig.app.json │ ├── tsconfig.json │ └── tsconfig.test.json ├── prebuilt-ui-e2e │ ├── .eslintrc.json │ ├── cypress.config.ts │ ├── project.json │ ├── src │ │ ├── e2e │ │ │ └── app.cy.ts │ │ ├── fixtures │ │ │ └── example.json │ │ └── support │ │ │ ├── app.po.ts │ │ │ ├── commands.ts │ │ │ └── e2e.ts │ └── tsconfig.json ├── prebuilt-ui │ ├── .eslintrc.json │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── core │ │ │ │ ├── auth │ │ │ │ │ ├── auth.component.html │ │ │ │ │ └── auth.component.ts │ │ │ │ ├── interceptors │ │ │ │ │ ├── api.interceptor.ts │ │ │ │ │ ├── error.interceptor.ts │ │ │ │ │ └── token.interceptor.ts │ │ │ │ ├── layout │ │ │ │ │ ├── footer.component.html │ │ │ │ │ ├── footer.component.ts │ │ │ │ │ ├── header.component.html │ │ │ │ │ └── header.component.ts │ │ │ │ ├── models │ │ │ │ │ ├── article-list-config.model.ts │ │ │ │ │ ├── article.model.ts │ │ │ │ │ ├── comment.model.ts │ │ │ │ │ ├── errors.model.ts │ │ │ │ │ ├── loading-state.model.ts │ │ │ │ │ ├── profile.model.ts │ │ │ │ │ └── user.model.ts │ │ │ │ └── services │ │ │ │ │ ├── articles.service.ts │ │ │ │ │ ├── comments.service.ts │ │ │ │ │ ├── jwt.service.ts │ │ │ │ │ ├── profile.service.ts │ │ │ │ │ ├── tags.service.ts │ │ │ │ │ └── user.service.ts │ │ │ ├── features │ │ │ │ ├── article │ │ │ │ │ ├── article-comment.component.html │ │ │ │ │ ├── article-comment.component.ts │ │ │ │ │ ├── article.component.html │ │ │ │ │ ├── article.component.ts │ │ │ │ │ └── markdown.pipe.ts │ │ │ │ ├── editor │ │ │ │ │ ├── editor.component.html │ │ │ │ │ └── editor.component.ts │ │ │ │ ├── home │ │ │ │ │ ├── home.component.css │ │ │ │ │ ├── home.component.html │ │ │ │ │ └── home.component.ts │ │ │ │ ├── profile │ │ │ │ │ ├── profile-articles.component.html │ │ │ │ │ ├── profile-articles.component.ts │ │ │ │ │ ├── profile-favorites.component.html │ │ │ │ │ ├── profile-favorites.component.ts │ │ │ │ │ ├── profile.component.html │ │ │ │ │ └── profile.component.ts │ │ │ │ └── settings │ │ │ │ │ ├── settings.component.html │ │ │ │ │ └── settings.component.ts │ │ │ └── shared │ │ │ │ ├── article-helpers │ │ │ │ ├── article-list.component.css │ │ │ │ ├── article-list.component.html │ │ │ │ ├── article-list.component.ts │ │ │ │ ├── article-meta.component.html │ │ │ │ ├── article-meta.component.ts │ │ │ │ ├── article-preview.component.html │ │ │ │ └── article-preview.component.ts │ │ │ │ ├── buttons │ │ │ │ ├── favorite-button.component.html │ │ │ │ ├── favorite-button.component.ts │ │ │ │ ├── follow-button.component.html │ │ │ │ └── follow-button.component.ts │ │ │ │ ├── list-errors.component.html │ │ │ │ ├── list-errors.component.ts │ │ │ │ └── show-authed.directive.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json └── ui │ ├── .eslintrc.json │ ├── index.html │ ├── project.json │ ├── proxy.conf.json │ ├── src │ ├── app │ │ ├── app.component.ts │ │ ├── app.config.server.ts │ │ ├── app.config.ts │ │ └── pages │ │ │ ├── [...page-not-found].page.ts │ │ │ ├── analog-welcome.component.ts │ │ │ ├── article │ │ │ └── [articleId].page.ts │ │ │ ├── create-article.page.ts │ │ │ ├── index.page.ts │ │ │ ├── login.page.ts │ │ │ ├── options.page.ts │ │ │ └── register.page.ts │ ├── favicon.ico │ ├── main.server.ts │ ├── main.ts │ ├── public │ │ └── assets │ │ │ ├── .gitkeep │ │ │ ├── analog.svg │ │ │ └── img │ │ │ ├── about │ │ │ ├── about-1.jpg │ │ │ ├── about-2.jpg │ │ │ ├── about-3.jpg │ │ │ ├── about-4.jpg │ │ │ ├── about-5.jpg │ │ │ ├── about-6.jpg │ │ │ ├── about-7.jpg │ │ │ └── shape │ │ │ │ ├── about-shape-1.png │ │ │ │ ├── about-shape-2.png │ │ │ │ ├── about-shape-3.png │ │ │ │ └── about-shape-4.png │ │ │ ├── activity │ │ │ ├── user-1.jpg │ │ │ ├── user-2.jpg │ │ │ ├── user-3.jpg │ │ │ ├── user-4.jpg │ │ │ └── user-5.jpg │ │ │ ├── auction │ │ │ ├── auction-img-1.jpg │ │ │ ├── auction-img-2.jpg │ │ │ ├── auction-img-3.jpg │ │ │ ├── auction-img-4.jpg │ │ │ ├── auction-img-5.jpg │ │ │ ├── auction-img-6.jpg │ │ │ ├── auction-img-7.jpg │ │ │ ├── author │ │ │ │ ├── auction-author-1.jpg │ │ │ │ ├── auction-author-2.jpg │ │ │ │ ├── auction-author-3.jpg │ │ │ │ ├── auction-author-4.jpg │ │ │ │ ├── auction-author-5.jpg │ │ │ │ └── auction-author-6.jpg │ │ │ └── sm │ │ │ │ ├── auction-sm-1.jpg │ │ │ │ ├── auction-sm-2.jpg │ │ │ │ ├── auction-sm-3.jpg │ │ │ │ ├── auction-sm-4.jpg │ │ │ │ ├── auction-sm-5.jpg │ │ │ │ ├── auction-sm-6.jpg │ │ │ │ └── author │ │ │ │ ├── author-1.jpg │ │ │ │ ├── author-2.jpg │ │ │ │ ├── author-3.jpg │ │ │ │ ├── author-4.jpg │ │ │ │ ├── author-5.jpg │ │ │ │ └── author-6.jpg │ │ │ ├── bid │ │ │ ├── 2 │ │ │ │ ├── bid-img-1.jpg │ │ │ │ ├── bid-img-10.jpg │ │ │ │ ├── bid-img-11.jpg │ │ │ │ ├── bid-img-12.jpg │ │ │ │ ├── bid-img-13.jpg │ │ │ │ ├── bid-img-14.jpg │ │ │ │ ├── bid-img-15.jpg │ │ │ │ ├── bid-img-17.jpg │ │ │ │ ├── bid-img-18.jpg │ │ │ │ ├── bid-img-19.jpg │ │ │ │ ├── bid-img-2.jpg │ │ │ │ ├── bid-img-20.jpg │ │ │ │ ├── bid-img-3.jpg │ │ │ │ ├── bid-img-4.jpg │ │ │ │ ├── bid-img-5.jpg │ │ │ │ ├── bid-img-6.jpg │ │ │ │ ├── bid-img-7.jpg │ │ │ │ ├── bid-img-8.jpg │ │ │ │ ├── bid-img-9.jpg │ │ │ │ ├── bid-user-1.jpg │ │ │ │ ├── bid-user-2.jpg │ │ │ │ └── bid-user-3.jpg │ │ │ ├── bid-img-1.jpg │ │ │ ├── bid-img-10.jpg │ │ │ ├── bid-img-11.jpg │ │ │ ├── bid-img-12.jpg │ │ │ ├── bid-img-13.jpg │ │ │ ├── bid-img-14.jpg │ │ │ ├── bid-img-15.jpg │ │ │ ├── bid-img-16.jpg │ │ │ ├── bid-img-17.jpg │ │ │ ├── bid-img-18.jpg │ │ │ ├── bid-img-19.jpg │ │ │ ├── bid-img-2.jpg │ │ │ ├── bid-img-20.jpg │ │ │ ├── bid-img-21.jpg │ │ │ ├── bid-img-22.jpg │ │ │ ├── bid-img-23.jpg │ │ │ ├── bid-img-3.jpg │ │ │ ├── bid-img-4.jpg │ │ │ ├── bid-img-5.jpg │ │ │ ├── bid-img-6.jpg │ │ │ ├── bid-img-7.jpg │ │ │ ├── bid-img-8.jpg │ │ │ ├── bid-img-9.jpg │ │ │ ├── bid-user-1.jpg │ │ │ ├── bid-user-2.jpg │ │ │ └── list │ │ │ │ ├── bid-list-1.jpg │ │ │ │ ├── bid-list-2.jpg │ │ │ │ ├── bid-list-3.jpg │ │ │ │ ├── bid-list-4.jpg │ │ │ │ ├── bid-list-5.jpg │ │ │ │ └── bid-list-6.jpg │ │ │ ├── blog │ │ │ ├── 2 │ │ │ │ ├── blog-img-1.jpg │ │ │ │ └── blog-img-2.jpg │ │ │ ├── author │ │ │ │ ├── blog-author-1.jpg │ │ │ │ ├── blog-author-2.jpg │ │ │ │ ├── blog-author-3.jpg │ │ │ │ ├── blog-author-4.jpg │ │ │ │ ├── blog-author-5.jpg │ │ │ │ ├── blog-author-6.jpg │ │ │ │ └── blog-author-7.jpg │ │ │ ├── blog-1.jpg │ │ │ ├── blog-2.jpg │ │ │ ├── blog-3.jpg │ │ │ ├── blog-4.jpg │ │ │ ├── blog-5.jpg │ │ │ ├── blog-6.jpg │ │ │ ├── blog-big-1.jpg │ │ │ ├── comments │ │ │ │ ├── comment-1.jpg │ │ │ │ ├── comment-2.jpg │ │ │ │ └── comment-3.jpg │ │ │ ├── footer-sm │ │ │ │ ├── footer-sm-1.jpg │ │ │ │ ├── footer-sm-2.jpg │ │ │ │ ├── footer-sm-3.jpg │ │ │ │ └── footer-sm-4.jpg │ │ │ └── sidebar │ │ │ │ ├── blog-sm-1.jpg │ │ │ │ ├── blog-sm-2.jpg │ │ │ │ └── blog-sm-3.jpg │ │ │ ├── brand │ │ │ ├── 2 │ │ │ │ ├── brand-1.png │ │ │ │ ├── brand-2.png │ │ │ │ ├── brand-3.png │ │ │ │ ├── brand-4.png │ │ │ │ ├── brand-5.png │ │ │ │ ├── brand-6.png │ │ │ │ ├── brand-7.png │ │ │ │ ├── brand-8.png │ │ │ │ └── brand-9.png │ │ │ ├── brand-1.png │ │ │ ├── brand-2.png │ │ │ ├── brand-3.png │ │ │ ├── brand-4.png │ │ │ ├── brand-5.png │ │ │ ├── brand-6.png │ │ │ ├── brand-7.png │ │ │ ├── brand-8.png │ │ │ └── brand-9.png │ │ │ ├── breadcrumb │ │ │ └── breadcrumb-shape-1.png │ │ │ ├── collection │ │ │ ├── 2 │ │ │ │ ├── collection-bg.jpg │ │ │ │ └── user │ │ │ │ │ ├── user-1.jpg │ │ │ │ │ ├── user-10.jpg │ │ │ │ │ ├── user-11.jpg │ │ │ │ │ ├── user-12.jpg │ │ │ │ │ ├── user-2.jpg │ │ │ │ │ ├── user-3.jpg │ │ │ │ │ ├── user-4.jpg │ │ │ │ │ ├── user-5.jpg │ │ │ │ │ ├── user-6.jpg │ │ │ │ │ ├── user-7.jpg │ │ │ │ │ ├── user-8.jpg │ │ │ │ │ └── user-9.jpg │ │ │ ├── 3 │ │ │ │ ├── collection-1.jpg │ │ │ │ ├── collection-10.jpg │ │ │ │ ├── collection-11.jpg │ │ │ │ ├── collection-2.jpg │ │ │ │ ├── collection-3.jpg │ │ │ │ ├── collection-4.jpg │ │ │ │ ├── collection-5.jpg │ │ │ │ ├── collection-6.jpg │ │ │ │ ├── collection-7.jpg │ │ │ │ ├── collection-8.jpg │ │ │ │ ├── collection-9.jpg │ │ │ │ ├── sm │ │ │ │ │ ├── collection-sm-1.jpg │ │ │ │ │ ├── collection-sm-10.jpg │ │ │ │ │ ├── collection-sm-11.jpg │ │ │ │ │ ├── collection-sm-2.jpg │ │ │ │ │ ├── collection-sm-3.jpg │ │ │ │ │ ├── collection-sm-4.jpg │ │ │ │ │ ├── collection-sm-5.jpg │ │ │ │ │ ├── collection-sm-6.jpg │ │ │ │ │ ├── collection-sm-7.jpg │ │ │ │ │ ├── collection-sm-8.jpg │ │ │ │ │ └── collection-sm-9.jpg │ │ │ │ └── user │ │ │ │ │ ├── user-1.jpg │ │ │ │ │ ├── user-2.jpg │ │ │ │ │ ├── user-3.jpg │ │ │ │ │ ├── user-4.jpg │ │ │ │ │ ├── user-5.jpg │ │ │ │ │ └── user-6.jpg │ │ │ ├── collection-1.jpg │ │ │ ├── collection-10.jpg │ │ │ ├── collection-11.jpg │ │ │ ├── collection-12.jpg │ │ │ ├── collection-13.jpg │ │ │ ├── collection-14.jpg │ │ │ ├── collection-15.jpg │ │ │ ├── collection-16.jpg │ │ │ ├── collection-17.jpg │ │ │ ├── collection-18.jpg │ │ │ ├── collection-2.jpg │ │ │ ├── collection-3.jpg │ │ │ ├── collection-4.jpg │ │ │ ├── collection-5.jpg │ │ │ ├── collection-6.jpg │ │ │ ├── collection-7.jpg │ │ │ ├── collection-8.jpg │ │ │ ├── collection-9.jpg │ │ │ ├── collection-big-1.jpg │ │ │ ├── collection-big-2.jpg │ │ │ ├── collection-big-3.jpg │ │ │ ├── collection-big-4.jpg │ │ │ ├── collection-big-5.jpg │ │ │ ├── collection-big-6.jpg │ │ │ └── user │ │ │ │ ├── collection-user-1.jpg │ │ │ │ ├── collection-user-2.jpg │ │ │ │ ├── collection-user-3.jpg │ │ │ │ ├── collection-user-4.jpg │ │ │ │ ├── collection-user-5.jpg │ │ │ │ └── collection-user-6.jpg │ │ │ ├── coming │ │ │ └── coming-soon-bg.jpg │ │ │ ├── create │ │ │ ├── create-1.png │ │ │ ├── create-2.png │ │ │ └── create-bg.jpg │ │ │ ├── creator │ │ │ ├── bg │ │ │ │ ├── creator-bg-1.jpg │ │ │ │ ├── creator-bg-2.jpg │ │ │ │ ├── creator-bg-3.jpg │ │ │ │ ├── creator-bg-4.jpg │ │ │ │ ├── creator-bg-5.jpg │ │ │ │ └── creator-bg-6.jpg │ │ │ ├── creator-1.jpg │ │ │ ├── creator-2.jpg │ │ │ ├── creator-3.jpg │ │ │ ├── creator-4.jpg │ │ │ ├── creator-5.jpg │ │ │ ├── creator-6.jpg │ │ │ ├── creator-7.jpg │ │ │ ├── creator-8.jpg │ │ │ ├── creator-9.jpg │ │ │ ├── creator-bg-2.jpg │ │ │ ├── creator-bg.jpg │ │ │ └── user-1.jpg │ │ │ ├── cta │ │ │ ├── 2 │ │ │ │ ├── cta-graph.png │ │ │ │ ├── cta-shape-1.png │ │ │ │ ├── cta-shape-2.png │ │ │ │ └── cta-shape-3.png │ │ │ ├── 3 │ │ │ │ └── cta-bg.jpg │ │ │ ├── cta-shape-1.png │ │ │ └── qrcode.png │ │ │ ├── error │ │ │ └── error-1.png │ │ │ ├── favicon.png │ │ │ ├── footer │ │ │ ├── verifay-dark.png │ │ │ └── verifay-light.png │ │ │ ├── icon │ │ │ ├── activity │ │ │ │ ├── activity-bid.svg │ │ │ │ ├── activity-cart.svg │ │ │ │ ├── activity-check.svg │ │ │ │ ├── activity-eth.svg │ │ │ │ ├── activity-heart.svg │ │ │ │ ├── activity-swap.svg │ │ │ │ └── activity-tag.svg │ │ │ ├── android.svg │ │ │ ├── apple.svg │ │ │ ├── art.svg │ │ │ ├── blast.png │ │ │ ├── close.png │ │ │ ├── contact │ │ │ │ ├── contact-1.png │ │ │ │ ├── contact-2.png │ │ │ │ ├── contact-3.png │ │ │ │ ├── contact-shape-1.png │ │ │ │ ├── contact-shape-2.png │ │ │ │ ├── contact-shape-3.png │ │ │ │ ├── contact-shape-4.png │ │ │ │ └── contact-shape-5.png │ │ │ ├── copy.svg │ │ │ ├── counter │ │ │ │ ├── counter-1.png │ │ │ │ ├── counter-2.png │ │ │ │ ├── counter-3.png │ │ │ │ ├── counter-4.png │ │ │ │ ├── counter-5.png │ │ │ │ └── counter-6.png │ │ │ ├── dot.svg │ │ │ ├── facebook.png │ │ │ ├── features │ │ │ │ ├── features-icon-1-light.png │ │ │ │ ├── features-icon-1.png │ │ │ │ ├── features-icon-2-light.png │ │ │ │ ├── features-icon-2.png │ │ │ │ ├── features-icon-3-light.png │ │ │ │ ├── features-icon-3.png │ │ │ │ ├── features-icon-4-light.png │ │ │ │ └── features-icon-4.png │ │ │ ├── filter.svg │ │ │ ├── fire-2.png │ │ │ ├── fire-sm-1.png │ │ │ ├── fire.png │ │ │ ├── google-play.png │ │ │ ├── google-play.svg │ │ │ ├── google.png │ │ │ ├── header │ │ │ │ ├── header-bell.svg │ │ │ │ ├── header-search.svg │ │ │ │ └── header-wallet.svg │ │ │ ├── join │ │ │ │ ├── join-1.png │ │ │ │ ├── join-2.png │ │ │ │ └── join-3.png │ │ │ ├── login │ │ │ │ ├── login-email.svg │ │ │ │ └── login-password.svg │ │ │ ├── love.png │ │ │ ├── nft │ │ │ │ ├── nft-filter-1.svg │ │ │ │ ├── nft-filter-2.svg │ │ │ │ ├── nft-filter-3.svg │ │ │ │ ├── nft-filter-4.svg │ │ │ │ └── nft-filter-5.svg │ │ │ ├── process │ │ │ │ ├── process-icon-1.svg │ │ │ │ ├── process-icon-2.svg │ │ │ │ ├── process-icon-3.svg │ │ │ │ └── process-icon-4.svg │ │ │ ├── seller │ │ │ │ ├── seller-arrow.svg │ │ │ │ ├── seller-cup.svg │ │ │ │ ├── seller-currency.svg │ │ │ │ ├── seller-plus.svg │ │ │ │ └── seller-zigzag.svg │ │ │ ├── slider-stoke-shape.svg │ │ │ ├── target-sm-1.png │ │ │ ├── target.png │ │ │ ├── trending │ │ │ │ ├── camera.png │ │ │ │ ├── color.png │ │ │ │ ├── fire.png │ │ │ │ ├── football.png │ │ │ │ ├── game.png │ │ │ │ ├── guiter.png │ │ │ │ └── video.png │ │ │ └── wallet │ │ │ │ ├── authereum.png │ │ │ │ ├── bitski.png │ │ │ │ ├── coinbase.png │ │ │ │ ├── formatic.png │ │ │ │ ├── metamask.png │ │ │ │ ├── torus.png │ │ │ │ ├── wallet-copy.svg │ │ │ │ └── wallet.png │ │ │ ├── login │ │ │ ├── login-person.png │ │ │ ├── login-shape-1.png │ │ │ ├── login-shape-2.png │ │ │ └── login-shape-3.png │ │ │ ├── logo │ │ │ ├── logo-black.png │ │ │ ├── logo.png │ │ │ ├── realworld-logo-100.png │ │ │ └── realworld-logo.png │ │ │ ├── maintainance │ │ │ └── maintainance.png │ │ │ ├── nft │ │ │ ├── user-1.jpg │ │ │ ├── user-2.jpg │ │ │ └── user-3.jpg │ │ │ ├── product │ │ │ ├── collection │ │ │ │ └── product-collection-1.jpg │ │ │ ├── grid │ │ │ │ ├── product-grid-1.jpg │ │ │ │ ├── product-grid-2.jpg │ │ │ │ ├── product-grid-3.jpg │ │ │ │ └── product-grid-4.jpg │ │ │ ├── product-1.jpg │ │ │ ├── product-2.jpg │ │ │ ├── tab │ │ │ │ ├── product-tab-big-1.jpg │ │ │ │ ├── product-tab-big-2.jpg │ │ │ │ ├── product-tab-big-3.jpg │ │ │ │ ├── product-tab-sm-1.jpg │ │ │ │ ├── product-tab-sm-2.jpg │ │ │ │ └── product-tab-sm-3.jpg │ │ │ └── user │ │ │ │ ├── product-user-1.jpg │ │ │ │ └── product-user-2.jpg │ │ │ ├── seller │ │ │ ├── seller-1.jpg │ │ │ ├── seller-2.jpg │ │ │ ├── seller-3.jpg │ │ │ ├── seller-4.jpg │ │ │ ├── seller-5.jpg │ │ │ └── seller-6.jpg │ │ │ ├── slider │ │ │ ├── 2 │ │ │ │ ├── slider-1.jpg │ │ │ │ ├── slider-2.jpg │ │ │ │ ├── slider-shape-1.png │ │ │ │ ├── slider-shape-2.png │ │ │ │ ├── slider-shape-3.png │ │ │ │ └── user │ │ │ │ │ └── user-1.jpg │ │ │ ├── 3 │ │ │ │ ├── slider-bg.png │ │ │ │ ├── slider-thumb-1.jpg │ │ │ │ ├── slider-thumb-2.jpg │ │ │ │ ├── slider-thumb-3.jpg │ │ │ │ ├── slider-thumb-4.jpg │ │ │ │ ├── slider-thumb-shape.png │ │ │ │ └── user │ │ │ │ │ ├── slider-user-1.png │ │ │ │ │ ├── slider-user-2.png │ │ │ │ │ └── slider-user-3.png │ │ │ ├── bg.png │ │ │ ├── slider-big-1.jpg │ │ │ ├── slider-big-2.jpg │ │ │ ├── slider-sm-1.jpg │ │ │ ├── slider-sm-2.jpg │ │ │ ├── slider-sm-3.jpg │ │ │ ├── slider-sm-4.jpg │ │ │ ├── slider-sm-5.jpg │ │ │ ├── slider-sm-6.jpg │ │ │ └── slider-sm-7.jpg │ │ │ ├── team │ │ │ ├── team-1.jpg │ │ │ ├── team-2.jpg │ │ │ ├── team-3.jpg │ │ │ ├── team-4.jpg │ │ │ └── team-5.jpg │ │ │ ├── user │ │ │ ├── user-2.jpg │ │ │ ├── user-cover.png │ │ │ └── user.jpg │ │ │ └── video │ │ │ └── video-bg.jpg │ ├── server │ │ └── routes │ │ │ └── v1 │ │ │ └── hello.ts │ ├── styles.scss │ ├── styles │ │ ├── components │ │ │ ├── _animation.scss │ │ │ ├── _background.scss │ │ │ ├── _breadcrumb.scss │ │ │ ├── _buttons.scss │ │ │ ├── _carousel.scss │ │ │ ├── _modal.scss │ │ │ ├── _offcanvas.scss │ │ │ ├── _preloader.scss │ │ │ ├── _section-title.scss │ │ │ ├── _settings.scss │ │ │ ├── _spacing.scss │ │ │ ├── _theme.scss │ │ │ └── _videoModal.scss │ │ ├── fonts │ │ │ ├── elegantIcons.eot │ │ │ ├── elegantIcons.ttf │ │ │ ├── elegantIcons.woff │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-light-300.ttf │ │ │ ├── fa-light-300.woff2 │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff2 │ │ │ ├── fa-thin-100.ttf │ │ │ ├── fa-thin-100.woff2 │ │ │ ├── fa-v4compatibility.ttf │ │ │ └── fa-v4compatibility.woff2 │ │ ├── icns │ │ │ ├── elegant-icon.css │ │ │ ├── flaticon.css │ │ │ └── font-awesome-pro.css │ │ ├── layout │ │ │ ├── _about.scss │ │ │ ├── _activity.scss │ │ │ ├── _app.scss │ │ │ ├── _auction.scss │ │ │ ├── _bid.scss │ │ │ ├── _blog.scss │ │ │ ├── _brand.scss │ │ │ ├── _collection.scss │ │ │ ├── _coming.scss │ │ │ ├── _contact.scss │ │ │ ├── _create.scss │ │ │ ├── _creator.scss │ │ │ ├── _cta.scss │ │ │ ├── _error.scss │ │ │ ├── _faq.scss │ │ │ ├── _features.scss │ │ │ ├── _footer.scss │ │ │ ├── _header.scss │ │ │ ├── _join.scss │ │ │ ├── _light-dark.scss │ │ │ ├── _login.scss │ │ │ ├── _marque.scss │ │ │ ├── _meanmenu.scss │ │ │ ├── _mission.scss │ │ │ ├── _mobileNav.scss │ │ │ ├── _privacy.scss │ │ │ ├── _process.scss │ │ │ ├── _seller.scss │ │ │ ├── _shop.scss │ │ │ ├── _slider.scss │ │ │ ├── _team.scss │ │ │ ├── _upcoming.scss │ │ │ ├── _video.scss │ │ │ └── _wallet.scss │ │ ├── main.scss │ │ └── utils │ │ │ ├── _breakpoints.scss │ │ │ ├── _colors.scss │ │ │ ├── _index.scss │ │ │ ├── _mixins.scss │ │ │ ├── _root.scss │ │ │ └── _typography.scss │ ├── test-setup.ts │ └── vite-env.d.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ ├── tsconfig.spec.json │ └── vite.config.ts ├── decorate-angular-cli.js ├── docker-compose.yml ├── docker ├── entrypoint-nginx.sh └── vhost.template ├── execute-api-tests.sh ├── jest.config.ts ├── jest.preset.js ├── libs ├── .gitkeep ├── api-client-lib │ ├── .gitignore │ ├── .openapi-generator-ignore │ ├── .openapi-generator │ │ ├── FILES │ │ └── VERSION │ ├── README.md │ ├── api.module.ts │ ├── api │ │ ├── api.ts │ │ ├── articles.service.ts │ │ ├── comments.service.ts │ │ ├── default.service.ts │ │ ├── favorites.service.ts │ │ ├── profile.service.ts │ │ ├── profiles.service.ts │ │ ├── tags.service.ts │ │ ├── user.service.ts │ │ ├── userAndAuthentication.service.ts │ │ └── users.service.ts │ ├── configuration.ts │ ├── encoder.ts │ ├── git_push.sh │ ├── index.ts │ ├── model │ │ ├── article.model.ts │ │ ├── articleCommentDto.model.ts │ │ ├── articleDto.model.ts │ │ ├── comment.model.ts │ │ ├── createArticle201Response.model.ts │ │ ├── createArticleComment200Response.model.ts │ │ ├── createArticleCommentDto.model.ts │ │ ├── createArticleCommentRequest.model.ts │ │ ├── createArticleDto.model.ts │ │ ├── createArticleRequest.model.ts │ │ ├── createUserRequest.model.ts │ │ ├── genericErrorModel.model.ts │ │ ├── genericErrorModelErrors.model.ts │ │ ├── getArticleComments200Response.model.ts │ │ ├── getArticlesFeed200Response.model.ts │ │ ├── getProfileByUsername200Response.model.ts │ │ ├── getTags200Response.model.ts │ │ ├── login200Response.model.ts │ │ ├── loginDto.model.ts │ │ ├── loginRequest.model.ts │ │ ├── loginUser.model.ts │ │ ├── models.ts │ │ ├── newArticle.model.ts │ │ ├── newComment.model.ts │ │ ├── newUser.model.ts │ │ ├── patchUserDto.model.ts │ │ ├── profile.model.ts │ │ ├── registerDto.model.ts │ │ ├── updateArticle.model.ts │ │ ├── updateArticleRequest.model.ts │ │ ├── updateCurrentUserRequest.model.ts │ │ ├── updateUser.model.ts │ │ ├── user.model.ts │ │ ├── userDto.model.ts │ │ ├── userLoginDto.model.ts │ │ └── userRegistrationDto.model.ts │ ├── ng-package.json │ ├── package.json │ ├── param.ts │ ├── tsconfig.json │ └── variables.ts ├── api-types │ ├── .babelrc │ ├── .eslintrc.json │ ├── README.md │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ └── api-types.ts │ ├── tsconfig.json │ └── tsconfig.lib.json ├── core-components │ ├── .eslintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── project.json │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ ├── article │ │ │ │ ├── article.component.html │ │ │ │ ├── article.component.scss │ │ │ │ └── article.component.ts │ │ │ ├── articles │ │ │ │ ├── article-search.service.ts │ │ │ │ ├── articles-feed.component.html │ │ │ │ ├── articles-feed.component.scss │ │ │ │ ├── articles-feed.component.ts │ │ │ │ ├── articles-pagination.component.html │ │ │ │ ├── articles-pagination.component.ts │ │ │ │ ├── articles-right-nav.component.html │ │ │ │ └── articles-right-nav.component.ts │ │ │ ├── auth │ │ │ │ ├── auth.guard.ts │ │ │ │ ├── login-form.component.html │ │ │ │ ├── login-form.component.ts │ │ │ │ ├── redirect-if-authenticated.guard.ts │ │ │ │ ├── register-form.component.html │ │ │ │ └── register-form.component.ts │ │ │ ├── core-components.module.ts │ │ │ ├── create-article │ │ │ │ ├── create-article.component.html │ │ │ │ ├── create-article.component.scss │ │ │ │ ├── create-article.component.ts │ │ │ │ └── rich-text-editor │ │ │ │ │ ├── quill-configuration.ts │ │ │ │ │ ├── rich-text-editor.component.html │ │ │ │ │ └── rich-text-editor.component.ts │ │ │ ├── interceptors │ │ │ │ └── auth.interceptor.ts │ │ │ ├── layout │ │ │ │ ├── footer.component.html │ │ │ │ ├── footer.component.ts │ │ │ │ ├── header.component.html │ │ │ │ └── header.component.ts │ │ │ ├── options │ │ │ │ ├── options.component.html │ │ │ │ └── options.component.ts │ │ │ ├── pipes │ │ │ │ ├── ceil.pipe.ts │ │ │ │ └── moment.pipe.ts │ │ │ └── utils │ │ │ │ └── form-validators.ts │ │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── store │ ├── .eslintrc.json │ ├── README.md │ ├── jest.config.ts │ ├── project.json │ ├── src │ ├── index.ts │ ├── lib │ │ ├── articles │ │ │ ├── articles.actions.ts │ │ │ ├── articles.effects.ts │ │ │ ├── articles.reducer.ts │ │ │ ├── articles.selectors.ts │ │ │ ├── articles.types.ts │ │ │ └── index.ts │ │ ├── auth │ │ │ ├── auth.actions.ts │ │ │ ├── auth.effects.ts │ │ │ ├── auth.reducer.ts │ │ │ ├── auth.selectors.ts │ │ │ ├── auth.types.ts │ │ │ └── index.ts │ │ ├── local-storage.service.ts │ │ ├── profiles │ │ │ ├── index.ts │ │ │ ├── profiles.actions.ts │ │ │ ├── profiles.effects.ts │ │ │ ├── profiles.reducer.ts │ │ │ ├── profiles.selectors.ts │ │ │ └── profiles.types.ts │ │ └── user │ │ │ ├── index.ts │ │ │ ├── user.actions.ts │ │ │ ├── user.effects.ts │ │ │ ├── user.reducer.ts │ │ │ ├── user.selectors.ts │ │ │ └── user.types.ts │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.test.json ├── migrations.json ├── nx.json ├── openapi └── realworld-openapi.yaml ├── openapitools.json ├── package-lock.json ├── package.json ├── tools └── tsconfig.tools.json ├── transloco.config.js └── tsconfig.base.json /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | # APP 2 | APP_ENV=development 3 | 4 | # AUTH 5 | WEBTOKEN_ENCRYPTION_KEY=uAsBw6WxqD 6 | WEBTOKEN_EXPIRATION_TIME=2400 7 | 8 | # DATABASE 9 | DB_TYPE=postgres 10 | DB_USERNAME=root 11 | DB_PASSWORD= 12 | DB_HOST=localhost 13 | DB_PORT=3306 14 | DB_DATABASE=nest 15 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.github/workflows/build-merge.yml: -------------------------------------------------------------------------------- 1 | name: Build on Merge 2 | 'on': 3 | push: 4 | branches: 5 | - main 6 | - master 7 | jobs: 8 | build_and_deploy: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 🛎️ 12 | uses: actions/checkout@v3 13 | 14 | - name: Download Deps 🔧 15 | run: npm i 16 | 17 | - name: Build 📦 18 | run: npm run build 19 | -------------------------------------------------------------------------------- /.github/workflows/lint-and-test-merge.yml: -------------------------------------------------------------------------------- 1 | name: Lint and Test on Merge 2 | 'on': 3 | push: 4 | branches: 5 | - main 6 | - master 7 | jobs: 8 | build_and_deploy: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 🛎️ 12 | uses: actions/checkout@v3 13 | 14 | - name: Download Deps 🔧 15 | run: npm i 16 | 17 | - name: Lint 🚨 18 | run: npm run lint 19 | 20 | - name: Test ✅ 21 | run: npm run test 22 | -------------------------------------------------------------------------------- /.github/workflows/lint-and-test-pull-request.yml: -------------------------------------------------------------------------------- 1 | name: Lint and Test on PR 2 | 'on': pull_request 3 | jobs: 4 | build_and_preview: 5 | if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' 6 | runs-on: ubuntu-latest 7 | steps: 8 | - name: Checkout 🛎️ 9 | uses: actions/checkout@v3 10 | 11 | - name: Download Deps 🔧 12 | run: npm i 13 | 14 | - name: Lint 🚨 15 | run: npm run lint 16 | 17 | - name: Test ✅ 18 | run: npm run test 19 | -------------------------------------------------------------------------------- /.github/workflows/typedocs-merge.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Typedocs to Github Pages on Merge 2 | 'on': 3 | push: 4 | branches: 5 | - main 6 | - master 7 | permissions: 8 | contents: write 9 | jobs: 10 | build_and_deploy: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 🛎️ 14 | uses: actions/checkout@v3 15 | 16 | - name: Download Deps and Build Typedocs 🔧 17 | run: npm i && npm run typedocs:api 18 | 19 | - name: Deploy 🚀 20 | uses: JamesIves/github-pages-deploy-action@v4 21 | with: 22 | folder: docs/api 23 | -------------------------------------------------------------------------------- /.github/workflows/typedocs-pull-request.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Typedocs to Github Pages on PR 2 | 'on': pull_request 3 | permissions: 4 | contents: write 5 | jobs: 6 | build_and_preview: 7 | if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 🛎️ 11 | uses: actions/checkout@v3 12 | 13 | - name: Download Deps and Build Typedocs 🔧 14 | run: npm i && npm run typedocs:api 15 | 16 | - name: Deploy 🚀 17 | uses: JamesIves/github-pages-deploy-action@v4 18 | with: 19 | folder: docs/api 20 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | 3 | /dist 4 | /coverage 5 | 6 | .angular 7 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "trailingComma": "all", 4 | "singleQuote": true, 5 | "semi": true, 6 | "importOrderParserPlugins": ["typescript", "decorators-legacy"], 7 | "importOrder": ["^@starter/(.*)$", "^[./]"], 8 | "importOrderSeparation": true, 9 | "importOrderSortSpecifiers": true 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "angular.ng-template", 4 | "nrwl.angular-console", 5 | "esbenp.prettier-vscode", 6 | "firsttris.vscode-jest-runner", 7 | "dbaeumer.vscode-eslint" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib", 3 | "vsicons.presets.nestjs": true 4 | } 5 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts-alpine as build 2 | 3 | WORKDIR /usr/local/app 4 | 5 | # Copy application code to working directory 6 | COPY package*.json . 7 | COPY . . 8 | 9 | # Download dependencies 10 | RUN npm install 11 | 12 | # Generate build artifacts 13 | RUN npm run build 14 | 15 | #Expose port and begin application 16 | EXPOSE 3333 17 | 18 | CMD ["node", "dist/apps/api/main.js"] -------------------------------------------------------------------------------- /Dockerfile-Nginx: -------------------------------------------------------------------------------- 1 | FROM nginx:alpine 2 | 3 | COPY ./docker/entrypoint-nginx.sh / 4 | 5 | RUN set -ex && \ 6 | apk add --no-cache bash && \ 7 | chmod +x /entrypoint-nginx.sh 8 | 9 | COPY ./docker/vhost.template /etc/nginx/conf.d/vhost.template 10 | 11 | CMD ["/entrypoint-nginx.sh"] -------------------------------------------------------------------------------- /apps/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/.gitkeep -------------------------------------------------------------------------------- /apps/api/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /apps/api/jest.config.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default { 3 | displayName: 'api', 4 | preset: '../../jest.preset.js', 5 | globals: {}, 6 | testEnvironment: 'node', 7 | transform: { 8 | '^.+\\.[tj]s$': [ 9 | 'ts-jest', 10 | { 11 | tsconfig: '/tsconfig.test.json', 12 | }, 13 | ], 14 | }, 15 | moduleFileExtensions: ['ts', 'js', 'html'], 16 | coverageDirectory: '../../coverage/apps/api', 17 | }; 18 | -------------------------------------------------------------------------------- /apps/api/src/article/dto/article-feed.dto.ts: -------------------------------------------------------------------------------- 1 | import { ApiProperty } from '@nestjs/swagger'; 2 | import { IsOptional, IsString } from 'class-validator'; 3 | 4 | export class ArticleFeedQueryParams { 5 | @ApiProperty({ 6 | required: false, 7 | }) 8 | @IsOptional() 9 | @IsString() 10 | limit: number; 11 | 12 | @ApiProperty({ 13 | required: false, 14 | }) 15 | @IsOptional() 16 | @IsString() 17 | offset: number; 18 | } 19 | -------------------------------------------------------------------------------- /apps/api/src/article/dto/create-article-comment.dto.ts: -------------------------------------------------------------------------------- 1 | import { ApiProperty } from '@nestjs/swagger'; 2 | import { Type } from 'class-transformer'; 3 | import { IsNotEmpty, ValidateNested } from 'class-validator'; 4 | 5 | export class ArticleCommentDto { 6 | @ApiProperty() 7 | @IsNotEmpty() 8 | body: string; 9 | } 10 | 11 | export class CreateArticleCommentDto { 12 | @ApiProperty() 13 | @Type(() => ArticleCommentDto) 14 | @ValidateNested() 15 | comment: ArticleCommentDto; 16 | } 17 | -------------------------------------------------------------------------------- /apps/api/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/api/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/api/src/auth/jwt-auth.guard.test.ts: -------------------------------------------------------------------------------- 1 | import { Reflector } from '@nestjs/core'; 2 | 3 | import { JwtAuthGuard } from './jwt-auth.guard'; 4 | 5 | describe('JwtAuthGuard', () => { 6 | it('should be defined', () => { 7 | const reflector = new Reflector(); 8 | expect(new JwtAuthGuard(reflector)).toBeDefined(); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /apps/api/src/auth/public.decorator.ts: -------------------------------------------------------------------------------- 1 | import { SetMetadata } from '@nestjs/common'; 2 | 3 | export const IS_PUBLIC_KEY = 'isPublic'; 4 | export const Public = () => SetMetadata(IS_PUBLIC_KEY, true); 5 | -------------------------------------------------------------------------------- /apps/api/src/casl/casl.factory.test.ts: -------------------------------------------------------------------------------- 1 | import { CaslFactory } from './casl.factory'; 2 | 3 | describe('CaslFactory', () => { 4 | it('should be defined', () => { 5 | expect(new CaslFactory()).toBeDefined(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /apps/api/src/casl/casl.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | 3 | import { CaslFactory } from './casl.factory'; 4 | 5 | @Module({ 6 | providers: [CaslFactory], 7 | exports: [CaslFactory], 8 | }) 9 | export class CaslModule {} 10 | -------------------------------------------------------------------------------- /apps/api/src/casl/check-policies.decorator.ts: -------------------------------------------------------------------------------- 1 | import { SetMetadata } from '@nestjs/common'; 2 | 3 | import { PolicyHandler } from './policy-handlers'; 4 | 5 | export const CHECK_POLICIES_KEY = 'check_policy'; 6 | 7 | export const CheckPolicies = (...handlers: PolicyHandler[]) => 8 | SetMetadata(CHECK_POLICIES_KEY, handlers); 9 | -------------------------------------------------------------------------------- /apps/api/src/casl/policies.guard.test.ts: -------------------------------------------------------------------------------- 1 | import { Reflector } from '@nestjs/core'; 2 | 3 | import { CaslFactory } from './casl.factory'; 4 | import { PoliciesGuard } from './policies.guard'; 5 | 6 | describe('PoliciesGuard', () => { 7 | it('should be defined', () => { 8 | const reflector: Reflector = new Reflector(); 9 | const caslFactory = new CaslFactory(); 10 | expect(new PoliciesGuard(reflector, caslFactory)).toBeDefined(); 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /apps/api/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | }; 4 | -------------------------------------------------------------------------------- /apps/api/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | }; 4 | -------------------------------------------------------------------------------- /apps/api/src/profile/follow.entity.ts: -------------------------------------------------------------------------------- 1 | import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; 2 | 3 | @Entity({ name: 'follows' }) 4 | export class FollowEntity { 5 | @PrimaryGeneratedColumn() 6 | id: number; 7 | 8 | @Column() 9 | followerId: number; 10 | 11 | @Column() 12 | followingId: number; 13 | } 14 | -------------------------------------------------------------------------------- /apps/api/src/profile/profile.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | import { TypeOrmModule } from '@nestjs/typeorm'; 3 | 4 | import { CaslFactory } from '../casl/casl.factory'; 5 | import { UserEntity } from '../users/user.entity'; 6 | import { FollowEntity } from './follow.entity'; 7 | import { ProfileController } from './profile.controller'; 8 | import { ProfileService } from './profile.service'; 9 | 10 | @Module({ 11 | imports: [TypeOrmModule.forFeature([UserEntity, FollowEntity])], 12 | controllers: [ProfileController], 13 | providers: [ProfileService, CaslFactory], 14 | }) 15 | export class ProfileModule {} 16 | -------------------------------------------------------------------------------- /apps/api/src/tag/dto/create-tag.dto.ts: -------------------------------------------------------------------------------- 1 | import { ApiProperty } from '@nestjs/swagger'; 2 | import { IsAlpha, IsNotEmpty } from 'class-validator'; 3 | 4 | export class CreateTagDto { 5 | @ApiProperty() 6 | @IsNotEmpty() 7 | @IsAlpha() 8 | readonly name: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/api/src/tag/tag.entity.ts: -------------------------------------------------------------------------------- 1 | import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; 2 | 3 | /** 4 | * Tag Entity Class 5 | */ 6 | @Entity({ name: 'tags' }) 7 | export class TagEntity { 8 | @PrimaryGeneratedColumn() 9 | id: number; 10 | 11 | @Column({ unique: true }) 12 | name: string; 13 | } 14 | -------------------------------------------------------------------------------- /apps/api/src/tag/tag.module.ts: -------------------------------------------------------------------------------- 1 | import { Module } from '@nestjs/common'; 2 | import { TypeOrmModule } from '@nestjs/typeorm'; 3 | 4 | import { TagController } from './tag.controller'; 5 | import { TagEntity } from './tag.entity'; 6 | import { TagService } from './tag.service'; 7 | 8 | @Module({ 9 | imports: [TypeOrmModule.forFeature([TagEntity])], 10 | controllers: [TagController], 11 | providers: [TagService], 12 | }) 13 | export class TagModule {} 14 | -------------------------------------------------------------------------------- /apps/api/src/users/password.transformer.ts: -------------------------------------------------------------------------------- 1 | import * as crypto from 'crypto'; 2 | import { ValueTransformer } from 'typeorm'; 3 | 4 | /** 5 | * Password Transformer Class 6 | */ 7 | export class PasswordTransformer implements ValueTransformer { 8 | /** 9 | * Value to transform to 10 | * @param {string} value string to hash 11 | */ 12 | to(value: string) { 13 | return crypto.createHmac('sha256', value).digest('hex'); 14 | } 15 | 16 | /** 17 | * Grabs the string to hash from 18 | * @param {string} value from string 19 | */ 20 | from(value: string) { 21 | return value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /apps/api/src/users/user.decorator.ts: -------------------------------------------------------------------------------- 1 | import { ExecutionContext, createParamDecorator } from '@nestjs/common'; 2 | 3 | export const UserParam = createParamDecorator( 4 | (recordKey: unknown, ctx: ExecutionContext) => { 5 | const request = ctx.switchToHttp().getRequest(); 6 | 7 | if (!request.user) { 8 | null; 9 | } 10 | 11 | if (recordKey) { 12 | return request.user.user[recordKey as keyof typeof request.user.user]; 13 | } 14 | 15 | return request.user.user; 16 | }, 17 | ); 18 | -------------------------------------------------------------------------------- /apps/api/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["node"], 7 | "emitDecoratorMetadata": true, 8 | "target": "es2021" 9 | }, 10 | "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.test.ts"], 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /apps/api/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.app.json" 8 | }, 9 | { 10 | "path": "./tsconfig.test.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /apps/api/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/cypress.config.ts: -------------------------------------------------------------------------------- 1 | import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset'; 2 | import { defineConfig } from 'cypress'; 3 | 4 | export default defineConfig({ 5 | e2e: nxE2EPreset(__dirname), 6 | }); 7 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/src/e2e/app.cy.ts: -------------------------------------------------------------------------------- 1 | import { getGreeting } from '../support/app.po'; 2 | 3 | describe('prebuilt-ui', () => { 4 | beforeEach(() => cy.visit('/')); 5 | 6 | it('should display welcome message', () => { 7 | // Custom command example, see `../support/commands.ts` file 8 | cy.login('my-email@something.com', 'myPassword'); 9 | 10 | // Function helper example, see `../support/app.po.ts` file 11 | getGreeting().contains('Welcome prebuilt-ui'); 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/src/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io" 4 | } 5 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/src/support/app.po.ts: -------------------------------------------------------------------------------- 1 | export const getGreeting = () => cy.get('h1'); 2 | -------------------------------------------------------------------------------- /apps/prebuilt-ui-e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "compilerOptions": { 4 | "sourceMap": false, 5 | "outDir": "../../dist/out-tsc", 6 | "allowJs": true, 7 | "types": ["cypress", "node"], 8 | "forceConsistentCasingInFileNames": true, 9 | "strict": true, 10 | "noImplicitOverride": true, 11 | "noPropertyAccessFromIndexSignature": true, 12 | "noImplicitReturns": true, 13 | "noFallthroughCasesInSwitch": true 14 | }, 15 | "include": ["src/**/*.ts", "src/**/*.js", "cypress.config.ts"] 16 | } 17 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/prebuilt-ui/src/app/app.component.scss -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'starter-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: ['./app.component.scss'], 7 | }) 8 | export class AppComponent { 9 | title = 'prebuilt-ui'; 10 | } 11 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/interceptors/api.interceptor.ts: -------------------------------------------------------------------------------- 1 | import { 2 | HttpEvent, 3 | HttpHandler, 4 | HttpInterceptor, 5 | HttpRequest, 6 | } from '@angular/common/http'; 7 | import { Injectable } from '@angular/core'; 8 | import { Observable } from 'rxjs'; 9 | 10 | @Injectable({ providedIn: 'root' }) 11 | export class ApiInterceptor implements HttpInterceptor { 12 | intercept( 13 | req: HttpRequest, 14 | next: HttpHandler, 15 | ): Observable> { 16 | const apiReq = req.clone({ url: `http://localhost:3333/api${req.url}` }); 17 | return next.handle(apiReq); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/interceptors/error.interceptor.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from "@angular/core"; 2 | import { 3 | HttpEvent, 4 | HttpInterceptor, 5 | HttpHandler, 6 | HttpRequest, 7 | } from "@angular/common/http"; 8 | import { Observable, throwError } from "rxjs"; 9 | import { catchError } from "rxjs/operators"; 10 | 11 | @Injectable({ providedIn: "root" }) 12 | export class ErrorInterceptor implements HttpInterceptor { 13 | intercept( 14 | req: HttpRequest, 15 | next: HttpHandler 16 | ): Observable> { 17 | return next.handle(req).pipe(catchError((err) => throwError(err.error))); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/layout/footer.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | conduit 4 | 5 | © {{ today | date : "yyyy" }}. An interactive learning project from 6 | Thinkster. Code licensed under MIT. 7 | 8 |
9 |
10 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/layout/footer.component.ts: -------------------------------------------------------------------------------- 1 | import { DatePipe } from '@angular/common'; 2 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 3 | import { RouterLink } from '@angular/router'; 4 | 5 | @Component({ 6 | selector: 'starter-layout-footer', 7 | templateUrl: './footer.component.html', 8 | changeDetection: ChangeDetectionStrategy.OnPush, 9 | imports: [DatePipe, RouterLink], 10 | standalone: true, 11 | }) 12 | export class FooterComponent { 13 | today: number = Date.now(); 14 | } 15 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/article-list-config.model.ts: -------------------------------------------------------------------------------- 1 | export interface ArticleListConfig { 2 | type: string; 3 | 4 | filters: { 5 | tag?: string; 6 | author?: string; 7 | favorited?: string; 8 | limit?: number; 9 | offset?: number; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/article.model.ts: -------------------------------------------------------------------------------- 1 | import { Profile } from "./profile.model"; 2 | 3 | export interface Article { 4 | slug: string; 5 | title: string; 6 | description: string; 7 | body: string; 8 | tagList: string[]; 9 | createdAt: string; 10 | updatedAt: string; 11 | favorited: boolean; 12 | favoritesCount: number; 13 | author: Profile; 14 | } 15 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/comment.model.ts: -------------------------------------------------------------------------------- 1 | import { Profile } from "./profile.model"; 2 | 3 | export interface Comment { 4 | id: string; 5 | body: string; 6 | createdAt: string; 7 | author: Profile; 8 | } 9 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/errors.model.ts: -------------------------------------------------------------------------------- 1 | export interface Errors { 2 | errors: { [key: string]: string }; 3 | } 4 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/loading-state.model.ts: -------------------------------------------------------------------------------- 1 | export enum LoadingState { 2 | NOT_LOADED = "NOT_LOADED", 3 | LOADING = "LOADING", 4 | LOADED = "LOADED", 5 | } 6 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/profile.model.ts: -------------------------------------------------------------------------------- 1 | export interface Profile { 2 | username: string; 3 | bio: string; 4 | image: string; 5 | following: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/models/user.model.ts: -------------------------------------------------------------------------------- 1 | export interface User { 2 | email: string; 3 | token: string; 4 | username: string; 5 | bio: string; 6 | image: string; 7 | } 8 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/services/jwt.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from "@angular/core"; 2 | 3 | @Injectable({ providedIn: "root" }) 4 | export class JwtService { 5 | getToken(): string { 6 | return window.localStorage["jwtToken"]; 7 | } 8 | 9 | saveToken(token: string): void { 10 | window.localStorage["jwtToken"] = token; 11 | } 12 | 13 | destroyToken(): void { 14 | window.localStorage.removeItem("jwtToken"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/core/services/tags.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from "@angular/core"; 2 | import { Observable } from "rxjs"; 3 | import { map } from "rxjs/operators"; 4 | import { HttpClient } from "@angular/common/http"; 5 | 6 | @Injectable({ providedIn: "root" }) 7 | export class TagsService { 8 | constructor(private readonly http: HttpClient) {} 9 | 10 | getAll(): Observable { 11 | return this.http 12 | .get<{ tags: string[] }>("/tags") 13 | .pipe(map((data) => data.tags)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/features/article/markdown.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from "@angular/core"; 2 | 3 | @Pipe({ 4 | name: "markdown", 5 | standalone: true, 6 | }) 7 | export class MarkdownPipe implements PipeTransform { 8 | async transform(content: string): Promise { 9 | const { marked } = await import("marked"); 10 | return marked(content, { sanitize: true }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/features/home/home.component.css: -------------------------------------------------------------------------------- 1 | .nav-link { 2 | cursor: pointer; 3 | } 4 | 5 | .tag-pill { 6 | cursor: pointer; 7 | } 8 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/features/profile/profile-articles.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/features/profile/profile-favorites.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/article-helpers/article-list.component.css: -------------------------------------------------------------------------------- 1 | .page-link { 2 | cursor: pointer; 3 | } 4 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/article-helpers/article-meta.component.html: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/article-helpers/article-meta.component.ts: -------------------------------------------------------------------------------- 1 | import { DatePipe } from '@angular/common'; 2 | import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; 3 | import { RouterLink } from '@angular/router'; 4 | 5 | import { Article } from '../../core/models/article.model'; 6 | 7 | @Component({ 8 | selector: 'starter-article-meta', 9 | templateUrl: './article-meta.component.html', 10 | changeDetection: ChangeDetectionStrategy.OnPush, 11 | imports: [RouterLink, DatePipe], 12 | standalone: true, 13 | }) 14 | export class ArticleMetaComponent { 15 | @Input() article!: Article; 16 | } 17 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/buttons/favorite-button.component.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/buttons/follow-button.component.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/app/shared/list-errors.component.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • 3 | {{ error }} 4 |
  • 5 |
6 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/prebuilt-ui/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/prebuilt-ui/src/favicon.ico -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | 3 | import { AppModule } from './app/app.module'; 4 | 5 | platformBrowserDynamic() 6 | .bootstrapModule(AppModule) 7 | .catch((err) => console.error(err)); 8 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import 'jest-preset-angular/setup-jest'; 2 | 3 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 4 | globalThis.ngJest = { 5 | testEnvironmentOptions: { 6 | errorOnUnknownElements: true, 7 | errorOnUnknownProperties: true, 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/prebuilt-ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": [ 11 | "jest.config.ts", 12 | "src/**/*.test.ts", 13 | "src/**/*.spec.ts", 14 | "src/**/*.d.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /apps/ui/proxy.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "/api/v1/*": { 3 | "target": "http://localhost:3333", 4 | "secure": false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /apps/ui/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterOutlet } from '@angular/router'; 3 | 4 | import { CoreComponentsModule } from '@starter/core-components'; 5 | 6 | @Component({ 7 | selector: 'starter-ui-root', 8 | standalone: true, 9 | imports: [CoreComponentsModule, RouterOutlet], 10 | template: ` 11 | 12 | 13 | 14 | `, 15 | }) 16 | export class AppComponent {} 17 | -------------------------------------------------------------------------------- /apps/ui/src/app/app.config.server.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig, mergeApplicationConfig } from '@angular/core'; 2 | import { provideServerRendering } from '@angular/platform-server'; 3 | 4 | import { appConfig } from './app.config'; 5 | 6 | const serverConfig: ApplicationConfig = { 7 | providers: [provideServerRendering()], 8 | }; 9 | 10 | export const config = mergeApplicationConfig(appConfig, serverConfig); 11 | -------------------------------------------------------------------------------- /apps/ui/src/app/pages/options.page.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/ban-ts-comment */ 2 | import { RouteMeta } from '@analogjs/router'; 3 | import { Component } from '@angular/core'; 4 | 5 | import { AuthGuard, CoreComponentsModule } from '@starter/core-components'; 6 | 7 | export const routeMeta: RouteMeta = { 8 | title: 'Options - RealWorld Angular', 9 | // @ts-expect-error 10 | canActivate: [AuthGuard], 11 | }; 12 | 13 | @Component({ 14 | selector: 'starter-ui-options-page', 15 | standalone: true, 16 | imports: [CoreComponentsModule], 17 | template: ` 18 | 19 | `, 20 | }) 21 | export default class SettingsPageComponent {} 22 | -------------------------------------------------------------------------------- /apps/ui/src/app/pages/register.page.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/ban-ts-comment */ 2 | import { Component } from '@angular/core'; 3 | 4 | import { CoreComponentsModule } from '@starter/core-components'; 5 | 6 | @Component({ 7 | selector: 'starter-ui-register-page', 8 | standalone: true, 9 | imports: [CoreComponentsModule], 10 | template: ` 11 | 12 | `, 13 | }) 14 | export default class RegisterPageComponent {} 15 | -------------------------------------------------------------------------------- /apps/ui/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import 'quill/dist/quill.core.css'; 3 | import 'quill/dist/quill.snow.css'; 4 | import 'zone.js'; 5 | 6 | import { AppComponent } from './app/app.component'; 7 | import { appConfig } from './app/app.config'; 8 | import './styles.scss'; 9 | 10 | bootstrapApplication(AppComponent, appConfig).catch((err) => 11 | console.error(err), 12 | ); 13 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/.gitkeep -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/about-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/about-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/shape/about-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/shape/about-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/shape/about-shape-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/shape/about-shape-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/shape/about-shape-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/shape/about-shape-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/about/shape/about-shape-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/about/shape/about-shape-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/activity/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/activity/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/activity/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/activity/user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/activity/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/activity/user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/activity/user-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/activity/user-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/activity/user-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/activity/user-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/auction-img-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/auction-img-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/author/auction-author-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/author/auction-author-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/auction-sm-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/auction-sm-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/auction/sm/author/author-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/auction/sm/author/author-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-12.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-13.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-14.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-15.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-17.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-18.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-19.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-20.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-img-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-img-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/2/bid-user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/2/bid-user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-12.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-13.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-14.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-15.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-16.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-17.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-18.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-19.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-20.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-21.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-22.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-23.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-img-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-img-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/bid-user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/bid-user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/bid/list/bid-list-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/bid/list/bid-list-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/2/blog-img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/2/blog-img-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/2/blog-img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/2/blog-img-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/author/blog-author-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/author/blog-author-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/blog-big-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/blog-big-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/comments/comment-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/comments/comment-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/comments/comment-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/comments/comment-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/comments/comment-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/comments/comment-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/footer-sm/footer-sm-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/sidebar/blog-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/sidebar/blog-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/sidebar/blog-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/sidebar/blog-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/blog/sidebar/blog-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/blog/sidebar/blog-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-5.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-6.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-7.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-8.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/2/brand-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/2/brand-9.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-5.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-6.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-7.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-8.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/brand/brand-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/brand/brand-9.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/breadcrumb/breadcrumb-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/breadcrumb/breadcrumb-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/collection-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/collection-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-12.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/2/user/user-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/2/user/user-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/collection-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/collection-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/sm/collection-sm-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/sm/collection-sm-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/3/user/user-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/3/user/user-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-10.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-11.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-12.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-13.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-14.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-15.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-16.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-17.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-18.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/collection-big-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/collection-big-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/collection/user/collection-user-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/collection/user/collection-user-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/coming/coming-soon-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/coming/coming-soon-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/create/create-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/create/create-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/create/create-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/create/create-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/create/create-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/create/create-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/bg/creator-bg-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/bg/creator-bg-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-8.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-9.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-bg-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-bg-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/creator-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/creator-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/creator/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/creator/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/2/cta-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/2/cta-graph.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/2/cta-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/2/cta-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/2/cta-shape-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/2/cta-shape-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/2/cta-shape-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/2/cta-shape-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/3/cta-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/3/cta-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/cta-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/cta-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/cta/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/cta/qrcode.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/error/error-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/error/error-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/favicon.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/footer/verifay-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/footer/verifay-dark.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/footer/verifay-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/footer/verifay-light.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/activity/activity-check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/activity/activity-eth.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/activity/activity-tag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/blast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/blast.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/close.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-shape-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-shape-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-shape-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-shape-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-shape-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-shape-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/contact/contact-shape-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/contact/contact-shape-5.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-5.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/counter/counter-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/counter/counter-6.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/facebook.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-1-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-1-light.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-2-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-2-light.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-3-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-3-light.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-4-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-4-light.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/features/features-icon-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/features/features-icon-4.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/fire-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/fire-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/fire-sm-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/fire-sm-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/fire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/fire.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/google-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/google-play.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/google.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/header/header-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/join/join-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/join/join-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/join/join-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/join/join-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/join/join-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/join/join-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/love.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/love.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/seller/seller-zigzag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/target-sm-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/target-sm-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/target.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/camera.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/color.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/fire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/fire.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/football.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/football.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/game.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/guiter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/guiter.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/trending/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/trending/video.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/authereum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/authereum.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/bitski.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/bitski.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/coinbase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/coinbase.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/formatic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/formatic.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/metamask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/metamask.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/torus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/torus.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/icon/wallet/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/icon/wallet/wallet.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/login/login-person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/login/login-person.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/login/login-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/login/login-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/login/login-shape-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/login/login-shape-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/login/login-shape-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/login/login-shape-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/logo/logo-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/logo/logo-black.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/logo/logo.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/logo/realworld-logo-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/logo/realworld-logo-100.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/logo/realworld-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/logo/realworld-logo.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/maintainance/maintainance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/maintainance/maintainance.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/nft/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/nft/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/nft/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/nft/user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/nft/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/nft/user-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/collection/product-collection-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/collection/product-collection-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/grid/product-grid-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/grid/product-grid-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/grid/product-grid-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/grid/product-grid-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/grid/product-grid-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/grid/product-grid-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/grid/product-grid-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/grid/product-grid-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/product-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/product-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/product-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/product-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-big-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-big-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-big-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-big-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-big-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-big-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/tab/product-tab-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/tab/product-tab-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/user/product-user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/user/product-user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/product/user/product-user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/product/user/product-user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/seller/seller-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/seller/seller-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/slider-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/slider-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/slider-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/slider-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/slider-shape-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/slider-shape-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/slider-shape-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/slider-shape-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/slider-shape-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/slider-shape-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/2/user/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/2/user/user-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-bg.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-thumb-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-thumb-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-thumb-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-thumb-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-thumb-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-thumb-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-thumb-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-thumb-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/slider-thumb-shape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/slider-thumb-shape.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/user/slider-user-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/user/slider-user-1.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/user/slider-user-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/user/slider-user-2.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/3/user/slider-user-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/3/user/slider-user-3.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/bg.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-big-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-big-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-big-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-big-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-6.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/slider/slider-sm-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/slider/slider-sm-7.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/team/team-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/team/team-1.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/team/team-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/team/team-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/team/team-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/team/team-3.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/team/team-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/team/team-4.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/team/team-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/team/team-5.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/user/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/user/user-2.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/user/user-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/user/user-cover.png -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/user/user.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/user/user.jpg -------------------------------------------------------------------------------- /apps/ui/src/public/assets/img/video/video-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/public/assets/img/video/video-bg.jpg -------------------------------------------------------------------------------- /apps/ui/src/server/routes/v1/hello.ts: -------------------------------------------------------------------------------- 1 | import { defineEventHandler } from 'h3'; 2 | 3 | export default defineEventHandler(() => ({ message: 'Hello World' })); 4 | -------------------------------------------------------------------------------- /apps/ui/src/styles/components/_background.scss: -------------------------------------------------------------------------------- 1 | @use '../utils' as *; 2 | 3 | /*-- 4 | - Background color 5 | -----------------------------------------*/ 6 | .grey-bg { 7 | background: var(--tp-grey-1); 8 | } 9 | .grey-bg-2 { 10 | background: var(--tp-grey-2); 11 | } 12 | 13 | .white-bg { 14 | background: var(--tp-common-white); 15 | } 16 | 17 | .black-bg { 18 | background: var(--tp-common-black); 19 | } 20 | 21 | .theme-bg-dark { 22 | background: var(--tp-theme-dark); 23 | } 24 | 25 | .body__wrapper { 26 | background-color: #05092b; 27 | } 28 | -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/elegantIcons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/elegantIcons.eot -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/elegantIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/elegantIcons.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/elegantIcons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/elegantIcons.woff -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-light-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-light-300.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-light-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-light-300.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-thin-100.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-thin-100.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-thin-100.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-thin-100.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /apps/ui/src/styles/fonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/fonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /apps/ui/src/styles/layout/_brand.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/apps/ui/src/styles/layout/_brand.scss -------------------------------------------------------------------------------- /apps/ui/src/styles/layout/_error.scss: -------------------------------------------------------------------------------- 1 | @use '../utils' as *; 2 | 3 | /*----------------------------------------*/ 4 | /* 31. ERROR CSS START 5 | /*----------------------------------------*/ 6 | 7 | .error { 8 | &__title { 9 | font-size: 24px; 10 | color: var(--tp-common-white); 11 | margin-bottom: 10px; 12 | } 13 | &__content { 14 | & p { 15 | color: var(--tp-common-white); 16 | opacity: 0.6; 17 | margin-bottom: 20px; 18 | padding: 0 85px; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /apps/ui/src/styles/layout/_privacy.scss: -------------------------------------------------------------------------------- 1 | @use '../utils' as *; 2 | 3 | /*----------------------------------------*/ 4 | /* 30. PRIVACY CSS START 5 | /*----------------------------------------*/ 6 | 7 | .privacy { 8 | &__item { 9 | margin-bottom: 30px; 10 | & p { 11 | color: var(--tp-common-white); 12 | opacity: 0.5; 13 | } 14 | 15 | & ul { 16 | padding-left: 15px; 17 | & li { 18 | color: var(--tp-common-white); 19 | opacity: 0.5; 20 | } 21 | } 22 | } 23 | &__title { 24 | font-size: 24px; 25 | color: var(--tp-common-white); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /apps/ui/src/styles/utils/_breakpoints.scss: -------------------------------------------------------------------------------- 1 | // Responsive Variables 2 | $xxxl: 'only screen and (min-width: 1601px) and (max-width: 1700px)'; 3 | $xxl: 'only screen and (min-width: 1400px) and (max-width: 1600px)'; 4 | $xl: 'only screen and (min-width: 1200px) and (max-width: 1399px)'; 5 | $lg: 'only screen and (min-width: 992px) and (max-width: 1199px)'; 6 | $md: 'only screen and (min-width: 768px) and (max-width: 991px)'; 7 | $sm: 'only screen and (min-width: 576px) and (max-width: 767px)'; 8 | $xs: '(max-width: 575px)'; 9 | 10 | // responsive variable for wordpress admin bar 11 | $wp-sm: '@media (max-width: 782px)'; 12 | $wp-xs: '@media (max-width: 600px)'; 13 | -------------------------------------------------------------------------------- /apps/ui/src/styles/utils/_index.scss: -------------------------------------------------------------------------------- 1 | @forward 'colors'; 2 | @forward 'mixins'; 3 | @forward 'breakpoints'; 4 | @forward 'typography'; 5 | @forward 'root'; 6 | -------------------------------------------------------------------------------- /apps/ui/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import '@analogjs/vite-plugin-angular/setup-vitest'; 2 | import { getTestBed } from '@angular/core/testing'; 3 | import { 4 | BrowserDynamicTestingModule, 5 | platformBrowserDynamicTesting, 6 | } from '@angular/platform-browser-dynamic/testing'; 7 | 8 | getTestBed().initTestEnvironment( 9 | BrowserDynamicTestingModule, 10 | platformBrowserDynamicTesting(), 11 | ); 12 | -------------------------------------------------------------------------------- /apps/ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /apps/ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [], 6 | "target": "ES2022", 7 | "useDefineForClassFields": false 8 | }, 9 | "files": ["src/main.ts", "src/main.server.ts"], 10 | "include": [ 11 | "src/**/*.d.ts", 12 | "src/app/routes/**/*.ts", 13 | "src/app/pages/**/*.page.ts" 14 | ], 15 | "exclude": ["**/*.test.ts", "**/*.spec.ts"] 16 | } 17 | -------------------------------------------------------------------------------- /apps/ui/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["node", "vitest/globals"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["node", "vitest/globals"] 6 | }, 7 | "files": ["src/test-setup.ts"], 8 | "include": ["src/**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /docker/entrypoint-nginx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | vars=$(compgen -A variable) 4 | subst=$(printf '${%s} ' $vars) 5 | envsubst "$subst" < /etc/nginx/conf.d/vhost.template > /etc/nginx/conf.d/default.conf 6 | nginx -g 'daemon off;' -------------------------------------------------------------------------------- /docker/vhost.template: -------------------------------------------------------------------------------- 1 | # vim: ft=nginx 2 | 3 | server { 4 | listen 80; 5 | server_name ${NGINX_SERVER_NAME}; 6 | root /app/public; 7 | client_max_body_size ${NGINX_MAX_BODY}; 8 | 9 | location / { 10 | # try_files $uri =404; 11 | proxy_pass http://${NEST_HOST}:${NEST_PORT}; 12 | proxy_set_header Host $host; 13 | proxy_set_header X-Real-IP $remote_addr; 14 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 15 | proxy_set_header X-Forwarded-Host $server_name; 16 | proxy_set_header X-Forwarded-Proto https; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /execute-api-tests.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -x 3 | 4 | SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" 5 | 6 | APIURL=${APIURL:-https://api.realworld.io/api} 7 | USERNAME=${USERNAME:-u`date +%s`} 8 | EMAIL=${EMAIL:-$USERNAME@mail.com} 9 | PASSWORD=${PASSWORD:-password} 10 | 11 | npx newman run $SCRIPTDIR/Conduit.postman_collection.json \ 12 | --delay-request 500 \ 13 | --global-var "APIURL=$APIURL" \ 14 | --global-var "USERNAME=$USERNAME" \ 15 | --global-var "EMAIL=$EMAIL" \ 16 | --global-var "PASSWORD=$PASSWORD" \ 17 | "$@" -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- 1 | import { getJestProjects } from '@nx/jest'; 2 | 3 | export default { 4 | projects: getJestProjects(), 5 | }; 6 | -------------------------------------------------------------------------------- /libs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/libs/.gitkeep -------------------------------------------------------------------------------- /libs/api-client-lib/.gitignore: -------------------------------------------------------------------------------- 1 | wwwroot/*.js 2 | node_modules 3 | typings 4 | dist 5 | -------------------------------------------------------------------------------- /libs/api-client-lib/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 6.6.0 -------------------------------------------------------------------------------- /libs/api-client-lib/encoder.ts: -------------------------------------------------------------------------------- 1 | import { HttpParameterCodec } from '@angular/common/http'; 2 | 3 | /** 4 | * Custom HttpParameterCodec 5 | * Workaround for https://github.com/angular/angular/issues/18261 6 | */ 7 | export class CustomHttpParameterCodec implements HttpParameterCodec { 8 | encodeKey(k: string): string { 9 | return encodeURIComponent(k); 10 | } 11 | encodeValue(v: string): string { 12 | return encodeURIComponent(v); 13 | } 14 | decodeKey(k: string): string { 15 | return decodeURIComponent(k); 16 | } 17 | decodeValue(v: string): string { 18 | return decodeURIComponent(v); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /libs/api-client-lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './api/api'; 2 | export * from './model/models'; 3 | export * from './variables'; 4 | export * from './configuration'; 5 | export * from './api.module'; 6 | export * from './param'; 7 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/articleCommentDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface ArticleCommentDto { 15 | body: string; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/articleDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface ArticleDto { 15 | title: string; 16 | description: string; 17 | body: string; 18 | tagList?: Array; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/comment.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Profile } from './profile.model'; 13 | 14 | 15 | export interface Comment { 16 | id: number; 17 | createdAt: string; 18 | updatedAt: string; 19 | body: string; 20 | author: Profile; 21 | } 22 | 23 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticle201Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Article } from './article.model'; 13 | 14 | 15 | export interface CreateArticle201Response { 16 | article: Article; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticleComment200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Comment } from './comment.model'; 13 | 14 | 15 | export interface CreateArticleComment200Response { 16 | comment: Comment; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticleCommentDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { ArticleCommentDto } from './articleCommentDto.model'; 13 | 14 | 15 | export interface CreateArticleCommentDto { 16 | comment: ArticleCommentDto; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticleCommentRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { NewComment } from './newComment.model'; 13 | 14 | 15 | export interface CreateArticleCommentRequest { 16 | comment: NewComment; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticleDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { ArticleDto } from './articleDto.model'; 13 | 14 | 15 | export interface CreateArticleDto { 16 | article: ArticleDto; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createArticleRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { NewArticle } from './newArticle.model'; 13 | 14 | 15 | export interface CreateArticleRequest { 16 | article: NewArticle; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/createUserRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { NewUser } from './newUser.model'; 13 | 14 | 15 | export interface CreateUserRequest { 16 | user: NewUser; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/genericErrorModel.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { GenericErrorModelErrors } from './genericErrorModelErrors.model'; 13 | 14 | 15 | export interface GenericErrorModel { 16 | errors: GenericErrorModelErrors; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/genericErrorModelErrors.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface GenericErrorModelErrors { 15 | body: Array; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/getArticleComments200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Comment } from './comment.model'; 13 | 14 | 15 | export interface GetArticleComments200Response { 16 | comments: Array; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/getArticlesFeed200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Article } from './article.model'; 13 | 14 | 15 | export interface GetArticlesFeed200Response { 16 | articles: Array
; 17 | articlesCount: number; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/getProfileByUsername200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { Profile } from './profile.model'; 13 | 14 | 15 | export interface GetProfileByUsername200Response { 16 | profile: Profile; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/getTags200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface GetTags200Response { 15 | tags: Array; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/login200Response.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { User } from './user.model'; 13 | 14 | 15 | export interface Login200Response { 16 | user: User; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/loginDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { UserLoginDto } from './userLoginDto.model'; 13 | 14 | 15 | export interface LoginDto { 16 | user: UserLoginDto; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/loginRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { LoginUser } from './loginUser.model'; 13 | 14 | 15 | export interface LoginRequest { 16 | user: LoginUser; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/loginUser.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface LoginUser { 15 | email: string; 16 | password: string; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/newArticle.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface NewArticle { 15 | title: string; 16 | description: string; 17 | body: string; 18 | tagList?: Array; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/newComment.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface NewComment { 15 | body: string; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/newUser.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface NewUser { 15 | username: string; 16 | email: string; 17 | password: string; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/patchUserDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { UserDto } from './userDto.model'; 13 | 14 | 15 | export interface PatchUserDto { 16 | user: UserDto; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/profile.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface Profile { 15 | username: string; 16 | bio: string; 17 | image: string; 18 | following: boolean; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/registerDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { UserRegistrationDto } from './userRegistrationDto.model'; 13 | 14 | 15 | export interface RegisterDto { 16 | user: UserRegistrationDto; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/updateArticle.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface UpdateArticle { 15 | title?: string; 16 | description?: string; 17 | body?: string; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/updateArticleRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { UpdateArticle } from './updateArticle.model'; 13 | 14 | 15 | export interface UpdateArticleRequest { 16 | article: UpdateArticle; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/updateCurrentUserRequest.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | import { UpdateUser } from './updateUser.model'; 13 | 14 | 15 | export interface UpdateCurrentUserRequest { 16 | user: UpdateUser; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/updateUser.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface UpdateUser { 15 | email?: string; 16 | password?: string; 17 | username?: string; 18 | bio?: string; 19 | image?: string; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/user.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * RealWorld Conduit API 3 | * Conduit API documentation 4 | * 5 | * The version of the OpenAPI document: 1.0.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface User { 15 | email: string; 16 | token: string; 17 | username: string; 18 | bio: string; 19 | image: string; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/userDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface UserDto { 15 | email: string; 16 | username: string; 17 | bio: string; 18 | image: string; 19 | password: string; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/userLoginDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface UserLoginDto { 15 | email: string; 16 | password: string; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /libs/api-client-lib/model/userRegistrationDto.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * API 3 | * API Description 4 | * 5 | * The version of the OpenAPI document: 1.0 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | 13 | 14 | export interface UserRegistrationDto { 15 | email: string; 16 | username: string; 17 | password: string; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /libs/api-client-lib/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/ng-packagr/ng-package.schema.json", 3 | "lib": { 4 | "entryFile": "index.ts" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /libs/api-client-lib/variables.ts: -------------------------------------------------------------------------------- 1 | import { InjectionToken } from '@angular/core'; 2 | 3 | export const BASE_PATH = new InjectionToken('basePath'); 4 | export const COLLECTION_FORMATS = { 5 | 'csv': ',', 6 | 'tsv': ' ', 7 | 'ssv': ' ', 8 | 'pipes': '|' 9 | } 10 | -------------------------------------------------------------------------------- /libs/api-types/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [] 3 | } 4 | -------------------------------------------------------------------------------- /libs/api-types/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../.eslintrc.json"], 3 | "ignorePatterns": ["!**/*"], 4 | "overrides": [ 5 | { 6 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 7 | "rules": {} 8 | }, 9 | { 10 | "files": ["*.ts", "*.tsx"], 11 | "rules": {} 12 | }, 13 | { 14 | "files": ["*.js", "*.jsx"], 15 | "rules": {} 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /libs/api-types/README.md: -------------------------------------------------------------------------------- 1 | # Reusable API Types 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running lint 6 | 7 | Run `nx lint api-types` to execute the lint via [ESLint](https://eslint.org/). 8 | -------------------------------------------------------------------------------- /libs/api-types/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api-types", 3 | "$schema": "../../node_modules/nx/schemas/project-schema.json", 4 | "sourceRoot": "libs/api-types/src", 5 | "projectType": "library", 6 | "targets": { 7 | "lint": { 8 | "executor": "@nx/linter:eslint", 9 | "outputs": ["{options.outputFile}"], 10 | "options": { 11 | "lintFilePatterns": ["libs/api-types/**/*.ts"] 12 | } 13 | } 14 | }, 15 | "tags": [] 16 | } 17 | -------------------------------------------------------------------------------- /libs/api-types/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/api-types'; 2 | -------------------------------------------------------------------------------- /libs/api-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/api-types/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "types": [] 7 | }, 8 | "include": ["**/*.ts"], 9 | "exclude": ["jest.config.ts", "**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/core-components/README.md: -------------------------------------------------------------------------------- 1 | # core-components 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test core-components` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/core-components/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/auth/auth.guard'; 2 | export * from './lib/auth/redirect-if-authenticated.guard'; 3 | export * from './lib/core-components.module'; 4 | export * from './lib/interceptors/auth.interceptor'; 5 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/article/article.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/libs/core-components/src/lib/article/article.component.scss -------------------------------------------------------------------------------- /libs/core-components/src/lib/articles/articles-feed.component.scss: -------------------------------------------------------------------------------- 1 | .highlight { 2 | background-color: var(--tp-theme-1); 3 | } 4 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/create-article/create-article.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/msanvarov/nest-angular-realworld-app/15a2e18ba35c753fb40e90faea211994992e307f/libs/core-components/src/lib/create-article/create-article.component.scss -------------------------------------------------------------------------------- /libs/core-components/src/lib/create-article/rich-text-editor/quill-configuration.ts: -------------------------------------------------------------------------------- 1 | export const QuillConfiguration = { 2 | toolbar: [ 3 | ['bold', 'italic', 'underline', 'strike'], 4 | ['blockquote', 'code-block'], 5 | [{ list: 'ordered' }, { list: 'bullet' }], 6 | [{ header: [1, 2, 3, 4, 5, 6, false] }], 7 | [{ color: [] }, { background: [] }], 8 | ['link'], 9 | ['clean'], 10 | ], 11 | }; 12 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/create-article/rich-text-editor/rich-text-editor.component.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/layout/footer.component.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @angular-eslint/no-empty-lifecycle-method */ 2 | 3 | /* eslint-disable @typescript-eslint/no-empty-function */ 4 | import { Component, OnInit } from '@angular/core'; 5 | 6 | @Component({ 7 | selector: 'starter-footer', 8 | templateUrl: './footer.component.html', 9 | }) 10 | export class FooterComponent implements OnInit { 11 | constructor() {} 12 | 13 | year = new Date().getFullYear(); 14 | 15 | ngOnInit(): void {} 16 | } 17 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/pipes/ceil.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | @Pipe({ name: 'ceil' }) 4 | export class CeilPipe implements PipeTransform { 5 | transform(value: number): number { 6 | return Math.ceil(value); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /libs/core-components/src/lib/pipes/moment.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | import moment from 'moment'; 3 | 4 | @Pipe({ name: 'dateFormat' }) 5 | export class MomentPipe implements PipeTransform { 6 | transform(value: Date | moment.Moment | string, dateFormat: string): any { 7 | return moment(value).format(dateFormat); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/core-components/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import 'jest-preset-angular/setup-jest'; 2 | 3 | // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment 4 | globalThis.ngJest = { 5 | testEnvironmentOptions: { 6 | errorOnUnknownElements: true, 7 | errorOnUnknownProperties: true, 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /libs/core-components/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [], 9 | "allowSyntheticDefaultImports": true 10 | }, 11 | "exclude": [ 12 | "src/**/*.spec.ts", 13 | "src/test-setup.ts", 14 | "jest.config.ts", 15 | "src/**/*.test.ts" 16 | ], 17 | "include": ["src/**/*.ts", "../store/src/lib/local-storage.service.ts"] 18 | } 19 | -------------------------------------------------------------------------------- /libs/core-components/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "target": "es2016", 7 | "types": ["jest", "node"] 8 | }, 9 | "files": ["src/test-setup.ts"], 10 | "include": [ 11 | "jest.config.ts", 12 | "src/**/*.test.ts", 13 | "src/**/*.spec.ts", 14 | "src/**/*.d.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /libs/store/README.md: -------------------------------------------------------------------------------- 1 | # RxJS Store 2 | 3 | This library is a simple replacement for an NgRx Store. 4 | 5 | > Remark: It is best to refactor this lib to use a NgRx Store. 6 | 7 | This library was generated with [Nx](https://nx.dev). 8 | 9 | ## Running unit tests 10 | 11 | Run `nx test store` to execute the unit tests. 12 | -------------------------------------------------------------------------------- /libs/store/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/articles'; 2 | export * from './lib/auth'; 3 | export * from './lib/local-storage.service'; 4 | export * from './lib/profiles'; 5 | export * from './lib/user'; 6 | -------------------------------------------------------------------------------- /libs/store/src/lib/articles/index.ts: -------------------------------------------------------------------------------- 1 | export * from './articles.actions'; 2 | export * from './articles.effects'; 3 | export * from './articles.reducer'; 4 | export * from './articles.selectors'; 5 | export * from './articles.types'; 6 | -------------------------------------------------------------------------------- /libs/store/src/lib/auth/auth.selectors.ts: -------------------------------------------------------------------------------- 1 | import { createFeatureSelector, createSelector } from '@ngrx/store'; 2 | 3 | import { IAuthState } from './auth.types'; 4 | 5 | export const selectAuthState = createFeatureSelector('auth'); 6 | 7 | export const selectAuthError = createSelector( 8 | selectAuthState, 9 | (state: IAuthState) => state.error, 10 | ); 11 | 12 | export const selectAuthUser = createSelector( 13 | selectAuthState, 14 | (state: IAuthState) => state.user, 15 | ); 16 | 17 | export const selectAuthLoading = createSelector( 18 | selectAuthState, 19 | (state: IAuthState) => state.loading, 20 | ); 21 | -------------------------------------------------------------------------------- /libs/store/src/lib/auth/auth.types.ts: -------------------------------------------------------------------------------- 1 | import { IUserResponseBody } from '@starter/api-types'; 2 | 3 | export enum AuthErrorCodesEnum { 4 | LOGIN_FAILURE = 'LOGIN_FAILURE', 5 | REGISTRATION_FAILURE = 'REGISTRATION_FAILURE', 6 | } 7 | 8 | export interface IAuthState { 9 | user: IUserResponseBody | null; 10 | loading: boolean; 11 | error: { 12 | message: string; 13 | code: AuthErrorCodesEnum; 14 | } | null; 15 | } 16 | -------------------------------------------------------------------------------- /libs/store/src/lib/auth/index.ts: -------------------------------------------------------------------------------- 1 | export * from './auth.actions'; 2 | export * from './auth.effects'; 3 | export * from './auth.reducer'; 4 | export * from './auth.selectors'; 5 | export * from './auth.types'; 6 | -------------------------------------------------------------------------------- /libs/store/src/lib/profiles/index.ts: -------------------------------------------------------------------------------- 1 | export * from './profiles.actions'; 2 | export * from './profiles.effects'; 3 | export * from './profiles.reducer'; 4 | export * from './profiles.selectors'; 5 | export * from './profiles.types'; 6 | -------------------------------------------------------------------------------- /libs/store/src/lib/profiles/profiles.actions.ts: -------------------------------------------------------------------------------- 1 | import { createAction, props } from '@ngrx/store'; 2 | 3 | import { Profile } from '@starter/realworld-oas'; 4 | 5 | export const getProfile = createAction( 6 | '[Profiles] Get Profile', 7 | props<{ 8 | username: string; 9 | }>(), 10 | ); 11 | 12 | export const getProfileCompleted = createAction( 13 | '[Profiles] Get Profile Completed', 14 | props<{ 15 | profile: Profile; 16 | }>(), 17 | ); 18 | 19 | export const getProfileFailure = createAction( 20 | '[Profiles] Get Profile Failure', 21 | props<{ 22 | error: string; 23 | statusCode?: number; 24 | }>(), 25 | ); 26 | -------------------------------------------------------------------------------- /libs/store/src/lib/profiles/profiles.selectors.ts: -------------------------------------------------------------------------------- 1 | import { createFeatureSelector, createSelector } from '@ngrx/store'; 2 | 3 | import { IProfilesState } from './profiles.types'; 4 | 5 | export const selectProfilesState = 6 | createFeatureSelector('profiles'); 7 | 8 | export const selectProfile = createSelector( 9 | selectProfilesState, 10 | (state: IProfilesState) => state.profile, 11 | ); 12 | 13 | export const selectProfilesError = createSelector( 14 | selectProfilesState, 15 | (state: IProfilesState) => state.error, 16 | ); 17 | -------------------------------------------------------------------------------- /libs/store/src/lib/profiles/profiles.types.ts: -------------------------------------------------------------------------------- 1 | import { Profile } from '@starter/realworld-oas'; 2 | 3 | export enum ProfilesErrorCodesEnum { 4 | GET_PROFILE_FAILED = 'GET_PROFILE_FAILED', 5 | } 6 | 7 | export interface IProfilesState { 8 | profile: Profile | null; 9 | loading: boolean; 10 | error: { 11 | message: string; 12 | code: ProfilesErrorCodesEnum; 13 | } | null; 14 | } 15 | -------------------------------------------------------------------------------- /libs/store/src/lib/user/index.ts: -------------------------------------------------------------------------------- 1 | export * from './user.actions'; 2 | export * from './user.effects'; 3 | export * from './user.reducer'; 4 | export * from './user.selectors'; 5 | export * from './user.types'; 6 | -------------------------------------------------------------------------------- /libs/store/src/lib/user/user.actions.ts: -------------------------------------------------------------------------------- 1 | import { createAction, props } from '@ngrx/store'; 2 | 3 | import { UpdateUser, User } from '@starter/realworld-oas'; 4 | 5 | export const editUser = createAction( 6 | '[User] Edit User', 7 | props<{ 8 | user: UpdateUser; 9 | }>(), 10 | ); 11 | 12 | export const editUserCompleted = createAction( 13 | '[User] Edit User Completed', 14 | props<{ user: User }>(), 15 | ); 16 | export const editUserFailure = createAction( 17 | '[User] Edit User Failure', 18 | props<{ 19 | error: string; 20 | statusCode?: number; 21 | }>(), 22 | ); 23 | -------------------------------------------------------------------------------- /libs/store/src/lib/user/user.selectors.ts: -------------------------------------------------------------------------------- 1 | import { createFeatureSelector, createSelector } from '@ngrx/store'; 2 | 3 | import { IUserState } from './user.types'; 4 | 5 | export const selectUserState = createFeatureSelector('user'); 6 | 7 | export const selectUserError = createSelector( 8 | selectUserState, 9 | (state: IUserState) => state.error, 10 | ); 11 | 12 | export const selectUser = createSelector( 13 | selectUserState, 14 | (state: IUserState) => state.user, 15 | ); 16 | -------------------------------------------------------------------------------- /libs/store/src/lib/user/user.types.ts: -------------------------------------------------------------------------------- 1 | import { User } from '@starter/realworld-oas'; 2 | 3 | export enum UserErrorCodesEnum { 4 | EDIT_USER_FAILED = 'EDIT_USER_FAILED', 5 | } 6 | 7 | export interface IUserState { 8 | user: User | null; 9 | loading: boolean; 10 | error: { 11 | message: string; 12 | code: UserErrorCodesEnum; 13 | } | null; 14 | } 15 | -------------------------------------------------------------------------------- /libs/store/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import 'jest-preset-angular/setup-jest'; 2 | -------------------------------------------------------------------------------- /libs/store/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "declaration": true, 6 | "declarationMap": true, 7 | "inlineSources": true, 8 | "types": [], 9 | "allowSyntheticDefaultImports": true 10 | }, 11 | "exclude": [ 12 | "src/test-setup.ts", 13 | "**/*.spec.ts", 14 | "jest.config.ts", 15 | "**/*.test.ts" 16 | ], 17 | "include": ["**/*.ts", "src/lib/local-storage.service.ts"] 18 | } 19 | -------------------------------------------------------------------------------- /libs/store/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "files": ["src/test-setup.ts"], 9 | "include": ["jest.config.ts", "**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /openapitools.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", 3 | "spaces": 2, 4 | "generator-cli": { 5 | "version": "6.6.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tools/tsconfig.tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../dist/out-tsc/tools", 5 | "rootDir": ".", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["node"], 9 | "importHelpers": false 10 | }, 11 | "include": ["**/*.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /transloco.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | rootTranslationsPath: 'apps/ui/src/assets/i18n/', 3 | langs: ['en', 'fr'], 4 | keysManager: {} 5 | }; --------------------------------------------------------------------------------