[{"data":1,"prerenderedAt":960},["ShallowReactive",2],{"navigation_docs_en":3,"-en-dev-reference-technique":160,"-en-dev-reference-technique-surround":955},[4,25,87,126,141],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Bien démarrer",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"First Launch","\u002Fen\u002Fgetting-started\u002Fpremier-demarrage","en\u002F1.getting-started\u002F3.premier-demarrage","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Guide d'utilisation","\u002Fen\u002Fguide","en\u002F2.guide",[30,57,62,67,72,77,82],{"title":31,"path":32,"stem":33,"children":34},"File Import","\u002Fen\u002Fguide\u002Fimport","en\u002F2.guide\u002F1.import\u002Findex",[35,36,41,45,49,53],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39,"icon":40},"MetaTrader 5","\u002Fen\u002Fguide\u002Fimport\u002Fmt5","en\u002F2.guide\u002F1.import\u002F1.mt5","i-lucide-file-spreadsheet",{"title":42,"path":43,"stem":44,"icon":40},"NinjaTrader 8","\u002Fen\u002Fguide\u002Fimport\u002Fninja-trader","en\u002F2.guide\u002F1.import\u002F2.ninja-trader",{"title":46,"path":47,"stem":48,"icon":40},"Interactive Brokers","\u002Fen\u002Fguide\u002Fimport\u002Finteractive-brokers","en\u002F2.guide\u002F1.import\u002F3.interactive-brokers",{"title":50,"path":51,"stem":52,"icon":40},"Quantower","\u002Fen\u002Fguide\u002Fimport\u002Fquantower","en\u002F2.guide\u002F1.import\u002F4.quantower",{"title":54,"path":55,"stem":56,"icon":40},"Standard CSV format","\u002Fen\u002Fguide\u002Fimport\u002Fstandard-csv","en\u002F2.guide\u002F1.import\u002F5.standard-csv",{"title":58,"path":59,"stem":60,"icon":61},"Dashboard and metrics","\u002Fen\u002Fguide\u002Fdashboard","en\u002F2.guide\u002F2.dashboard","i-lucide-chart-line",{"title":63,"path":64,"stem":65,"icon":66},"Calendar","\u002Fen\u002Fguide\u002Fcalendrier","en\u002F2.guide\u002F3.calendrier","i-lucide-calendar",{"title":68,"path":69,"stem":70,"icon":71},"Daily view","\u002Fen\u002Fguide\u002Fdaily-view","en\u002F2.guide\u002F4.daily-view","i-lucide-calendar-days",{"title":73,"path":74,"stem":75,"icon":76},"Trades","\u002Fen\u002Fguide\u002Ftrades","en\u002F2.guide\u002F5.trades","i-lucide-table",{"title":78,"path":79,"stem":80,"icon":81},"Notes panel","\u002Fen\u002Fguide\u002Fnotes","en\u002F2.guide\u002F6.notes","i-lucide-pen-tool",{"title":83,"path":84,"stem":85,"icon":86},"Tag system","\u002Fen\u002Fguide\u002Ftags","en\u002F2.guide\u002F7.tags","i-lucide-tag",{"title":88,"icon":6,"path":89,"stem":90,"children":91,"page":6},"Settings","\u002Fen\u002Fparametres","en\u002F3.parametres",[92,97,102,106,111,116,121],{"title":93,"path":94,"stem":95,"icon":96},"Accounts","\u002Fen\u002Fparametres\u002Fcomptes","en\u002F3.parametres\u002F1.comptes","i-lucide-users",{"title":98,"path":99,"stem":100,"icon":101},"Symbols","\u002Fen\u002Fparametres\u002Fsymboles","en\u002F3.parametres\u002F2.symboles","i-lucide-chart-candlestick",{"title":103,"path":104,"stem":105,"icon":86},"Tags","\u002Fen\u002Fparametres\u002Ftags","en\u002F3.parametres\u002F3.tags",{"title":107,"path":108,"stem":109,"icon":110},"Backup","\u002Fen\u002Fparametres\u002Fbackup","en\u002F3.parametres\u002F4.backup","i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Tools","\u002Fen\u002Fparametres\u002Ftools","en\u002F3.parametres\u002F5.tools","i-lucide-wrench",{"title":117,"path":118,"stem":119,"icon":120},"Plugins","\u002Fen\u002Fparametres\u002Fplugins","en\u002F3.parametres\u002F6.plugins","i-lucide-puzzle",{"title":122,"path":123,"stem":124,"icon":125},"Options","\u002Fen\u002Fparametres\u002Foptions","en\u002F3.parametres\u002F7.options","i-lucide-cog",{"title":127,"icon":6,"path":128,"stem":129,"children":130,"page":6},"Configuration avancée","\u002Fen\u002Favance","en\u002F4.avance",[131,136],{"title":132,"path":133,"stem":134,"icon":135},"Configuration","\u002Fen\u002Favance\u002Fconfiguration","en\u002F4.avance\u002F1.configuration","i-lucide-settings",{"title":137,"path":138,"stem":139,"icon":140},"FAQ","\u002Fen\u002Favance\u002Ffaq","en\u002F4.avance\u002F3.faq","i-lucide-circle-help",{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":6},"Développeur","i-lucide-code","\u002Fen\u002Fdev","en\u002F5.dev",[147,152,157],{"title":148,"path":149,"stem":150,"icon":151},"Technical reference","\u002Fen\u002Fdev\u002Freference-technique","en\u002F5.dev\u002F1.reference-technique","i-lucide-server",{"title":153,"path":154,"stem":155,"icon":156},"External storage","\u002Fen\u002Fdev\u002Fstockage-externe","en\u002F5.dev\u002F2.stockage-externe","i-lucide-hard-drive",{"title":117,"path":158,"stem":159,"icon":120},"\u002Fen\u002Fdev\u002Fplugins","en\u002F5.dev\u002F3.plugins",{"id":161,"title":148,"body":162,"description":947,"extension":948,"links":949,"meta":950,"navigation":951,"path":149,"seo":952,"stem":150,"__hash__":954},"docs_en\u002Fen\u002F5.dev\u002F1.reference-technique.md",{"type":163,"value":164,"toc":924},"minimark",[165,178,183,200,204,209,243,247,263,266,276,286,290,333,337,346,352,356,372,379,392,396,415,419,423,445,449,489,491,558,561,565,569,593,597,611,613,617,620,624,632,647,659,674,681,751,761,913,917,920],[166,167,168,169,173,174,177],"p",{},"TradeJourney relies on ",[170,171,172],"strong",{},"PostgreSQL"," for data storage and ",[170,175,176],{},"Docker"," for production deployment. This guide covers local development and production deployment.",[179,180,182],"h2",{"id":181},"prerequisites","Prerequisites",[184,185,186,190,193],"ul",{},[187,188,189],"li",{},"Docker and Docker Compose installed",[187,191,192],{},"Node.js ≥ 20 and pnpm",[187,194,195,199],{},[196,197,198],"code",{},".env"," file configured",[179,201,203],{"id":202},"local-development","Local development",[205,206,208],"h3",{"id":207},"_1-start-postgresql","1. Start PostgreSQL",[210,211,216],"pre",{"className":212,"code":213,"language":214,"meta":215,"style":215},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","docker compose -f .\u002Fdocker-compose.dev.yml up -d\n","bash","",[196,217,218],{"__ignoreMap":215},[219,220,223,227,231,234,237,240],"span",{"class":221,"line":222},"line",1,[219,224,226],{"class":225},"sBMFI","docker",[219,228,230],{"class":229},"sfazB"," compose",[219,232,233],{"class":229}," -f",[219,235,236],{"class":229}," .\u002Fdocker-compose.dev.yml",[219,238,239],{"class":229}," up",[219,241,242],{"class":229}," -d\n",[205,244,246],{"id":245},"_2-configure-environment-variables","2. Configure environment variables",[210,248,250],{"className":212,"code":249,"language":214,"meta":215,"style":215},"cp .env.example .env\n",[196,251,252],{"__ignoreMap":215},[219,253,254,257,260],{"class":221,"line":222},[219,255,256],{"class":225},"cp",[219,258,259],{"class":229}," .env.example",[219,261,262],{"class":229}," .env\n",[166,264,265],{},"Or via the provided script:",[210,267,270],{"className":212,"code":268,"filename":269,"language":214,"meta":215,"style":215},".\u002Fenv-create.sh\n","Linux\u002Fmac",[196,271,272],{"__ignoreMap":215},[219,273,274],{"class":221,"line":222},[219,275,268],{"class":225},[210,277,280],{"className":212,"code":278,"filename":279,"language":214,"meta":215,"style":215},".\u002Fenv-create.ps1\n","Windows",[196,281,282],{"__ignoreMap":215},[219,283,284],{"class":221,"line":222},[219,285,278],{"class":225},[205,287,289],{"id":288},"_3-generate-prisma-clients","3. Generate Prisma clients",[210,291,293],{"className":212,"code":292,"language":214,"meta":215,"style":215},"rm -rf generated\npnpm prisma generate --schema=prisma\u002Fauth\u002Fschema.prisma\npnpm prisma generate --schema=prisma\u002Fdata\u002Fschema.prisma\n",[196,294,295,306,321],{"__ignoreMap":215},[219,296,297,300,303],{"class":221,"line":222},[219,298,299],{"class":225},"rm",[219,301,302],{"class":229}," -rf",[219,304,305],{"class":229}," generated\n",[219,307,309,312,315,318],{"class":221,"line":308},2,[219,310,311],{"class":225},"pnpm",[219,313,314],{"class":229}," prisma",[219,316,317],{"class":229}," generate",[219,319,320],{"class":229}," --schema=prisma\u002Fauth\u002Fschema.prisma\n",[219,322,324,326,328,330],{"class":221,"line":323},3,[219,325,311],{"class":225},[219,327,314],{"class":229},[219,329,317],{"class":229},[219,331,332],{"class":229}," --schema=prisma\u002Fdata\u002Fschema.prisma\n",[205,334,336],{"id":335},"_4-initialize-the-database","4. Initialize the database",[210,338,340],{"className":212,"code":339,"language":214,"meta":215,"style":215},".\u002Fscripts\u002Freinit.sh\n",[196,341,342],{"__ignoreMap":215},[219,343,344],{"class":221,"line":222},[219,345,339],{"class":225},[347,348,351],"callout",{"icon":349,"color":350},"i-lucide-triangle-alert","orange","This command deletes existing data. Only use during the first installation or if you want to start from scratch.",[205,353,355],{"id":354},"_5-start-the-application","5. Start the application",[210,357,359],{"className":212,"code":358,"language":214,"meta":215,"style":215},"npm run dev\n",[196,360,361],{"__ignoreMap":215},[219,362,363,366,369],{"class":221,"line":222},[219,364,365],{"class":225},"npm",[219,367,368],{"class":229}," run",[219,370,371],{"class":229}," dev\n",[166,373,374,375,378],{},"The application is accessible at ",[196,376,377],{},"http:\u002F\u002Flocalhost:3000",".",[166,380,381,384,385,388,389],{},[170,382,383],{},"Default credentials:"," ",[196,386,387],{},"admin@mail.fr"," \u002F ",[196,390,391],{},"admin",[205,393,395],{"id":394},"stop-the-database","Stop the database",[210,397,399],{"className":212,"code":398,"language":214,"meta":215,"style":215},"docker compose -f docker-compose.dev.yml down\n",[196,400,401],{"__ignoreMap":215},[219,402,403,405,407,409,412],{"class":221,"line":222},[219,404,226],{"class":225},[219,406,230],{"class":229},[219,408,233],{"class":229},[219,410,411],{"class":229}," docker-compose.dev.yml",[219,413,414],{"class":229}," down\n",[179,416,418],{"id":417},"useful-commands","Useful commands",[205,420,422],{"id":421},"prisma","Prisma",[210,424,426],{"className":212,"code":425,"language":214,"meta":215,"style":215},"# Open Prisma Studio\npnpm prisma studio --schema=prisma\u002Fauth\u002Fschema.prisma\n",[196,427,428,434],{"__ignoreMap":215},[219,429,430],{"class":221,"line":222},[219,431,433],{"class":432},"sHwdD","# Open Prisma Studio\n",[219,435,436,438,440,443],{"class":221,"line":308},[219,437,311],{"class":225},[219,439,314],{"class":229},[219,441,442],{"class":229}," studio",[219,444,320],{"class":229},[205,446,448],{"id":447},"tests","Tests",[210,450,452],{"className":212,"code":451,"language":214,"meta":215,"style":215},"# Run all tests\npnpm test\n\n# Run a specific file\npnpm test tests\u002Fmt5-parser.test.ts\n",[196,453,454,459,466,472,478],{"__ignoreMap":215},[219,455,456],{"class":221,"line":222},[219,457,458],{"class":432},"# Run all tests\n",[219,460,461,463],{"class":221,"line":308},[219,462,311],{"class":225},[219,464,465],{"class":229}," test\n",[219,467,468],{"class":221,"line":323},[219,469,471],{"emptyLinePlaceholder":470},true,"\n",[219,473,475],{"class":221,"line":474},4,[219,476,477],{"class":432},"# Run a specific file\n",[219,479,481,483,486],{"class":221,"line":480},5,[219,482,311],{"class":225},[219,484,485],{"class":229}," test",[219,487,488],{"class":229}," tests\u002Fmt5-parser.test.ts\n",[205,490,176],{"id":226},[210,492,494],{"className":212,"code":493,"language":214,"meta":215,"style":215},"# View logs\ndocker compose logs -f [service]\n\n# Restart a service\ndocker compose restart [service]\n\n# Clean unused volumes\ndocker volume prune\n",[196,495,496,501,516,520,525,536,541,547],{"__ignoreMap":215},[219,497,498],{"class":221,"line":222},[219,499,500],{"class":432},"# View logs\n",[219,502,503,505,507,510,512],{"class":221,"line":308},[219,504,226],{"class":225},[219,506,230],{"class":229},[219,508,509],{"class":229}," logs",[219,511,233],{"class":229},[219,513,515],{"class":514},"sTEyZ"," [service]\n",[219,517,518],{"class":221,"line":323},[219,519,471],{"emptyLinePlaceholder":470},[219,521,522],{"class":221,"line":474},[219,523,524],{"class":432},"# Restart a service\n",[219,526,527,529,531,534],{"class":221,"line":480},[219,528,226],{"class":225},[219,530,230],{"class":229},[219,532,533],{"class":229}," restart",[219,535,515],{"class":514},[219,537,539],{"class":221,"line":538},6,[219,540,471],{"emptyLinePlaceholder":470},[219,542,544],{"class":221,"line":543},7,[219,545,546],{"class":432},"# Clean unused volumes\n",[219,548,550,552,555],{"class":221,"line":549},8,[219,551,226],{"class":225},[219,553,554],{"class":229}," volume",[219,556,557],{"class":229}," prune\n",[559,560],"hr",{},[179,562,564],{"id":563},"security","Security",[205,566,568],{"id":567},"in-production","In production",[184,570,571,578,584,587,590],{},[187,572,573,574,577],{},"Change ",[196,575,576],{},"POSTGRES_PASSWORD"," to a strong password.",[187,579,573,580,583],{},[196,581,582],{},"JWT_SECRET"," to a long random key.",[187,585,586],{},"Do not expose the PostgreSQL port (5432) publicly.",[187,588,589],{},"Use HTTPS with a reverse proxy (Nginx, Caddy, Traefik).",[187,591,592],{},"Limit PostgreSQL connections by IP if possible.",[205,594,596],{"id":595},"in-development","In development",[184,598,599,605,608],{},[187,600,601,602,604],{},"Never commit the ",[196,603,198],{}," file.",[187,606,607],{},"Use different passwords between dev and prod.",[187,609,610],{},"Do not use the same JWT key across environments.",[559,612],{},[179,614,616],{"id":615},"schema-migrations","Schema migrations",[166,618,619],{},"TradeJourney uses an incremental migration system for the multi-tenant database (user data). This allows adding or modifying columns without losing existing data.",[205,621,623],{"id":622},"create-a-migration","Create a migration",[625,626,627],"ol",{},[187,628,629],{},[170,630,631],{},"Back up the current schema",[210,633,635],{"className":212,"code":634,"language":214,"meta":215,"style":215},"cp prisma\u002Fdata\u002Fschema.prisma prisma\u002Fdata\u002Fschema.prev.prisma.bak\n",[196,636,637],{"__ignoreMap":215},[219,638,639,641,644],{"class":221,"line":222},[219,640,256],{"class":225},[219,642,643],{"class":229}," prisma\u002Fdata\u002Fschema.prisma",[219,645,646],{"class":229}," prisma\u002Fdata\u002Fschema.prev.prisma.bak\n",[625,648,649],{"start":308},[187,650,651,654,655,658],{},[170,652,653],{},"Edit the schema"," in ",[196,656,657],{},"prisma\u002Fdata\u002Fschema.prisma",", then regenerate:",[210,660,662],{"className":212,"code":661,"language":214,"meta":215,"style":215},"pnpm prisma generate --schema=prisma\u002Fdata\u002Fschema.prisma\n",[196,663,664],{"__ignoreMap":215},[219,665,666,668,670,672],{"class":221,"line":222},[219,667,311],{"class":225},[219,669,314],{"class":229},[219,671,317],{"class":229},[219,673,332],{"class":229},[625,675,676],{"start":323},[187,677,678],{},[170,679,680],{},"Generate the SQL script",[210,682,684],{"className":212,"code":683,"language":214,"meta":215,"style":215},"pnpm prisma migrate diff \\\n  --from-schema-datamodel prisma\u002Fdata\u002Fschema.prev.prisma.bak \\\n  --to-schema-datamodel prisma\u002Fdata\u002Fschema.prisma \\\n  --script | sed 's\u002F\"public\"\\.\"\u002F\"SCHEMA_PLACEHOLDER\".\"\u002Fg' \\\n  > scripts\u002Fmigrations\u002FXXX-description.sql\n",[196,685,686,701,711,720,743],{"__ignoreMap":215},[219,687,688,690,692,695,698],{"class":221,"line":222},[219,689,311],{"class":225},[219,691,314],{"class":229},[219,693,694],{"class":229}," migrate",[219,696,697],{"class":229}," diff",[219,699,700],{"class":514}," \\\n",[219,702,703,706,709],{"class":221,"line":308},[219,704,705],{"class":229},"  --from-schema-datamodel",[219,707,708],{"class":229}," prisma\u002Fdata\u002Fschema.prev.prisma.bak",[219,710,700],{"class":514},[219,712,713,716,718],{"class":221,"line":323},[219,714,715],{"class":229},"  --to-schema-datamodel",[219,717,643],{"class":229},[219,719,700],{"class":514},[219,721,722,725,729,732,735,738,741],{"class":221,"line":474},[219,723,724],{"class":229},"  --script",[219,726,728],{"class":727},"sMK4o"," |",[219,730,731],{"class":225}," sed",[219,733,734],{"class":727}," '",[219,736,737],{"class":229},"s\u002F\"public\"\\.\"\u002F\"SCHEMA_PLACEHOLDER\".\"\u002Fg",[219,739,740],{"class":727},"'",[219,742,700],{"class":514},[219,744,745,748],{"class":221,"line":480},[219,746,747],{"class":727},"  >",[219,749,750],{"class":229}," scripts\u002Fmigrations\u002FXXX-description.sql\n",[625,752,753],{"start":474},[187,754,755,654,758],{},[170,756,757],{},"Record the migration",[196,759,760],{},"scripts\u002Fmigrations\u002Fmigrations.json",[210,762,766],{"className":763,"code":764,"filename":760,"language":765,"meta":215,"style":215},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"migrations\": [\n    {\n      \"version\": 2,\n      \"name\": \"XXX-description\",\n      \"description\": \"Migration description\",\n      \"file\": \"XXX-description.sql\",\n      \"date\": \"YYYY-MM-DD\"\n    }\n  ]\n}\n","json",[196,767,768,773,791,796,815,836,856,876,895,901,907],{"__ignoreMap":215},[219,769,770],{"class":221,"line":222},[219,771,772],{"class":727},"{\n",[219,774,775,778,782,785,788],{"class":221,"line":308},[219,776,777],{"class":727},"  \"",[219,779,781],{"class":780},"spNyl","migrations",[219,783,784],{"class":727},"\"",[219,786,787],{"class":727},":",[219,789,790],{"class":727}," [\n",[219,792,793],{"class":221,"line":323},[219,794,795],{"class":727},"    {\n",[219,797,798,801,804,806,808,812],{"class":221,"line":474},[219,799,800],{"class":727},"      \"",[219,802,803],{"class":225},"version",[219,805,784],{"class":727},[219,807,787],{"class":727},[219,809,811],{"class":810},"sbssI"," 2",[219,813,814],{"class":727},",\n",[219,816,817,819,822,824,826,829,832,834],{"class":221,"line":480},[219,818,800],{"class":727},[219,820,821],{"class":225},"name",[219,823,784],{"class":727},[219,825,787],{"class":727},[219,827,828],{"class":727}," \"",[219,830,831],{"class":229},"XXX-description",[219,833,784],{"class":727},[219,835,814],{"class":727},[219,837,838,840,843,845,847,849,852,854],{"class":221,"line":538},[219,839,800],{"class":727},[219,841,842],{"class":225},"description",[219,844,784],{"class":727},[219,846,787],{"class":727},[219,848,828],{"class":727},[219,850,851],{"class":229},"Migration description",[219,853,784],{"class":727},[219,855,814],{"class":727},[219,857,858,860,863,865,867,869,872,874],{"class":221,"line":543},[219,859,800],{"class":727},[219,861,862],{"class":225},"file",[219,864,784],{"class":727},[219,866,787],{"class":727},[219,868,828],{"class":727},[219,870,871],{"class":229},"XXX-description.sql",[219,873,784],{"class":727},[219,875,814],{"class":727},[219,877,878,880,883,885,887,889,892],{"class":221,"line":549},[219,879,800],{"class":727},[219,881,882],{"class":225},"date",[219,884,784],{"class":727},[219,886,787],{"class":727},[219,888,828],{"class":727},[219,890,891],{"class":229},"YYYY-MM-DD",[219,893,894],{"class":727},"\"\n",[219,896,898],{"class":221,"line":897},9,[219,899,900],{"class":727},"    }\n",[219,902,904],{"class":221,"line":903},10,[219,905,906],{"class":727},"  ]\n",[219,908,910],{"class":221,"line":909},11,[219,911,912],{"class":727},"}\n",[347,914,916],{"icon":915},"i-lucide-info","Migrations are applied automatically at each user connection. Just restart the server for them to be taken into account.",[347,918,919],{"icon":349,"color":350},"Always test a migration on a development database before applying it in production, and make a backup beforehand.",[921,922,923],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":215,"searchDepth":308,"depth":308,"links":925},[926,927,935,940,944],{"id":181,"depth":308,"text":182},{"id":202,"depth":308,"text":203,"children":928},[929,930,931,932,933,934],{"id":207,"depth":323,"text":208},{"id":245,"depth":323,"text":246},{"id":288,"depth":323,"text":289},{"id":335,"depth":323,"text":336},{"id":354,"depth":323,"text":355},{"id":394,"depth":323,"text":395},{"id":417,"depth":308,"text":418,"children":936},[937,938,939],{"id":421,"depth":323,"text":422},{"id":447,"depth":323,"text":448},{"id":226,"depth":323,"text":176},{"id":563,"depth":308,"text":564,"children":941},[942,943],{"id":567,"depth":323,"text":568},{"id":595,"depth":323,"text":596},{"id":615,"depth":308,"text":616,"children":945},[946],{"id":622,"depth":323,"text":623},"Local installation, Prisma commands, schema migrations, and security for TradeJourney.","md",null,{},{"icon":151},{"title":953,"description":947},"Technical reference - TradeJourney","WujtzNjLHKULYZImMOfFxTZqRCbK3kp0h113ihONGHE",[956,958],{"title":137,"path":138,"stem":139,"description":957,"icon":140,"children":-1},"Frequently asked questions about TradeJourney.",{"title":153,"path":154,"stem":155,"description":959,"icon":156,"children":-1},"Configuration of the optional external storage server for TradeJourney.",1780445261237]