├── .npmrc ├── apps ├── ws-tests │ ├── runs │ │ └── .gitkeep │ ├── .gitignore │ ├── tsconfig.build.json │ ├── src │ │ ├── constants.ts │ │ ├── scripts │ │ │ └── create_race_soon.ts │ │ └── declarations.ts │ ├── package.json │ └── tsconfig.json ├── mint-api │ ├── .dockerignore │ ├── scripts │ │ ├── i.sh │ │ └── is.sh │ ├── .prettierrc │ ├── src │ │ ├── logger.ts │ │ ├── auth │ │ │ ├── TokenPayload.interface.ts │ │ │ ├── guards │ │ │ │ ├── jwt-auth.guard.ts │ │ │ │ ├── local-auth.guard.ts │ │ │ │ └── jwt-refresh-auth.guard.ts │ │ │ ├── current-user.decorator.ts │ │ │ ├── auth.service.spec.ts │ │ │ ├── auth.controller.spec.ts │ │ │ ├── strategies │ │ │ │ ├── local.strategy.ts │ │ │ │ ├── jwt.strategy.ts │ │ │ │ └── jwt-refresh.strategy.ts │ │ │ ├── auth.module.ts │ │ │ ├── dto │ │ │ │ └── auth.dto.ts │ │ │ └── entities │ │ │ │ └── auth.entity.ts │ │ ├── app.service.ts │ │ ├── drizzle │ │ │ ├── drizzle.module.ts │ │ │ ├── drizzle.service.spec.ts │ │ │ └── drizzle.service.ts │ │ ├── me │ │ │ ├── me.module.ts │ │ │ ├── me.service.spec.ts │ │ │ ├── me.controller.spec.ts │ │ │ ├── me.controller.ts │ │ │ └── me.service.ts │ │ ├── declaration.ts │ │ ├── modules │ │ │ ├── races │ │ │ │ ├── races.module.ts │ │ │ │ ├── races.service.spec.ts │ │ │ │ └── races.controller.spec.ts │ │ │ ├── events │ │ │ │ ├── events.module.ts │ │ │ │ ├── events.service.spec.ts │ │ │ │ ├── events.controller.spec.ts │ │ │ │ ├── entities │ │ │ │ │ └── event.entity.ts │ │ │ │ ├── dto │ │ │ │ │ └── event.dto.ts │ │ │ │ ├── events.service.ts │ │ │ │ └── events.controller.ts │ │ │ ├── users │ │ │ │ ├── users.module.ts │ │ │ │ ├── users.service.spec.ts │ │ │ │ ├── users.controller.spec.ts │ │ │ │ └── users.controller.ts │ │ │ ├── visitors │ │ │ │ ├── visitors.module.ts │ │ │ │ ├── visitors.service.spec.ts │ │ │ │ ├── visitors.controller.spec.ts │ │ │ │ ├── visitors.controller.ts │ │ │ │ └── visitors.service.ts │ │ │ └── organizations │ │ │ │ ├── organizations.module.ts │ │ │ │ ├── dto │ │ │ │ └── organizations.ts │ │ │ │ ├── organizations.service.spec.ts │ │ │ │ ├── organizations.controller.spec.ts │ │ │ │ ├── entities │ │ │ │ └── organization.entity.ts │ │ │ │ └── organizations.controller.ts │ │ ├── authorization │ │ │ ├── authorization.module.ts │ │ │ ├── authorization.service.spec.ts │ │ │ └── authorization.service.ts │ │ ├── s3 │ │ │ └── s3.ts │ │ ├── module-enums │ │ │ ├── subscriptions │ │ │ │ ├── subscriptions.module.ts │ │ │ │ ├── subscriptions.service.spec.ts │ │ │ │ ├── subscriptions.controller.ts │ │ │ │ └── subscriptions.controller.spec.ts │ │ │ └── standard-distances │ │ │ │ ├── standard-distances.module.ts │ │ │ │ ├── standard-distances.service.ts │ │ │ │ ├── entities │ │ │ │ └── standard-distance.entity.ts │ │ │ │ ├── standard-distances.service.spec.ts │ │ │ │ ├── standard-distances.controller.spec.ts │ │ │ │ └── standard-distances.controller.ts │ │ ├── app.controller.ts │ │ ├── app.controller.spec.ts │ │ ├── utils │ │ │ └── drizzle.helpers.ts │ │ ├── app.module.ts │ │ └── main.ts │ ├── tsconfig.build.json │ ├── nest-cli.json │ ├── test │ │ ├── jest-e2e.json │ │ └── app.e2e-spec.ts │ ├── tsconfig.json │ ├── .gitignore │ ├── eslint.config.mjs │ └── README.md ├── mint-admin │ ├── .dockerignore │ ├── src │ │ ├── vite-env.d.ts │ │ ├── errors │ │ │ ├── unexisting.error.ts │ │ │ └── unauthorized.error.ts │ │ ├── App.css │ │ ├── socket.ts │ │ ├── types │ │ │ └── window.d.ts │ │ ├── App.tsx │ │ ├── main.tsx │ │ ├── config.ts │ │ ├── pages │ │ │ ├── Home.tsx │ │ │ ├── auth │ │ │ │ └── Login.tsx │ │ │ ├── me │ │ │ │ └── Event.tsx │ │ │ └── organizations │ │ │ │ └── Organizations.tsx │ │ ├── constants.ts │ │ ├── components │ │ │ ├── cards │ │ │ │ ├── ResponsiveCardGrid.tsx │ │ │ │ └── RaceCard.tsx │ │ │ ├── ui │ │ │ │ ├── label.tsx │ │ │ │ ├── separator.tsx │ │ │ │ ├── textarea.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── avatar.tsx │ │ │ │ ├── checkbox.tsx │ │ │ │ ├── toggle.tsx │ │ │ │ ├── popover.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── button.tsx │ │ │ │ └── card.tsx │ │ │ ├── DateRangeMultipleMonthPicker.tsx │ │ │ ├── DatePicker.tsx │ │ │ ├── TrackPreview.tsx │ │ │ └── Header.tsx │ │ ├── lib │ │ │ └── utils.ts │ │ ├── Ws.ts │ │ ├── CanvasLayer.ts │ │ ├── CanvasCustomMarker.ts │ │ └── contexts │ │ │ └── RacesContext.tsx │ ├── README.md │ ├── env.template.js │ ├── docker-entrypoint.sh │ ├── tsconfig.json │ ├── nginx.conf │ ├── .gitignore │ ├── index.html │ ├── components.json │ ├── vite.config.ts │ ├── tsconfig.node.json │ ├── eslint.config.js │ ├── Dockerfile │ ├── tsconfig.app.json │ ├── public │ │ └── vite.svg │ └── package.json └── mint-ws │ ├── .prettierrc │ ├── tsconfig.build.json │ ├── src │ ├── utils.ts │ ├── zod-helpers.ts │ ├── classes │ │ ├── declarations.ts │ │ └── EmulatedRace.ts │ ├── dto │ │ └── race.dto.ts │ ├── guards │ │ └── signature.gaurds.ts │ ├── main.ts │ ├── seed │ │ ├── utils.ts │ │ └── seed.ts │ ├── app.module.ts │ ├── declarations.ts │ ├── Redis.ts │ └── app.controller.ts │ ├── README.md │ ├── nest-cli.json │ ├── test │ ├── jest-e2e.json │ └── app.e2e-spec.ts │ ├── tsconfig.json │ ├── Dockerfile │ ├── .gitignore │ ├── eslint.config.mjs │ └── public │ ├── gpxs │ └── s.gpx │ └── style.css ├── .env.examples ├── .env.ws.example ├── .env.administration.example ├── .env.example ├── .env.ws-tests.example └── .env.api.example ├── pnpm-workspace.yaml ├── packages ├── eslint-config │ ├── README.md │ ├── package.json │ ├── base.js │ ├── react-internal.js │ └── next.js ├── db │ ├── src │ │ ├── init │ │ │ ├── sponsors │ │ │ │ ├── dacia.webp │ │ │ │ ├── hoka.webp │ │ │ │ ├── naak.webp │ │ │ │ ├── nnormal.webp │ │ │ │ ├── salomon.png │ │ │ │ ├── suunto.webp │ │ │ │ ├── the_north_face.png │ │ │ │ └── on.svg │ │ │ └── init.ts │ │ ├── seed │ │ │ ├── runners │ │ │ │ ├── jez_bragg.avif │ │ │ │ ├── dawa_sherpa.avif │ │ │ │ ├── katie_shide.avif │ │ │ │ ├── marco_olmo.avif │ │ │ │ ├── nuria_picas.avif │ │ │ │ ├── pau_capell.avif │ │ │ │ ├── rory_bosio.avif │ │ │ │ ├── jim_walmsley.avif │ │ │ │ ├── karine_herry.avif │ │ │ │ ├── krissy_moehl.avif │ │ │ │ ├── nikki_kimball.avif │ │ │ │ ├── caroline_chaverot.png │ │ │ │ ├── colette_borcard.avif │ │ │ │ ├── elizabeth_hawker.avif │ │ │ │ ├── francesca_canepa.avif │ │ │ │ ├── francois_dhaene.avif │ │ │ │ ├── xavier_thevenard.avif │ │ │ │ ├── christophe_jaquerod.avif │ │ │ │ ├── courtney_dawalter.avif │ │ │ │ ├── nathalie_mauclair.webp │ │ │ │ ├── vincent_delebarre.avif │ │ │ │ └── kilian_jornetburgada.avif │ │ │ ├── seedDB.ts │ │ │ ├── test.ts │ │ │ ├── seed.ts │ │ │ └── declarations.ts │ │ ├── utils.ts │ │ ├── relations │ │ │ ├── translations.relations.ts │ │ │ ├── enums.relations.ts │ │ │ ├── medias.relations.ts │ │ │ ├── sponsors.relations.ts │ │ │ ├── organizations.relations.ts │ │ │ ├── races.relations.ts │ │ │ ├── users.relations.ts │ │ │ └── subscriptions.relations.ts │ │ ├── _schema.ts │ │ ├── s3.ts │ │ ├── _index.ts │ │ ├── index.ts │ │ ├── tables │ │ │ ├── columns.helper.ts │ │ │ ├── profile_links.ts │ │ │ ├── translations.ts │ │ │ ├── medias.ts │ │ │ ├── users.ts │ │ │ ├── badges.ts │ │ │ ├── enums.ts │ │ │ ├── subscriptions.ts │ │ │ ├── organizations.ts │ │ │ └── sponsors.ts │ │ └── utils │ │ │ └── drizzle.helpers.ts │ ├── .env.example │ ├── tsconfig.build.json │ ├── drizzle.config.ts │ └── package.json ├── ui │ ├── eslint.config.mjs │ ├── tsconfig.json │ ├── src │ │ ├── code.tsx │ │ ├── button.tsx │ │ └── card.tsx │ └── package.json └── typescript-config │ ├── react-library.json │ ├── package.json │ ├── nextjs.json │ └── base.json ├── .vscode └── settings.json ├── docker-compose.yml ├── SETUP.md ├── turbo.json ├── .gitignore ├── docker-compose.vps.yml ├── GLOSSARY.md ├── USEFUL-FOR-DEV.md └── package.json /.npmrc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/ws-tests/runs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.env.examples/.env.ws.example: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/mint-api/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .env -------------------------------------------------------------------------------- /apps/mint-admin/.dockerignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .DS_Store -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "apps/*" 3 | - "packages/*" 4 | -------------------------------------------------------------------------------- /apps/mint-admin/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /apps/mint-api/scripts/i.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | npm run db:push 4 | npm run db:i -------------------------------------------------------------------------------- /.env.examples/.env.administration.example: -------------------------------------------------------------------------------- 1 | VITE_API_BASE_URL="http://localhost:3000" -------------------------------------------------------------------------------- /.env.examples/.env.example: -------------------------------------------------------------------------------- 1 | API_PORT="3000" 2 | WS_PORT="3001" 3 | ADMIN_PORT="5173" 4 | -------------------------------------------------------------------------------- /apps/mint-api/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /apps/mint-ws/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /apps/mint-admin/src/errors/unexisting.error.ts: -------------------------------------------------------------------------------- 1 | export class UnexistingError extends Error {} -------------------------------------------------------------------------------- /apps/mint-admin/src/App.css: -------------------------------------------------------------------------------- 1 | main { 2 | height: calc(100vh - 72px); 3 | overflow-y: auto; 4 | } -------------------------------------------------------------------------------- /apps/mint-admin/src/errors/unauthorized.error.ts: -------------------------------------------------------------------------------- 1 | export class UnauthorizedError extends Error {} -------------------------------------------------------------------------------- /apps/mint-api/src/logger.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from "@nestjs/common"; 2 | 3 | export default new Logger() -------------------------------------------------------------------------------- /packages/eslint-config/README.md: -------------------------------------------------------------------------------- 1 | # `@turbo/eslint-config` 2 | 3 | Collection of internal eslint configurations. 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.workingDirectories": [ 3 | { 4 | "mode": "auto" 5 | } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /apps/mint-admin/README.md: -------------------------------------------------------------------------------- 1 | snap install ngrok 2 | ngrok config add-authtoken 3 | ngrok http http://localhost:5173 4 | -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/dacia.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/dacia.webp -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/hoka.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/hoka.webp -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/naak.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/naak.webp -------------------------------------------------------------------------------- /apps/mint-admin/env.template.js: -------------------------------------------------------------------------------- 1 | window._env_ = { 2 | VITE_API_BASE_URL: "${VITE_API_BASE_URL}", 3 | VITE_WS_URL: "${VITE_WS_URL}" 4 | }; 5 | -------------------------------------------------------------------------------- /apps/mint-api/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /apps/mint-ws/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /apps/ws-tests/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | 3 | runs/* 4 | !runs/.gitkeep 5 | !lut-2025-37km.gpx 6 | !nantes_marathon.gpx 7 | 8 | runs.json 9 | -------------------------------------------------------------------------------- /apps/ws-tests/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/nnormal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/nnormal.webp -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/salomon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/salomon.png -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/suunto.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/suunto.webp -------------------------------------------------------------------------------- /packages/db/src/seed/runners/jez_bragg.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/jez_bragg.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/dawa_sherpa.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/dawa_sherpa.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/katie_shide.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/katie_shide.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/marco_olmo.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/marco_olmo.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/nuria_picas.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/nuria_picas.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/pau_capell.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/pau_capell.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/rory_bosio.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/rory_bosio.avif -------------------------------------------------------------------------------- /apps/mint-api/src/auth/TokenPayload.interface.ts: -------------------------------------------------------------------------------- 1 | export default interface TokenPayload { 2 | sub: number; 3 | technicalId: number 4 | email: string 5 | } -------------------------------------------------------------------------------- /packages/db/src/init/sponsors/the_north_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/init/sponsors/the_north_face.png -------------------------------------------------------------------------------- /packages/db/src/seed/runners/jim_walmsley.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/jim_walmsley.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/karine_herry.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/karine_herry.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/krissy_moehl.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/krissy_moehl.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/nikki_kimball.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/nikki_kimball.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/caroline_chaverot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/caroline_chaverot.png -------------------------------------------------------------------------------- /packages/db/src/seed/runners/colette_borcard.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/colette_borcard.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/elizabeth_hawker.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/elizabeth_hawker.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/francesca_canepa.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/francesca_canepa.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/francois_dhaene.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/francois_dhaene.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/xavier_thevenard.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/xavier_thevenard.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/christophe_jaquerod.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/christophe_jaquerod.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/courtney_dawalter.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/courtney_dawalter.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/nathalie_mauclair.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/nathalie_mauclair.webp -------------------------------------------------------------------------------- /packages/db/src/seed/runners/vincent_delebarre.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/vincent_delebarre.avif -------------------------------------------------------------------------------- /packages/db/src/seed/runners/kilian_jornetburgada.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Charles-Chrismann/pie-mint/main/packages/db/src/seed/runners/kilian_jornetburgada.avif -------------------------------------------------------------------------------- /packages/ui/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { config } from "@repo/eslint-config/react-internal"; 2 | 3 | /** @type {import("eslint").Linter.Config} */ 4 | export default config; 5 | -------------------------------------------------------------------------------- /apps/mint-admin/src/socket.ts: -------------------------------------------------------------------------------- 1 | import { io } from 'socket.io-client'; 2 | import config from './config'; 3 | 4 | export const socket = io(config.WS_URL, { 5 | autoConnect: true 6 | }); -------------------------------------------------------------------------------- /apps/mint-admin/src/types/window.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | 3 | declare global { 4 | interface Window { 5 | _env_: { 6 | [key: string]: string; 7 | }; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/ws-tests/src/constants.ts: -------------------------------------------------------------------------------- 1 | export const WS_URL = process.env.WS_URL || 'http://localhost:3001' 2 | export const API_BASE_URL = (process.env.API_URL || 'http://localhost:3000') + '/api' -------------------------------------------------------------------------------- /.env.examples/.env.ws-tests.example: -------------------------------------------------------------------------------- 1 | RUNNER_COUNT=1000 2 | WS_URL=http://localhost:3001 3 | API_URL=http://localhost:3000 4 | DATABASE_URL="postgres://postgres:example@localhost:5432/postgres" -------------------------------------------------------------------------------- /apps/mint-ws/src/utils.ts: -------------------------------------------------------------------------------- 1 | export function simplifyGpx(gpxStr: string) { 2 | return gpxStr.replace(/[\s\S]*?<\/extensions>/g, '') 3 | .replace(/