Repository map
An index of the alma-mobility-marketplaces organisation, grouped by the part of the
business a repository serves. It exists so you can answer “which repo is that in”
without asking, and so you know where a repository keeps its own documentation before
you go looking.
It deliberately does not describe how any service works. That belongs in the repository, and the Docs column is the link to it.
Check the default branch before you clone
Section titled “Check the default branch before you clone”There is no single default branch across the organisation. Of the 89 non-archived repositories:
| Default branch | Repositories |
|---|---|
main |
42 |
master |
34 |
staging |
5 |
dev |
4 |
develop |
2 |
| none (empty repo) | 2 |
The org’s CONTRIBUTING.md
states main as the convention, and new repositories follow it. Most of the estate
predates that. So a branch name you carry over from the last repository will be wrong
roughly half the time — git clone without --branch gets it right, a hand-written
git checkout main does not.
m1-web is the one to watch: it is the most active repository in the organisation and
its default branch is develop.
Mobility One (M1)
Section titled “Mobility One (M1)”The new platform. Postgres, Next.js, one monorepo.
| Repository | Default | What it is | Docs |
|---|---|---|---|
m1-web |
develop |
Turborepo monorepo: per-vertical and multi-tenant Next.js apps, shared UI, typed API client, Auth0, ECS Fargate | docs/ + 16 ADRs |
m1-api |
develop |
The REST API for the second-generation applications — Node.js | docs/ + 1 ADR |
m1-atlas |
main |
Database-as-code: the PostgreSQL schema and its migrations, plus the ERDs | docs/ + 25 ADRs |
m1-api-client |
main |
The npm client library for APIv2, for any JS frontend | README |
m1-infra |
main |
Shared AWS infrastructure for the M1 platform — Terraform for the VPC, networking, DNS, shared IAM and the account baseline | README |
admin |
master |
Standalone internal admin panel — Next.js 15, Refine, MUI, Casbin | README |
admin predates m1-web’s own admin app (see its
ADR-0006
and the
admin-shadcn-migration spec).
Confirm which one is live before you change either.
Legacy NettiX marketplaces
Section titled “Legacy NettiX marketplaces”Grouped by stack and estate: the PHP, Symfony and Aurora MySQL codebases serving the marketplaces today. Several also appear as sub-services in a marketplace hostname — see Hostnames, which owns that view.
| Repository | Default | What it is | Docs |
|---|---|---|---|
nettix-web |
master |
Responsive sites — Symfony + PHP 8 | docs/ |
nettix-www |
master |
The classic-site PHP monolith | docs/ |
nettix-api |
master |
The REST API behind the sites (api.nettix.fi) |
docs/ |
apps-api |
dev |
Multi-tenant marketplace API — Symfony 7.2, serves the mobile apps | Postman collections |
auth-api |
master |
NettiX authentication API | docs/ |
admin-api |
main |
Admin-side API | docs/ |
nettix-webstore |
master |
TEHO — the webstore for larger dealer customers, at teho.nettix.fi |
docs/ |
nettix-daemon |
master |
The Salesforce daemon | README |
nettix-hoover |
master |
Hoover service (Perl) | README |
my-vehicles |
staging |
OmaAjo — React + PHP 8 (Slim, Doctrine, GraphQL) | docs/ |
inbox |
staging |
Viestit, the messaging frontend — React + SSE | docs/ |
rekkari |
staging |
Vehicle information service — PHP 8.3, Slim, Doctrine, React | docs/ |
kumppanisisallot-cf-worker |
main |
Kumppanisisällöt — the Cloudflare Worker serving paid partner content at nettiauto.com/kumppanisisallot/ from a WordPress site. Live, last changed 2023 |
README |
Shared services
Section titled “Shared services”Deployed once and consumed by more than one vertical or generation, which is what makes them shared. A shared service can still be embedded in a vertical’s pages, and so still carry a per-vertical hostname — Hostnames has that side.
| Repository | Default | What it is | Docs |
|---|---|---|---|
alma-mobility-image-service |
main |
Multi-tenant image Lambda behind CloudFront | docs/ + 22 ADRs |
ajomark-header |
main |
The shared global site header, published as a library | docs/ |
counter-service |
main |
The Frontend and Backend Counter Services — the view and event counters | README |
ajo-event-relay |
main |
Publishes events from the legacy AWS estate onto the central event bus | README |
ajo-event-rules |
main |
EventBridge rules for the central bus | README |
maksuportaali |
master |
Payment portal | docs/ |
pricing-tool |
staging |
Hinnoittelu, the pricing tool (v2) | README |
dealer-self-service |
staging |
Dealer self-service | README |
alma-ajo-salesforce |
main |
Salesforce (Apex) customisation | docs/ |
ajomark-lambdas |
main |
Miscellaneous Lambdas and their infrastructure | README |
Autotalli
Section titled “Autotalli”| Repository | Default | What it is |
|---|---|---|
autotalli |
master |
The server-side Java stack |
autotalli-terraform |
main |
Terraform for Autotalli |
autotalli-infra |
main |
Older infrastructure repository |
mepa-autotalli-cloudformation |
master |
CloudFormation and AMI generation |
| Repository | Default | What it is | Docs |
|---|---|---|---|
baana-backend |
dev |
Backend (TypeScript) | docs/ |
baana-frontend |
dev |
Frontend (TypeScript) | docs/ |
baana-account |
main |
Account service | README |
baana-testing |
main |
Test suite | README |
NettiXPro (aso-*)
Section titled “NettiXPro (aso-*)”The aso-* repositories are the NettiXPro estate — the nettixpro domain team owns
them all. Every one defaults to master.
aso-api ·
aso-app ·
aso-esb ·
aso-feeds ·
aso-images ·
aso-leads ·
aso-notice ·
aso-queue
Mobile apps
Section titled “Mobile apps”Two apps per vertical, one per platform. All default to master.
| Vertical | iOS | Android |
|---|---|---|
| Nettiauto | nettiauto-ios |
nettiauto-android |
| Nettimoto | nettimoto-ios |
nettimoto-android |
| Nettivene | nettivene-ios |
nettivene-android |
NettiXLogin (master) is
the shared login component for the iOS apps. The apps talk to
apps-api.
Infrastructure
Section titled “Infrastructure”| Repository | Default | What it is | Docs |
|---|---|---|---|
infra |
master |
The main Terraform estate — ECS, VPC, logging, monitoring | README |
infra-v2 |
main |
The split-account infrastructure project | docs/ |
infra-cloudflare |
main |
Cloudflare configuration (last touched 2023) | README |
opensearch |
main |
OpenSearch infrastructure | README |
sse |
main |
Server-sent-events infrastructure | README |
Platform and tooling
Section titled “Platform and tooling”The repositories that act on all the others. Start here when the question is about CI, access, or documentation rather than about a product.
| Repository | Default | What it is | Docs |
|---|---|---|---|
.github |
main |
Org-wide policy, community-health files, and the reusable workflows every repo calls | docs/ |
github-iac |
main |
Terraform for the organisation itself — teams, permissions, repo settings | docs/ + 4 ADRs |
security-dashboard |
main |
Aggregates Scorecard and CodeQL into scorecard.ajomark.dev |
docs/ + 9 ADRs |
docs.ajomark.dev |
main |
This site | docs/decisions/ + 2 ADRs |
ai-ops-playbook |
main |
The portable Claude skills, and the plugin marketplace that installs them | docs/ |
setup-ci-runner |
main |
Composite Action that bootstraps tools on CI runners | README |
claude-changelog |
main |
The Ecto-1 changelog Action | README |
ecto-1-slack |
dev |
Backend for the Ecto-1 Slack bot | README |
version-tagger |
main |
Release tagging Action | README |
llm-wiki |
main |
Research wiki on AI-assisted development | README |
Data and machine learning
Section titled “Data and machine learning”| Repository | Default | What it is |
|---|---|---|
spede |
main |
ML-assisted user trust scoring and behavioural analysis |
neural-engine-for-registration-obfuscation |
main |
NERO — registration-plate obfuscation |
ajo-kisu-api |
main |
Personalised vehicle recommendations from the KISU SageMaker model |
hinta-arvio |
master |
Price estimation |
data-analysis |
master |
Analysis notebooks and scripts |
Mobility repositories in other organisations
Section titled “Mobility repositories in other organisations”Not everything mobility-related is in alma-mobility-marketplaces. Two other
organisations hold repositories you will be sent to, and searching the wrong one is the
usual reason people conclude a repository does not exist.
| Organisation | Mobility repositories there |
|---|---|
almamedia |
mobility-semantic-search-api (Hakuapuri), ajo-reference-data-maintenance, ajo-tankki-reporting, alma-sammio-ajo, alma-sammio-ajo-price-estimate, ajodms-qa |
alma-pgw |
The Alma Payment Gateway, the escrow payment service behind fiksut kaupat — alma-payment-gateway and its -ui, -infra, -onboarding, -docs siblings |
almamedia/GT-X also turns up in that
organisation. It is a Netwheels product and not ours — see the
glossary.
Dormant and experimental
Section titled “Dormant and experimental”Kept for history, not maintained. Check the last commit date before you build on any of
them: ad-to-video-tool, aso-svea-portal, aso-wordpress, deployment-tools
(empty), mobility-semantic-search-api (empty — the maintained copy is in
almamedia), gdpr-poc, hallavo-playground,
infra-admin, infra-deployment-tools,
infra-jenkins, jonasz-sandbox, lunch-bot,
nettikone-ai-driven-poc, opennext-cloudflare, poc-kone-apps-api,
serverless-image-handler, ajo-splitaccount-deployment-testing.