BikeMap UB lets cyclists build a shared, trustworthy map of Ulaanbaatar's bike routes: they tag road segments, report points of interest and hazards, and vote so the community decides what is accurate.BikeMap UB нь дугуйчдад Улаанбаатарын дугуйн замын хамтын, найдвартай газрын зураг бүтээх боломж олгодог: замын хэсэг тэмдэглэж, аюул ба сонирхолтой цэг мэдээлж, санал өгснөөр нийтээрээ үнэн зөвийг шийднэ.
01
The problemАсуудал
Ulaanbaatar has little reliable data on bike-lane condition and hazards, and standard routing optimises for distance — not for the rider's safety.Улаанбаатарт дугуйн замын нөхцөл, аюулын талаар найдвартай мэдээлэл бага, ердийн маршрут нь аюулгүй байдлыг биш зайг л оновчлодог.
02
Architecture & solutionАрхитектур ба шийдэл
A Django backend split into six apps — accounts (JWT + RBAC), segments, POIs, crowd aggregation, routes and an audit log. Bike lanes are imported from OpenStreetMap, votes are aggregated by majority with SHA-256 de-duplication, and OSRM routing uses a safety-first tie-breaker.Зургаан app-д хуваасан Django backend — accounts (JWT + RBAC), segments, POI, crowd aggregation, routes, audit log. Дугуйн замыг OpenStreetMap-аас импортолж, саналыг SHA-256 давхардал шалгалттай олонхийн зарчмаар нэгтгэж, OSRM маршрут safety-first tie-breaker ашиглана.
03
The resultҮр дүн
Delivered as my diploma project with 65 automated tests (40%+ coverage) running in GitHub Actions CI, Swagger API docs, a Docker Compose setup and a Render deployment.GitHub Actions CI дээр ажилладаг 65 автомат тест (40%-иас дээш хамрах хүрээ), Swagger API баримт, Docker Compose тохиргоо, Render байршуулалттайгаар дипломын ажил болгон хүлээлгэн өгсөн.
Votes are de-duplicated and aggregated so one user cannot skew a segment.Саналыг давхардалгүй нэгтгэдэг тул нэг хэрэглэгч үр дүнг гажуудуулж чадахгүй.
03
Admin audit trailАдмин audit trail
Every moderation action is recorded, with role-based access throughout.Модерацийн үйлдэл бүрийг бүртгэж, бүх хэсэгт үүрэгт суурилсан эрхтэй.
04
Tested & automatedТестэлсэн, автомат
65 tests across models, auth, voting, GPX import and aggregation run in CI.Model, нэвтрэлт, санал, GPX импорт, нэгтгэлийг хамарсан 65 тест CI дээр ажиллана.