├── .browserslistrc ├── .env.development ├── .env.production ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── LICENSE ├── README.md ├── babel.config.js ├── build-assets.sh ├── docker ├── dev │ └── docker-compose.yaml ├── dockerfile └── prod │ └── docker-compose.yaml ├── github └── img │ ├── preview │ ├── interface-1.jpg │ ├── interface-2.jpg │ ├── interface-3.jpg │ └── interface-4.jpg │ └── workflow-diagram.png ├── index.html ├── jsconfig.json ├── mock-npm-package.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── prepare-prod.sh ├── public ├── favicon.ico ├── fonts │ ├── fredoka-one │ │ └── FredokaOne-Regular.ttf │ ├── raleway │ │ └── Raleway-VariableFont_wght.ttf │ └── teko │ │ └── Teko-Regular.ttf └── image │ ├── easy-email │ └── image-placeholder.jpg │ ├── error-pages │ └── maintenance │ │ └── Maintenance.svg │ ├── job-service │ └── logo │ │ ├── 1jeune1solution.gouv.fr.png │ │ ├── absolventa.de.png │ │ ├── adzuna.pl.png │ │ ├── anzeigen.jobsintown.de.png │ │ ├── apec.fr.png │ │ ├── aplikuj.pl.png │ │ ├── appcast.io.png │ │ ├── bankjob.de.png │ │ ├── cadremploi.fr.png │ │ ├── elempleo.com.png │ │ ├── es.talent.com.png │ │ ├── fachpraca.pl.png │ │ ├── goldenline.pl.png │ │ ├── gowork.pl.png │ │ ├── hellowork.com.png │ │ ├── indeed.com.png │ │ ├── infoempleo.com.png │ │ ├── infojobs.net.png │ │ ├── infopraca.pl.png │ │ ├── interviewme.pl.png │ │ ├── jobb.blocket.se.png │ │ ├── jobbguru.se.png │ │ ├── jobbland.se.png │ │ ├── jobbsafari.png │ │ ├── jobs.de.png │ │ ├── jobs.meinestadt.de.png │ │ ├── jobs.pl.png │ │ ├── jobware.de.png │ │ ├── karrierestart.no.png │ │ ├── kimeta.de.png │ │ ├── monster.png │ │ ├── not-found.png │ │ ├── praca.pl.png │ │ ├── pracuj.pl.png │ │ ├── stellenanzeigen.de.png │ │ ├── stellenonline.de.png │ │ ├── stepstone.de.png │ │ ├── talent.com.png │ │ ├── thehub.io.png │ │ ├── theprotocol.it.png │ │ ├── tideri.de.png │ │ └── xing.com.png │ ├── landing-pages │ ├── account-activate │ │ └── activate.png │ ├── ban │ │ └── ban.png │ ├── change-email │ │ └── change.png │ └── password-reset │ │ └── reset.png │ ├── login │ └── spectrum-gradient.svg │ └── system │ ├── dummy-avatar.png │ ├── gem │ ├── gem-128.png │ ├── gem-16.png │ ├── gem-24.png │ ├── gem-256.png │ ├── gem-32.png │ └── gem-64.png │ └── no-image.png ├── src ├── App.vue ├── assets │ ├── fonts │ │ ├── Poppins │ │ │ ├── Poppins-devanagari.woff2 │ │ │ ├── Poppins-latin-ext.woff2 │ │ │ └── Poppins-latin.woff2 │ │ └── info-page │ │ │ ├── Now-Bold.42f8447.woff │ │ │ ├── Now-Bold.4fba4e2.woff2 │ │ │ ├── Now-Regular.01092b0.woff │ │ │ └── Now-Regular.cff7fbe.woff2 │ ├── img │ │ ├── email-builder │ │ │ └── guide │ │ │ │ ├── Variables.gif │ │ │ │ ├── application-wizard-confirmation.png │ │ │ │ ├── application-wizard-template-pick.png │ │ │ │ ├── details.png │ │ │ │ ├── drag-components.gif │ │ │ │ └── drag-n-remove.gif │ │ ├── favicon │ │ │ ├── about.txt │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon.ico │ │ │ └── site.webmanifest │ │ ├── info-page │ │ │ ├── gradient-wave.png │ │ │ └── section │ │ │ │ └── info │ │ │ │ ├── 512.7302e24.jpeg │ │ │ │ ├── about-us │ │ │ │ ├── 508.f492d6a.jpeg │ │ │ │ ├── 509.e5ff6e7.jpeg │ │ │ │ └── product-owner.jpg │ │ │ │ ├── footer │ │ │ │ ├── footer-bg.78b07eb.png │ │ │ │ ├── footer-two.0e57bdd.png │ │ │ │ └── footer.671c44f.png │ │ │ │ ├── info │ │ │ │ └── carousel │ │ │ │ │ ├── carousel1.png │ │ │ │ │ ├── carousel2.png │ │ │ │ │ └── carousel3.png │ │ │ │ ├── payment │ │ │ │ └── screen.png │ │ │ │ ├── what-we-dont-offer │ │ │ │ ├── 24-7.jpg │ │ │ │ ├── aggregation.jpg │ │ │ │ └── direct-contact.jpg │ │ │ │ └── what-we-offer │ │ │ │ ├── bulk-applications.jpg │ │ │ │ ├── email-builder.jpg │ │ │ │ └── offer-search.jpg │ │ ├── job-search │ │ │ └── examples │ │ │ │ ├── france-mobile.png │ │ │ │ ├── poland-mobile.png │ │ │ │ └── spain-mobile.png │ │ ├── logo │ │ │ ├── eps │ │ │ │ ├── logo-black.eps │ │ │ │ ├── logo-color.eps │ │ │ │ ├── logo-no-background.eps │ │ │ │ └── logo-white.eps │ │ │ ├── pdf │ │ │ │ ├── logo-black.pdf │ │ │ │ ├── logo-color.pdf │ │ │ │ ├── logo-no-background.pdf │ │ │ │ └── logo-white.pdf │ │ │ ├── png │ │ │ │ ├── logo-black.png │ │ │ │ ├── logo-color.png │ │ │ │ ├── logo-no-background.png │ │ │ │ └── logo-white.png │ │ │ ├── svg │ │ │ │ ├── logo-black.svg │ │ │ │ ├── logo-color.svg │ │ │ │ ├── logo-no-background-white.svg │ │ │ │ ├── logo-no-background.svg │ │ │ │ └── logo-white.svg │ │ │ ├── voltigo-low-resolution-logo-color-on-transparent-background.svg │ │ │ └── voltigo-low-resolution-logo-white-on-transparent-background.svg │ │ └── wave.png │ ├── logo.png │ ├── scss │ │ ├── animation.scss │ │ ├── app.scss │ │ ├── colors.scss │ │ ├── fonts.scss │ │ ├── fonts │ │ │ ├── fredoka.scss │ │ │ ├── raleway.scss │ │ │ └── teko.scss │ │ ├── info-page │ │ │ ├── all.scss │ │ │ ├── bootstrap.scss │ │ │ └── page.scss │ │ ├── libs │ │ │ ├── admin-panel.scss │ │ │ ├── n-progress.scss │ │ │ ├── simple-dotted-timeline.scss │ │ │ ├── steps.scss │ │ │ ├── tippy.js.scss │ │ │ ├── toast-notification.scss │ │ │ └── v-tour.scss │ │ ├── normalization │ │ │ └── form-inputs.scss │ │ ├── responsive.scss │ │ ├── scrollbar.scss │ │ ├── text.scss │ │ └── vue │ │ │ └── view │ │ │ └── info-page.scss │ └── tailwind.css ├── components │ ├── App │ │ ├── DispatcherListener.vue │ │ └── EasyEmailCommunicationIframe.vue │ ├── Dashboard │ │ └── SmallDataDisplayBlock.vue │ ├── Development │ │ ├── FooterBar │ │ │ ├── Buttons │ │ │ │ ├── BaseButton.vue │ │ │ │ ├── Eruda.vue │ │ │ │ ├── PinBar.vue │ │ │ │ └── SymfonyProfiler.vue │ │ │ └── FooterBar.vue │ │ └── Sidebar │ │ │ ├── Components │ │ │ └── DeveloperPlaygroundButton.vue │ │ │ └── DeveloperSidebar.vue │ ├── Form │ │ ├── AsteriskRequired.vue │ │ ├── Checkbox.vue │ │ ├── Finances │ │ │ └── Internal │ │ │ │ └── CurrenciesSelect.vue │ │ ├── GeoLocation │ │ │ ├── CountrySelect.vue │ │ │ └── Internal │ │ │ │ └── CountrySelect.vue │ │ ├── Input.vue │ │ ├── InputViolations.vue │ │ ├── LanguageSelect.vue │ │ ├── MultiSelect.vue │ │ ├── PasswordWithConfirmation.vue │ │ ├── PasswordWithPreview.vue │ │ ├── Range.vue │ │ └── mixin │ │ │ └── MultiselectFocusMixin.vue │ ├── Global │ │ ├── Security │ │ │ └── RoleProtectedComponent.vue │ │ ├── TransitionPreconfigured.vue │ │ └── TransitionedComponent.vue │ ├── Libs │ │ ├── CountryFlag │ │ │ └── CountryFlag.vue │ │ └── Fontawesome.vue │ ├── LoggedIn │ │ ├── JobOffer │ │ │ ├── Filters │ │ │ │ └── Keywords.vue │ │ │ └── Sidebar │ │ │ │ ├── FullInfo.vue │ │ │ │ └── FullInfo │ │ │ │ ├── CompanyDetail │ │ │ │ ├── CompanyData.vue │ │ │ │ ├── CompanyIndustries.vue │ │ │ │ ├── CompanyLocations.vue │ │ │ │ └── CompanyWebsites.vue │ │ │ │ ├── Search │ │ │ │ └── SearchOnGoogle.vue │ │ │ │ ├── TabCompanyDetail.vue │ │ │ │ ├── TabJobOfferDetail.vue │ │ │ │ └── TabSearch.vue │ │ ├── Navigation │ │ │ ├── Footer │ │ │ │ ├── Footer.vue │ │ │ │ └── components │ │ │ │ │ ├── Copyright.vue │ │ │ │ │ ├── GithubRepo.vue │ │ │ │ │ └── LinksMenu │ │ │ │ │ └── LinksMenu.vue │ │ │ ├── Founds │ │ │ │ ├── FoundsStatus.vue │ │ │ │ └── Modal │ │ │ │ │ ├── CurrencyPaymentSupportInfo.vue │ │ │ │ │ └── FoundsStateModal.vue │ │ │ ├── PageTitleSection.vue │ │ │ ├── RightSidebar.vue │ │ │ ├── Sidebar.vue │ │ │ ├── SidebarComponents │ │ │ │ ├── SingleDropdownMenuElement.vue │ │ │ │ └── SingleMenuElement.vue │ │ │ ├── Timer │ │ │ │ └── Timer.vue │ │ │ ├── TopBar.vue │ │ │ └── TopBarComponents │ │ │ │ ├── UserMenu.vue │ │ │ │ └── UserMenuComponents │ │ │ │ └── SingleMenuElement.vue │ │ ├── Payment │ │ │ ├── PaymentModal.vue │ │ │ ├── PointsFee.vue │ │ │ ├── PointsFee │ │ │ │ └── Layout.vue │ │ │ └── Tool │ │ │ │ ├── Button │ │ │ │ ├── BaseButton.vue │ │ │ │ ├── PaypalButton.vue │ │ │ │ └── StripeButton.vue │ │ │ │ ├── PaypalPayment.vue │ │ │ │ └── StripePayment.vue │ │ ├── Product │ │ │ ├── AvailableProductsList.vue │ │ │ └── PointProduct │ │ │ │ ├── Components │ │ │ │ ├── Details.vue │ │ │ │ ├── Icon.vue │ │ │ │ └── Name.vue │ │ │ │ └── PointProduct.vue │ │ └── System │ │ │ └── SessionTimeWarningModal.vue │ ├── Modal │ │ ├── Modal.vue │ │ └── WarningModal.vue │ ├── Navigation │ │ ├── Button │ │ │ ├── BigSquareButton.vue │ │ │ ├── ButtonRounded.vue │ │ │ ├── FullRoundButtonWithIcon.vue │ │ │ └── MediumButtonWithIcon.vue │ │ ├── CircleMenu │ │ │ ├── CircleMenu.vue │ │ │ └── MenuElement.vue │ │ ├── Hamburger.vue │ │ ├── SearchInput.vue │ │ ├── Steps │ │ │ ├── Step.vue │ │ │ ├── Step │ │ │ │ └── Components │ │ │ │ │ ├── DoneState.vue │ │ │ │ │ └── NotDoneState.vue │ │ │ └── Steps.vue │ │ └── Tabs │ │ │ └── Tabs.vue │ ├── Notification │ │ ├── Alert.vue │ │ └── mixins │ │ │ └── NotificationContentMixin.vue │ ├── Page │ │ ├── AboutAccordion.vue │ │ ├── InformationBlock.vue │ │ ├── NoResultsText.vue │ │ └── WarningBlock.vue │ ├── Security │ │ ├── Modal │ │ │ └── RemindPasswordModal.vue │ │ └── PasswordConstraintsBlock.vue │ ├── System │ │ ├── MessageBar │ │ │ └── MessageBar.vue │ │ └── SystemDisabledBar │ │ │ └── SystemDisabledBar.vue │ └── Ui │ │ ├── Accordion │ │ ├── Accordion.vue │ │ └── Panel.vue │ │ ├── Badge │ │ └── Badge.vue │ │ ├── Bar │ │ └── ColorBorderBar.vue │ │ ├── ColoredSwitch.vue │ │ ├── Containers │ │ ├── Container.vue │ │ └── FloatingBox.vue │ │ ├── HtmlIframe.vue │ │ ├── Icons │ │ ├── LineAwesome.vue │ │ ├── Svg │ │ │ ├── Checkmark.vue │ │ │ ├── Cog.vue │ │ │ ├── DoubleArrowLeft.vue │ │ │ ├── DoubleArrowRight.vue │ │ │ ├── GitHub.vue │ │ │ ├── Logout.vue │ │ │ ├── NoMail.vue │ │ │ ├── Person.vue │ │ │ ├── Wrench.vue │ │ │ └── XMark.vue │ │ └── UnicodeArrow.vue │ │ ├── Lightbox │ │ └── Lightbox.vue │ │ ├── List │ │ ├── NumericList.vue │ │ ├── NumericList │ │ │ └── SingleElement.vue │ │ └── SelectableList.vue │ │ ├── Navigation │ │ └── QuickTopBottom │ │ │ ├── FixedGoToBottom.vue │ │ │ ├── FixedGoToTop.vue │ │ │ └── FixedTopBottom.vue │ │ ├── Pagination.vue │ │ ├── Payment │ │ ├── CreditCard.vue │ │ └── PayNowButton.vue │ │ ├── QuestionMarkAbout.vue │ │ ├── Row.vue │ │ ├── Table │ │ └── SimpleTable.vue │ │ ├── Timeline │ │ └── SimpleDotted │ │ │ ├── Element.vue │ │ │ └── Timeline.vue │ │ └── Upload │ │ ├── Component │ │ ├── Upload.vue │ │ ├── components │ │ │ └── UploadedFilesList.vue │ │ └── mixin │ │ │ └── UploadStatusMixin.vue │ │ └── Dialog │ │ └── UploadDialog.vue ├── config │ ├── dev │ │ ├── .gitignore │ │ ├── encryption.json │ │ └── jwt.json │ ├── global.json │ ├── globalThis.json │ └── prod │ │ ├── .gitignore │ │ ├── encryption.json │ │ └── jwt.json ├── main.ts ├── mixins │ ├── Attribute │ │ └── CssClassNormalizerMixin.vue │ ├── Awarness │ │ ├── DemoAwareMixin.vue │ │ ├── EasyEmailCommunicationAwareMixin.vue │ │ ├── HtmlToPdfBase64ProviderAwareMixin.vue │ │ ├── SymfonyProfilerAwareMixin.vue │ │ └── TourAwareMixin.vue │ ├── EasyEmail │ │ └── UploadMixin.vue │ ├── Finances │ │ └── Currency │ │ │ ├── CurrencyCodesMixin.vue │ │ │ └── ExchangeRateMixin.vue │ ├── Invoice │ │ └── InvoicePdfProviderMixin.vue │ ├── Libs │ │ ├── ChartJsMixin.vue │ │ └── EasyEmailMixin.vue │ ├── Order │ │ ├── PointProductsProviderMixin.vue │ │ └── UserOrdersProviderMixin.vue │ ├── Payment │ │ └── PreparedPaymentMixin.vue │ ├── PointShop │ │ └── PointShopHistoryProviderMixin.vue │ ├── Responsive │ │ ├── ResponsiveModalSizeMixin.vue │ │ └── ResponsiveVarsMixin.vue │ ├── System │ │ ├── PasswordConstraintsMixin.vue │ │ ├── PublicFolderAccessTokenMixin.vue │ │ ├── Restriction │ │ │ └── MaxAllowedPaymentDataMixin.vue │ │ └── SystemStateMixin.vue │ └── User │ │ └── UserRegulationMixin.vue ├── router │ ├── SymfonyRoutes.ts │ ├── SymfonyRoutes │ │ ├── SymfonyDashboardRoutes.ts │ │ ├── SymfonyEmailRoutes.ts │ │ ├── SymfonyFileRoutes.ts │ │ ├── SymfonyFinanceRoutes.ts │ │ ├── SymfonyInvoiceRoutes.ts │ │ ├── SymfonyJobOfferRoutes.ts │ │ ├── SymfonyJobServicesRoutes.ts │ │ ├── SymfonyOrderRoutes.ts │ │ ├── SymfonyPointShopRoutes.ts │ │ ├── SymfonyPointsRoutes.ts │ │ ├── SymfonyProductRoutes.ts │ │ ├── SymfonySystemRoutes.ts │ │ └── User │ │ │ ├── Regulation │ │ │ └── SymfonyUserRegulationsRoutes.ts │ │ │ └── Setting │ │ │ └── SymfonyUserSettingRoutes.ts │ ├── VueRouter.ts │ ├── VueRouterAccessControl.ts │ ├── VueRouterGuards.ts │ └── VueRouterUser.ts ├── scripts │ ├── .gitignore │ ├── BootLoader.ts │ ├── Core │ │ ├── .gitignore │ │ ├── BuildService.ts │ │ ├── Controller │ │ │ └── UserController.ts │ │ ├── Error │ │ │ ├── BaseError.ts │ │ │ └── NonLoggableBaseError.ts │ │ ├── Interfaces │ │ │ └── AppAxiosInterface.ts │ │ ├── Listeners │ │ │ ├── ErrorListener.ts │ │ │ ├── Interfaces │ │ │ │ └── ListenerInterface.ts │ │ │ ├── RejectedPromiseErrorListener.ts │ │ │ └── UserActivityListener.ts │ │ ├── Logger.ts │ │ ├── Security │ │ │ ├── JwtTokenHandler.ts │ │ │ └── SymfonyRolesAndRights.ts │ │ ├── Services │ │ │ ├── ConfigLoader │ │ │ │ └── ConfigLoader.ts │ │ │ ├── Crypto │ │ │ │ ├── Base64Service.ts │ │ │ │ ├── Md5Service.ts │ │ │ │ └── RandomGeneratorService.ts │ │ │ ├── Dispatcher │ │ │ │ ├── EventDispatcherLoggedUserService.ts │ │ │ │ ├── EventDispatcherService.ts │ │ │ │ └── EventEmitterService.ts │ │ │ ├── DomService.ts │ │ │ ├── Download │ │ │ │ ├── Base64DownloadService.ts │ │ │ │ └── Base64PdfDownloadService.ts │ │ │ ├── EasyEmail │ │ │ │ ├── EasyEmailSecretHandler.ts │ │ │ │ └── Event │ │ │ │ │ ├── Incoming.ts │ │ │ │ │ └── Outgoing.ts │ │ │ ├── EventListenerService.ts │ │ │ ├── External │ │ │ │ ├── GoogleMapsService.ts │ │ │ │ ├── GoogleSearchService.ts │ │ │ │ └── ShieldsIoService.ts │ │ │ ├── Generator │ │ │ │ ├── CsvGenerator.ts │ │ │ │ └── UniqidService.ts │ │ │ ├── Job │ │ │ │ └── JobServiceDataProvider.ts │ │ │ ├── Math │ │ │ │ └── MathService.ts │ │ │ ├── Parser │ │ │ │ └── TextParser.ts │ │ │ ├── Promise │ │ │ │ └── PromiseService.ts │ │ │ ├── PublicFolder │ │ │ │ └── PublicFolderService.ts │ │ │ ├── Request │ │ │ │ └── AppAxios.ts │ │ │ ├── Resolver │ │ │ │ └── ObjectValuesResolver.ts │ │ │ ├── Security │ │ │ │ ├── BanHandlerService.ts │ │ │ │ ├── CookiePopup.ts │ │ │ │ ├── EncryptionService.ts │ │ │ │ ├── IframePostMessageControlService.ts │ │ │ │ └── JwtService.ts │ │ │ ├── Storage │ │ │ │ ├── BackendErrorStorageService.ts │ │ │ │ ├── DevelopmentLocalStorageService.ts │ │ │ │ ├── LocalStorageService.ts │ │ │ │ └── SessionStorageService.ts │ │ │ ├── TimerService.ts │ │ │ ├── Types │ │ │ │ └── TypeChecker.ts │ │ │ ├── TypesProcessors │ │ │ │ ├── ArrayTypeProcessor.ts │ │ │ │ ├── BoolTypeProcessor.ts │ │ │ │ ├── DateTimeProcessor.ts │ │ │ │ ├── NumberTypeProcessor.ts │ │ │ │ ├── ObjectTypeProcessor.ts │ │ │ │ └── StringTypeProcessor.ts │ │ │ ├── Url │ │ │ │ └── UrlService.ts │ │ │ ├── View │ │ │ │ └── BrowserDetection.ts │ │ │ ├── Websocket │ │ │ │ ├── ActionExecutor │ │ │ │ │ ├── AbstractWebsocketActionExecutor.ts │ │ │ │ │ ├── AuthenticatedUserWebsocketActionExecutor.ts │ │ │ │ │ └── GlobalWebsocketActionExecutor.ts │ │ │ │ ├── Callable │ │ │ │ │ └── AuthenticatedUserWebsocketCallable.ts │ │ │ │ ├── Handler │ │ │ │ │ ├── AuthenticatedUserWebsocketHandler.ts │ │ │ │ │ ├── GlobalWebsocketHandler.ts │ │ │ │ │ ├── NotFoundWebsocketHandler.ts │ │ │ │ │ ├── NotificationWebsocketHandler.ts │ │ │ │ │ ├── UnauthorizedWebsocketHandler.ts │ │ │ │ │ └── WebsocketHandlerInterface.ts │ │ │ │ ├── WebsocketConnectionHandler.ts │ │ │ │ ├── WebsocketHandlerSelector.ts │ │ │ │ └── websocket.d.ts │ │ │ └── WindowService.ts │ │ ├── System │ │ │ └── EnvReader.ts │ │ └── Types │ │ │ ├── Account.ts │ │ │ ├── ConfigLoader.ts │ │ │ ├── EmailTemplate.ts │ │ │ ├── Request │ │ │ ├── AxiosTypes.ts │ │ │ └── RequestMethodType.ts │ │ │ ├── Svg.d.ts │ │ │ └── UserData.ts │ ├── Dto │ │ ├── BaseDTO.ts │ │ ├── File │ │ │ ├── UploadConfigurationDTO.ts │ │ │ └── UploadedFileDTO.ts │ │ ├── Jwt │ │ │ └── JwtPayloadType.ts │ │ └── Websocket │ │ │ ├── IncomingWebsocketMessageDTO.ts │ │ │ ├── OutgoingWebsocketMessageDTO.ts │ │ │ └── WebsocketMessageBaseDTO.ts │ ├── Entity │ │ ├── Email │ │ │ └── EmailTemplate.ts │ │ ├── Geolocation │ │ │ └── Country.ts │ │ ├── Job │ │ │ ├── CompanyDetail.ts │ │ │ ├── ContactDetail.ts │ │ │ ├── Filter │ │ │ │ └── JobOfferSearchResultDetailFilter.ts │ │ │ ├── JobApplications.ts │ │ │ ├── JobOfferAnalyzed.ts │ │ │ ├── JobSearchResult.ts │ │ │ ├── JobShortInformation.ts │ │ │ └── Salary.ts │ │ └── PointShop │ │ │ └── PointShopProduct.ts │ ├── Enum │ │ ├── PaymentStatusEnum.ts │ │ └── PointShopProductEnum.ts │ ├── Libs │ │ ├── .gitignore │ │ ├── FlagIconCss.ts │ │ ├── GeneratePassword.ts │ │ ├── IsoCountries.ts │ │ ├── Nprogress.ts │ │ └── ToastNotification.ts │ ├── Response │ │ ├── Ban │ │ │ └── BanResponse.ts │ │ ├── BaseApiResponse.ts │ │ ├── CsrfTokenResponse.ts │ │ ├── Currency │ │ │ ├── GetAllCurrencyCodesResponse.ts │ │ │ └── GetExchangeRateResponse.ts │ │ ├── Dashboard │ │ │ └── GetDashboardDataResponse.ts │ │ ├── Email │ │ │ └── Template │ │ │ │ ├── GetEditorVariables.ts │ │ │ │ ├── GetTemplates.ts │ │ │ │ ├── ReFetchTemplate.ts │ │ │ │ └── SaveTemplate.ts │ │ ├── ErrorHandler.ts │ │ ├── File │ │ │ └── Upload │ │ │ │ ├── GetUploadConfigurationResponse.ts │ │ │ │ ├── GetUserCvList.ts │ │ │ │ └── UploadResponse.ts │ │ ├── Invoice │ │ │ └── GetInvoiceResponse.ts │ │ ├── Job │ │ │ ├── Application │ │ │ │ └── GetApplications.ts │ │ │ ├── Filter │ │ │ │ └── GetDefaultFilter.ts │ │ │ ├── Offer │ │ │ │ ├── GetFullDescription.ts │ │ │ │ └── GetJobOffers.ts │ │ │ ├── Search │ │ │ │ └── GetJobSearchResults.ts │ │ │ └── Service │ │ │ │ └── GetSupportedCuntries.ts │ │ ├── Order │ │ │ └── GetOrdersDataResponse.ts │ │ ├── Payment │ │ │ ├── PrepareResponse.ts │ │ │ └── Stripe │ │ │ │ └── GetPaymentIntentResponse.ts │ │ ├── PointShop │ │ │ ├── GetAllJobSearchTagProductResponse.ts │ │ │ ├── GetFullPointShopHistoryResponse.ts │ │ │ └── GetPointShopProductResponse.ts │ │ ├── Product │ │ │ └── GetAllPointProductDataResponse.ts │ │ ├── System │ │ │ ├── AccessToken │ │ │ │ └── GetPublicFolderAccessTokenResponse.ts │ │ │ ├── GeoData │ │ │ │ └── InternallySupportedCountriesResponse.ts │ │ │ ├── Restriction │ │ │ │ ├── CheckActiveJobSearchResponse.ts │ │ │ │ ├── CheckEmailTemplateRestrictions.ts │ │ │ │ ├── GetMaxAllowedPaymentDataResponse.ts │ │ │ │ └── MaxTemplateTestEmailResponse.ts │ │ │ ├── Security │ │ │ │ └── GetPasswordConstraintsResponse.ts │ │ │ └── State │ │ │ │ ├── CheckActiveJobSearchResponse.ts │ │ │ │ └── SystemDisabledStateResponse.ts │ │ └── User │ │ │ └── IsUserRegulationAcceptedResponse.ts │ └── Vue │ │ ├── Mixins │ │ ├── BaseApiResponseViolationsToDataFieldsViolations.vue │ │ ├── Colors.vue │ │ ├── Email │ │ │ └── TemplatesProviderMixin.vue │ │ ├── FailedBackendResponseHandler.vue │ │ ├── Response │ │ │ └── BaseApiResponseMixin.vue │ │ ├── Ui │ │ │ └── PaginationMixin.vue │ │ └── VuelidateHandler.vue │ │ ├── Plugin │ │ ├── Axios │ │ │ ├── AxiosPlugin.ts │ │ │ └── axios.d.ts │ │ ├── Events │ │ │ ├── RootEvent.ts │ │ │ └── rootEvent.d.ts │ │ ├── InstallablePluginInterface.ts │ │ ├── Libs │ │ │ ├── Fontawesome.ts │ │ │ └── Tippy.ts │ │ ├── PluginsInstaller.ts │ │ └── View │ │ │ ├── ViewPlugin.ts │ │ │ └── viewPlugin.d.ts │ │ ├── Provider │ │ └── TranslationsProvider.ts │ │ ├── Store │ │ ├── ApplicationWizardOffersStore.ts │ │ ├── SystemDisabledState.ts │ │ └── UserState.ts │ │ └── Types │ │ ├── Components │ │ ├── ComponentPickerRecord.ts │ │ ├── Sidebar.ts │ │ └── types.d.ts │ │ └── Router │ │ └── router.d.ts ├── shims-vue.d.ts ├── translations │ └── en-US │ │ ├── components │ │ ├── Form │ │ │ ├── currency.json │ │ │ └── keywords.json │ │ ├── Modal │ │ │ ├── EmailBuilder │ │ │ │ └── general-regulations.json │ │ │ ├── founds.json │ │ │ ├── payment.json │ │ │ └── warning.json │ │ ├── Page │ │ │ ├── about.json │ │ │ └── no-results.json │ │ ├── Security │ │ │ └── password.json │ │ ├── UI │ │ │ └── colored-switch.json │ │ ├── User │ │ │ └── personal-data.json │ │ ├── developer.json │ │ ├── job-offer-email-wizard.json │ │ ├── job-offer-selected-offers-preview.json │ │ ├── payment.json │ │ ├── upload.json │ │ └── user-settings.json │ │ ├── demo.json │ │ ├── info │ │ └── info-page.json │ │ ├── messages.json │ │ ├── navigation.json │ │ ├── other │ │ ├── date-time │ │ │ └── months.json │ │ └── validations.json │ │ ├── process │ │ └── payment.json │ │ ├── regulations │ │ ├── email-builder │ │ │ └── general.json │ │ └── general │ │ │ └── terms-of-use.json │ │ ├── system │ │ ├── restriction │ │ │ └── payment.json │ │ ├── state.json │ │ └── timer.json │ │ └── views │ │ ├── email │ │ └── template │ │ │ ├── builder-close-modal.json │ │ │ ├── builder.json │ │ │ └── removal-confirmation-modal.json │ │ ├── errorPage │ │ └── 404.json │ │ ├── home-dashboard │ │ └── home-dashboard.json │ │ ├── jobOffer │ │ ├── job-offer-applications.json │ │ ├── job-offer-results.json │ │ ├── job-offer-search-entries.json │ │ ├── job-offer-search.json │ │ └── job-service.data.json │ │ ├── landing-page │ │ ├── account-activate │ │ │ └── activate.json │ │ ├── ban │ │ │ └── ban.json │ │ ├── change-email │ │ │ └── change.json │ │ ├── landing-page.json │ │ ├── password-reset │ │ │ └── reset.json │ │ └── user-not-activated │ │ │ └── not-activated.json │ │ ├── logged-in.json │ │ ├── login │ │ └── login.json │ │ ├── payments │ │ └── orders-payments-overview.json │ │ ├── pointShop │ │ └── pointShop.json │ │ ├── register │ │ └── register.json │ │ ├── security │ │ └── login.json │ │ └── user │ │ └── profile.json └── views │ ├── Ban │ ├── Ban.vue │ ├── components │ │ ├── BanReason.vue │ │ └── BannedUntil.vue │ └── mixin │ │ └── BanTypeMixin.vue │ ├── Dashboard.vue │ ├── Dashboard │ └── Components │ │ ├── JobApplicationsSent.vue │ │ ├── Mixin │ │ ├── CountGroupingByDateMixin.vue │ │ └── TourMixin.vue │ │ ├── TopDataBlocks.vue │ │ └── UniqueOffersFound.vue │ ├── Development │ └── Playground.vue │ ├── Email │ └── Template │ │ ├── Builder.vue │ │ └── Builder │ │ ├── HintsAccordion.vue │ │ ├── Mixin │ │ ├── DeleteMixin.vue │ │ ├── LoadCloneableMixin.vue │ │ ├── LoadMixin.vue │ │ └── SaveMixin.vue │ │ ├── Modal │ │ ├── EasyEmail.vue │ │ ├── EasyEmailTourMixin.vue │ │ ├── GeneratePdfModal.vue │ │ ├── GuideModal.vue │ │ ├── RegulationsModal.vue │ │ ├── RemoveTemplateConfirmationModal.vue │ │ ├── SendTestEmailModal.vue │ │ └── StopEditingConfirmationModal.vue │ │ ├── PredefinedTemplates.vue │ │ ├── TemplatesList.vue │ │ ├── TemplatesList │ │ └── SingleTemplate │ │ │ ├── SingleTemplate.vue │ │ │ └── components │ │ │ ├── Buttons.vue │ │ │ └── Image.vue │ │ ├── TopNavBar.vue │ │ └── WarningMobileBrowser.vue │ ├── ErrorCodes │ └── 404.vue │ ├── Examples │ └── RoleProtectedRoute.vue │ ├── InfoLandingPage │ ├── Components │ │ ├── BackToTop.vue │ │ ├── Footer.vue │ │ ├── Footer │ │ │ ├── Contact.vue │ │ │ └── Menu.vue │ │ ├── Mixin │ │ │ ├── LoginPageHandlerMixin.vue │ │ │ └── SectionNavigationMixin.vue │ │ ├── Modal │ │ │ ├── Credits.vue │ │ │ └── RoadMap.vue │ │ ├── Section │ │ │ ├── AboutUs.vue │ │ │ ├── Components │ │ │ │ ├── AboutUs │ │ │ │ │ └── ExternalStyles.vue │ │ │ │ ├── Home │ │ │ │ │ └── ExternalStyles.vue │ │ │ │ ├── Info │ │ │ │ │ ├── InfoToLeft.vue │ │ │ │ │ └── InfoToRight.vue │ │ │ │ └── Offer │ │ │ │ │ ├── Block.vue │ │ │ │ │ └── Section.vue │ │ │ ├── Countries.vue │ │ │ ├── Faq.vue │ │ │ ├── Home.vue │ │ │ ├── Info.vue │ │ │ ├── Payment.vue │ │ │ ├── ScreensCarousel.vue │ │ │ ├── WhatWeDontOffer.vue │ │ │ └── WhatWeOffer.vue │ │ ├── TopMenu.vue │ │ └── TopMenu │ │ │ └── LoginLink.vue │ └── Page.vue │ ├── JobOffer │ ├── Applications.vue │ ├── Applications │ │ ├── Components │ │ │ ├── FiltersPanel │ │ │ │ ├── Components │ │ │ │ │ ├── CompanyNameFilter.vue │ │ │ │ │ ├── DateFromFilter.vue │ │ │ │ │ ├── DateToFilter.vue │ │ │ │ │ ├── EmailAddressFilter.vue │ │ │ │ │ └── JobTitleFilter.vue │ │ │ │ └── FiltersPanel.vue │ │ │ └── SortPanel │ │ │ │ ├── Components │ │ │ │ └── GeneralSort.vue │ │ │ │ └── SortPanel.vue │ │ ├── Mixin │ │ │ ├── Filter │ │ │ │ └── InitialFilterValuesMixin.vue │ │ │ └── Sort │ │ │ │ ├── InitialSortValuesMixin.vue │ │ │ │ └── SortTypesMixin.vue │ │ ├── SingleApplication │ │ │ ├── Components │ │ │ │ ├── Details.vue │ │ │ │ ├── Logo.vue │ │ │ │ ├── OfferServiceData.vue │ │ │ │ ├── Status.vue │ │ │ │ ├── Tooltip.vue │ │ │ │ └── Tooltip │ │ │ │ │ └── Components │ │ │ │ │ └── SeeOffer.vue │ │ │ └── SingleJobApplication.vue │ │ ├── TopRow.vue │ │ └── Types │ │ │ ├── Filter │ │ │ └── FilterTypes.ts │ │ │ └── Sort │ │ │ └── SortTypes.ts │ ├── Email │ │ ├── Mixin │ │ │ └── DummyVariablesProviderMixin.vue │ │ ├── Wizard.vue │ │ └── Wizard │ │ │ ├── Attachments │ │ │ └── Cv.vue │ │ │ ├── Common │ │ │ ├── Mixin │ │ │ │ └── GenerateEmailMixin.vue │ │ │ └── StepNavigation.vue │ │ │ ├── Confirmation │ │ │ ├── Headers.vue │ │ │ ├── ModalTemplateHasChanged.vue │ │ │ ├── OffersList │ │ │ │ ├── Components │ │ │ │ │ ├── SingleOffer.vue │ │ │ │ │ └── SingleOffer │ │ │ │ │ │ └── Components │ │ │ │ │ │ ├── OfferDetails.vue │ │ │ │ │ │ └── OfferSelection.vue │ │ │ │ └── OffersList.vue │ │ │ ├── SelectedAttachments.vue │ │ │ └── SendApplicationsButton.vue │ │ │ ├── Mixin │ │ │ └── TargetStepHandlerMixin.vue │ │ │ ├── StepConfirmation.vue │ │ │ ├── StepInterfaceMixin.vue │ │ │ ├── StepPreviewTemplate.vue │ │ │ ├── StepSelectAttachments.vue │ │ │ └── StepSelectTemplate.vue │ ├── Search.vue │ ├── Search │ │ ├── AdvancedSettingModal.vue │ │ ├── AdvancedSettingModal │ │ │ └── LimitSelect.vue │ │ ├── ExamplesButton.vue │ │ ├── ExamplesLightbox.vue │ │ ├── HandlerOfflineInfo.vue │ │ ├── LimitInfoBlock.vue │ │ ├── LimitReachedInfo.vue │ │ ├── LocationBasedSearchInfo.vue │ │ ├── Mixin │ │ │ └── TourMixin.vue │ │ ├── QuotaReachedInfo.vue │ │ └── WarningBlocks.vue │ └── SearchResult │ │ ├── Details.vue │ │ ├── Details │ │ ├── Components │ │ │ ├── ActionsPanel.vue │ │ │ ├── ActionsPanel │ │ │ │ ├── GetAsCsv.vue │ │ │ │ └── Search.vue │ │ │ ├── Cards │ │ │ │ ├── MiniSingleCard.vue │ │ │ │ ├── SingleCard.vue │ │ │ │ └── SingleCard │ │ │ │ │ ├── BottomBar.vue │ │ │ │ │ ├── CompanyDetail.vue │ │ │ │ │ ├── CompanyLocation.vue │ │ │ │ │ ├── CompanyName.vue │ │ │ │ │ ├── JobOfferServiceThumb.vue │ │ │ │ │ ├── LastTimeAppliedDate.vue │ │ │ │ │ ├── Mixin │ │ │ │ │ └── PreviewOfferMixin.vue │ │ │ │ │ ├── OfferData.vue │ │ │ │ │ ├── OfferDescription.vue │ │ │ │ │ ├── OfferPostedDate.vue │ │ │ │ │ ├── OfferServiceInfoBlock.vue │ │ │ │ │ ├── OfferTitle.vue │ │ │ │ │ └── QuickApply.vue │ │ │ ├── FiltersAccordion.vue │ │ │ ├── FiltersPanel.vue │ │ │ ├── FiltersPanel │ │ │ │ ├── Company.vue │ │ │ │ ├── Company │ │ │ │ │ └── components │ │ │ │ │ │ ├── BaseName.vue │ │ │ │ │ │ ├── ExcludedName.vue │ │ │ │ │ │ ├── IncludedName.vue │ │ │ │ │ │ └── NameSet.vue │ │ │ │ ├── Enum │ │ │ │ │ └── FilteringRuleEnum.ts │ │ │ │ ├── Keywords.vue │ │ │ │ ├── Offer.vue │ │ │ │ ├── Other.vue │ │ │ │ └── Other │ │ │ │ │ └── OnlyNewOffers.vue │ │ │ ├── Legend.vue │ │ │ ├── LegendBlock.vue │ │ │ ├── Navigation │ │ │ │ └── FloatingBoxes.vue │ │ │ ├── NoSearchResults.vue │ │ │ ├── OffersCountInfoBlock.vue │ │ │ ├── SelectedOffersListModal.vue │ │ │ └── WizardModal.vue │ │ └── Mixin │ │ │ ├── EmailSourceMixin.vue │ │ │ ├── JobOffersProviderMixin.vue │ │ │ ├── MiniCardsHandlerMixin.vue │ │ │ ├── OffersSelectionHandlerMixin.vue │ │ │ ├── RightSidebarHandlerMixin.vue │ │ │ └── SearchMixin.vue │ │ ├── Mixin │ │ └── SearchResultStatusMixin.vue │ │ ├── Overview.vue │ │ └── Overview │ │ └── Components │ │ ├── FiltersPanel │ │ ├── Components │ │ │ ├── CreatedFilter.vue │ │ │ ├── KeywordsFilter.vue │ │ │ ├── LocationDistanceFilter.vue │ │ │ ├── LocationNameFilter.vue │ │ │ ├── StatusFilter.vue │ │ │ └── TargetAreaFilter.vue │ │ └── FiltersPanel.vue │ │ └── SingleResult │ │ ├── Components │ │ ├── CountFound.vue │ │ ├── Details.vue │ │ ├── StatusIcon.vue │ │ ├── StatusText.vue │ │ ├── Tab.vue │ │ └── ValidityText.vue │ │ └── SingleResult.vue │ ├── Payments │ ├── Mixin │ │ └── PaymentStatusMixin.vue │ ├── Overview.vue │ ├── Overview │ │ └── Components │ │ │ ├── FiltersPanel │ │ │ ├── Components │ │ │ │ ├── CreatedFilter.vue │ │ │ │ ├── PriceFilter.vue │ │ │ │ ├── ProductNamesFilter.vue │ │ │ │ └── StatusFilter.vue │ │ │ └── FiltersPanel.vue │ │ │ └── SingleResult │ │ │ ├── Components │ │ │ ├── Actions.vue │ │ │ ├── Details.vue │ │ │ ├── StatusIcon.vue │ │ │ ├── StatusText.vue │ │ │ └── Tab.vue │ │ │ └── SingleResult.vue │ ├── PointShopHistory.vue │ └── PointShopHistory │ │ └── Components │ │ ├── Details │ │ ├── EmailSending.vue │ │ └── JobSearchProduct.vue │ │ ├── DetailsModal.vue │ │ ├── EntryInformation.vue │ │ ├── FiltersPanel │ │ ├── Components │ │ │ └── CreatedFilter.vue │ │ └── FiltersPanel.vue │ │ └── Type.vue │ ├── RouterViews │ ├── Components │ │ └── LoggedInUser │ │ │ └── TermsOfUseModal.vue │ └── LoggedInUser.vue │ ├── Security │ ├── Login.vue │ └── Register.vue │ ├── SystemState │ └── Maintenance.vue │ └── User │ ├── EmailChangeConfirmation.vue │ ├── InfoPage │ └── Components │ │ └── NavButtons.vue │ ├── NotActivatedView.vue │ ├── PasswordResetConfirmation.vue │ ├── PersonalData │ └── DataUsageInfo.vue │ ├── Profile.vue │ ├── ProfileActivationConfirmation.vue │ └── Settings │ ├── Navigation │ └── SettingsNavigation.vue │ ├── Settings.vue │ ├── Views │ ├── Account │ │ ├── Account.vue │ │ └── components │ │ │ ├── RemoveAccount.vue │ │ │ └── RemoveAccount │ │ │ └── Modal.vue │ ├── BaseData │ │ ├── BaseData.vue │ │ └── components │ │ │ ├── EmailAddress │ │ │ ├── Dialog.vue │ │ │ └── EmailAddressInput.vue │ │ │ ├── PersonalData │ │ │ ├── Address.vue │ │ │ ├── Address │ │ │ │ ├── City.vue │ │ │ │ ├── Country.vue │ │ │ │ ├── HomeNumber.vue │ │ │ │ ├── Street.vue │ │ │ │ └── Zip.vue │ │ │ ├── Dialog.vue │ │ │ ├── FirstName.vue │ │ │ └── LastName.vue │ │ │ └── ProfileImageUpload │ │ │ └── Dialog.vue │ ├── Files │ │ ├── Files.vue │ │ └── components │ │ │ └── Cv │ │ │ ├── Cv.vue │ │ │ └── components │ │ │ ├── CvList │ │ │ └── CvList.vue │ │ │ ├── CvModal.vue │ │ │ └── SingleCvData │ │ │ ├── SingleCvData.vue │ │ │ └── components │ │ │ ├── EditDialog.vue │ │ │ ├── FileName.vue │ │ │ └── UserBasedNameInput.vue │ ├── Mixin │ │ └── ResponsiveViewNavMixin.vue │ └── Security │ │ ├── Security.vue │ │ └── components │ │ ├── ChangePassword.vue │ │ └── ChangePassword │ │ └── Modal.vue │ └── components │ └── SingleNavElement.vue ├── tailwind.config.js ├── tsconfig.json └── vite.config.js /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es2021: true, 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/vue3-essential', 8 | 'eslint:recommended', 9 | '@vue/typescript/recommended', 10 | ], 11 | parserOptions: { 12 | ecmaVersion: 2020 13 | }, 14 | rules: { 15 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 16 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 17 | 'no-async-promise-executor': "off", 18 | 'prefer-const': "off", 19 | 'no-var': "off", 20 | 'no-case-declarations': "off", 21 | "@typescript-eslint/ban-ts-comment": "off", 22 | "@typescript-eslint/no-inferrable-types": "off", 23 | "@typescript-eslint/no-this-alias": "off", 24 | "@typescript-eslint/no-var-requires": "off" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /build-assets.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Solve the JavaScript heap out of memory 4 | export NODE_OPTIONS='--max-old-space-size=4096' 5 | ENV_MODE=$1 6 | 7 | # Prints an information block (aka header) 8 | function printInfoBlock() { 9 | LINES="\n========================================\n"; 10 | 11 | printf "$LINES"; 12 | printf "$1" 13 | printf "$LINES \n"; 14 | } 15 | 16 | START=$(date +%s) && \ 17 | \ 18 | printInfoBlock "Executing VITE build process" && \ 19 | npx vite build --mode "${ENV_MODE}" && \ 20 | \ 21 | # This has to be made outside vite as otherwise it breaks the js code, consumes tremendous amount of resources & time 22 | ## It can happen that obfuscated code will get slower 23 | printInfoBlock "Obfuscating code" && \ 24 | npx javascript-obfuscator dist --output=dist && \ 25 | \ 26 | # This allows some browsers to take the gzip version (smaller one) 27 | printInfoBlock "Compressing files" && \ 28 | gzip --keep dist/assets/*.js && \ 29 | \ 30 | \ 31 | END=$(date +%s) && \ 32 | RUNTIME=$(($END- $START)) && \ 33 | \ 34 | printInfoBlock "Script was running ${RUNTIME} second/s"; 35 | -------------------------------------------------------------------------------- /github/img/preview/interface-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Volmarg/voltigo-frontend/3b803f68f9dedff60600f2c6b41a7ab5b33e8cc5/github/img/preview/interface-1.jpg -------------------------------------------------------------------------------- /github/img/preview/interface-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Volmarg/voltigo-frontend/3b803f68f9dedff60600f2c6b41a7ab5b33e8cc5/github/img/preview/interface-2.jpg -------------------------------------------------------------------------------- /github/img/preview/interface-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Volmarg/voltigo-frontend/3b803f68f9dedff60600f2c6b41a7ab5b33e8cc5/github/img/preview/interface-3.jpg -------------------------------------------------------------------------------- /github/img/preview/interface-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Volmarg/voltigo-frontend/3b803f68f9dedff60600f2c6b41a7ab5b33e8cc5/github/img/preview/interface-4.jpg -------------------------------------------------------------------------------- /github/img/workflow-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Volmarg/voltigo-frontend/3b803f68f9dedff60600f2c6b41a7ab5b33e8cc5/github/img/workflow-diagram.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |8 | {{ $t('searchResults.fullInfo.tabs.companyDetails.data.industries.label') }} 9 |
10 |©Voltigo | All Rights Reserved
4 |{{ $t('navbar.topBar.founds.label') }}
7 |{{ $t('foundsModal.info.notSupportingAllCurrencies') }}
5 |{{ $t('foundsModal.info.cantDetermineWhichCurrenciesAreSupported') }}
7 |3 | 7 | {{ $t('noResults.text') }} 8 |
9 | 10 |
9 |
15 |
{{ $t('applications.singleApplication.labels.offerSource') }}
4 |{{ serviceData.name }}
5 |{{ text }}
6 | Home 9 |