[{"data":1,"prerenderedAt":294},["ShallowReactive",2],{"navigation_docs_en":3,"-en-architecture-stack":52,"-en-architecture-stack-surround":289},[4,14,32,42],{"title":5,"path":6,"stem":7,"children":8},"The essentials","/en/proposition","en/1.proposition/1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Your need, understood","/en/proposition/comprehension","en/1.proposition/2.comprehension",{"title":15,"path":16,"stem":17,"children":18},"Overview","/en/architecture","en/2.architecture/1.index",[19,20,24,28],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Technical choices","/en/architecture/stack","en/2.architecture/2.stack",{"title":25,"path":26,"stem":27},"Security & compliance","/en/architecture/securite","en/2.architecture/3.securite",{"title":29,"path":30,"stem":31},"The 19 modules","/en/architecture/modules","en/2.architecture/4.modules",{"title":33,"path":34,"stem":35,"children":36},"The 8-month plan","/en/roadmap","en/3.roadmap/1.index",[37,38],{"title":33,"path":34,"stem":35},{"title":39,"path":40,"stem":41},"The method","/en/roadmap/methodologie","en/3.roadmap/2.methodologie",{"title":43,"path":44,"stem":45,"children":46},"Vortex-Soft","/en/equipe","en/4.equipe/1.index",[47,48],{"title":43,"path":44,"stem":45},{"title":49,"path":50,"stem":51},"References — eCampus","/en/equipe/references","en/4.equipe/2.references",{"id":53,"title":21,"badge":54,"body":55,"category":54,"description":282,"extension":283,"links":54,"meta":284,"navigation":286,"path":22,"seo":287,"stem":23,"tags":54,"__hash__":288},"docs_en/en/2.architecture/2.stack.md",null,{"type":56,"value":57,"toc":275},"minimark",[58,62,207,212,215,239,243,246,249,253],[59,60,61],"p",{},"No line in this table is there out of habit or fashion. Every technology answers a constraint named in your specification.",[63,64,65,81],"table",{},[66,67,68],"thead",{},[69,70,71,75,78],"tr",{},[72,73,74],"th",{},"Layer",[72,76,77],{},"Technology",[72,79,80],{},"Why, for ERK+",[82,83,84,99,112,125,142,155,168,181,194],"tbody",{},[69,85,86,90,96],{},[87,88,89],"td",{},"Web",[87,91,92],{},[93,94,95],"strong",{},"Nuxt — SSR + PWA",[87,97,98],{},"First useful paint \u003C 3 s even on weak 4G; native offline; FR/EN built in; SEO to make you findable",[69,100,101,104,109],{},[87,102,103],{},"Mobile",[87,105,106],{},[93,107,108],{},"React Native",[87,110,111],{},"One codebase for iOS + Android with truly native rendering — smooth on the entry-level phones that dominate in Senegal",[69,113,114,117,122],{},[87,115,116],{},"Backend",[87,118,119],{},[93,120,121],{},"Go + PostgreSQL + Redis",[87,123,124],{},"2,000 concurrent users on sober infrastructure; lightweight concurrency; bank-grade ACID transactions",[69,126,127,130,135],{},[87,128,129],{},"Media",[87,131,132],{},[93,133,134],{},"Rust → WebAssembly",[87,136,137,138,141],{},"Photos compressed ",[93,139,140],{},"before"," upload, right on the phone: up to −70% data",[69,143,144,147,152],{},[87,145,146],{},"Live camera",[87,148,149],{},[93,150,151],{},"Adaptive LL-HLS streaming",[87,153,154],{},"Works everywhere — web, iOS, Android, unstable networks — where pure WebRTC fails behind mobile carriers",[69,156,157,160,165],{},[87,158,159],{},"Vault",[87,161,162],{},[93,163,164],{},"AES-256 + certified timestamping",[87,166,167],{},"Per-file keys, tamper-proof log, replication across 3 geographic sites",[69,169,170,173,178],{},[87,171,172],{},"Payments",[87,174,175],{},[93,176,177],{},"Local aggregator + internal ledger",[87,179,180],{},"Wave, Orange Money, MTN MoMo, Free Money & cards behind a single integration; XOF / EUR / USD",[69,182,183,186,191],{},[87,184,185],{},"Desktop",[87,187,188],{},[93,189,190],{},"Lightweight native app",[87,192,193],{},"The ERK+ Windows / macOS / Linux bonus, on the same business core — zero double maintenance",[69,195,196,199,204],{},[87,197,198],{},"Operations",[87,200,201],{},[93,202,203],{},"CI/CD · 3 environments · 24/7 monitoring",[87,205,206],{},"Continuous delivery, one-click rollback, uptime dashboards shared with you",[208,209,211],"h2",{"id":210},"why-go-rust-and-webassembly-and-not-the-framework-of-the-month","Why Go, Rust and WebAssembly — and not \"the framework of the month\"",[59,213,214],{},"This is Vortex-Soft's engineering signature, and here it serves a concrete problem, not a talking point:",[216,217,218,225,233],"ul",{},[219,220,221,224],"li",{},[93,222,223],{},"Go"," compiles to a single binary, starts in milliseconds and holds thousands of concurrent connections on a tiny memory footprint. On infrastructure sized for an African budget, that is the difference between holding 2,000 users and falling over.",[219,226,227,229,230,232],{},[93,228,134],{}," puts near-native photo-compression code directly in the browser and the phone. Data shrinks ",[93,231,140],{}," it touches the network — the only optimisation that truly matters when the bottleneck is bandwidth, not the server.",[219,234,235,238],{},[93,236,237],{},"PostgreSQL"," brings the ACID transactions without which a payment ledger is just a spreadsheet that will eventually lie.",[208,240,242],{"id":241},"the-3-second-ceiling-decomposed","The 3-second ceiling, decomposed",[59,244,245],{},"We do not \"aim for\" 3 seconds: we budget every millisecond of the journey, and going over breaks the build.",[247,248],"erk-request-flow",{},[208,250,252],{"id":251},"the-west-africa-optimisation-concretely","The \"West Africa\" optimisation, concretely",[216,254,255,258,265,268],{},[219,256,257],{},"Server rendering + a CDN as close to Dakar as possible: useful content on the first network round-trip",[219,259,260,261,264],{},"Images adapted to the screen ",[93,262,263],{},"and"," to the real throughput, lazy-loaded by default",[219,266,267],{},"Offline mode keeps the dashboard and photos; everything syncs, in order, when the network returns",[219,269,270,271,274],{},"The 3-second ceiling is ",[93,272,273],{},"a blocking gate in our delivery pipeline",", measured on every integration — not an end-of-project intention",{"title":276,"searchDepth":277,"depth":277,"links":278},"",2,[279,280,281],{"id":210,"depth":277,"text":211},{"id":241,"depth":277,"text":242},{"id":251,"depth":277,"text":252},"Every technology justified by one of your requirements.","md",{"icon":285},"lucide:cpu",true,{"title":21,"description":282},"Ukz9w7BKnHpNgsNqDC5DcFBmG3bBE6sEyq6h4O7xjSg",[290,292],{"title":15,"path":16,"stem":17,"description":291,"children":-1},"A sober, proven architecture sized for your constraints.",{"title":25,"path":26,"stem":27,"description":293,"children":-1},"Payments, vault, personal data — the bank-grade level required.",1784147241147]