Taxi Fleet Management
  • TypeScript 43.6%
  • Kotlin 41.8%
  • Go 8.5%
  • Shell 3.1%
  • HTML 2.3%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
GameTec_live 6df6727382 doc: readme
2026-09-18 09:36:02 +02:00
.github/workflows fix: preserve recovery script executability 2026-09-03 18:05:46 +02:00
.idea refactor: use configured server address for map style 2026-08-12 10:23:28 +02:00
.vscode feat: create monorepo 2026-07-09 17:06:10 +02:00
apps feat: license view card 2026-09-15 16:52:34 +02:00
assistive fix: cleanup old folders, rebuild route graph and fix OOM 2026-08-12 11:32:15 +02:00
docs doc: readme 2026-09-18 09:36:02 +02:00
mobile feat: logoff cycle refactored 2026-09-12 14:40:45 +02:00
os Merge pull request #229 from GameTec-live/gtl-recovery-image 2026-09-04 16:12:32 +02:00
packages fix: bun ts config 2026-07-17 10:05:54 +02:00
recovery feat: recovery expands data partition 2026-09-04 12:58:10 +02:00
yaak refactor: added websocketListener and pop for new job 2026-08-20 15:09:02 +02:00
.env.example feat: docker restarting 2026-08-11 19:12:12 +02:00
.gitattributes fix: preserve IDP state across fastboot calls 2026-09-03 23:05:44 +02:00
.gitignore feat: create monorepo 2026-07-09 17:06:10 +02:00
.infisical.json feat: create mobile project 2026-07-14 10:27:35 +02:00
atlas.code-workspace feat: create monorepo 2026-07-09 17:06:10 +02:00
biome.json feat: create monorepo 2026-07-09 17:06:10 +02:00
bun.lock feat: QR-codes to connect the app 2026-09-04 17:25:43 +02:00
compose.yaml feat: extract docker interaction into separate container 2026-08-12 11:48:12 +02:00
LICENSE doc: License and readme 2026-07-06 14:39:30 +02:00
package.json fix: types 2026-07-16 16:14:43 +02:00
README.md doc: readme 2026-09-18 09:36:02 +02:00
turbo.json feat: geodatapi 2026-08-11 11:40:34 +02:00

Atlas

Atlas logo

What is Atlas?

Atlas is a Taxi fleet management platform.

A lot of smaller taxi companies still rely on phone calls, handwritten logbooks and manual ride assignment. Atlas aims to provide a modern, centralized solution tailored towards smaller taxi companies while remaining scalable and flexible.

Atlas is designed to be deployed in an appliance like fashion on a Raspberry Pi 5 or Compute Module 5. Other deployments like docker are possible too but may require more setup or have limited functionality.

Atlas consists of three core components:

  • Mobile application with android auto support
  • Web application for administration and setup
  • API service and backend to tie everything together

Getting started

There are multiple options for getting started with Atlas.

Purchase a device

The simplest option is to aquire a Atlas appliance from TaxiGerhard. This not only gives you the complete, ready to go, package of encrypted Device, Manual, Recovery Media and Powersupply but also allows you to aquire various support packages when ordering.

DIY device

Another option is to host Atlas on a dedicated appliance. AtlasOS is the custom managed OS that runs on Atlas appliances. Atlas applianes are RaspberryPi 5 based. It is highly recommended to use a Raspberry Pi 5 with 8GB of RAM or more. A 4GB Pi may suffice depending on usage but this is no guarantee.

A DIY Atlas device can either be provisioned encrypted or unencrypted.

Unencrypted

This is probably the simplest way to get up and running with a custom Atlas applliance.

Head over to the releases, download the latest AtlasOS image and flash the unencrpyted development image to the SSD or MicroSD of a Raspberry Pi using Raspberry Pi Imager or similar.

While this is simple and supports all features and functions, the storage media is unencrpyted and may be vulnerable to theft or other influences. This may not meet your required security standards.

Encrypted

If you choose to create a custom appliance and want this appliance to use encrypted media, you will need to restore from USB or use the Raspberry Pi provisioning tooling.

To restore from USB ensure your Raspberry Pi is configured to boot from USB and then follow the instructions in the manual. In short: Flash or copy the recovery files to your USB drive, plug it into the Raspberry Pi and then power the Pi and wait until it shuts down again. Unplug the USB, apply power, enjoy.

Docker or Podman

AtlasOS uses Podman to run Atlas. Podman or Docker can be used to run the AtlasOS containers on any host.

Running Atlas manually in Docker or Podman means that system management features are not available via the UI and to be manually performed.

Atlas container images are capable of running fully rootless and built to the highest security standards.

For testing and development, a docker compose is available in the repository root.

Bare Metal

Technically using bare metal is possible but highly discouraged. You are on your own.

Usage

To start using Atlas, after setting up, open a webbrowser and navigate to the management UI.

This can be done either by navigating to atlas.local or your configured domain or IP Address.

Note

Atlas uses a self signed certificate on the local network. This certificate will show as untrusted. This is expected.

Tip

The Atlas Appliances also offer a local console. If you prefer you can connect a Monitor, Mouse and Keyboard and use the Appliance locally.

Follow the setup wizard and complete the configuration. See the Manual for details.

Once done, the only thing left to do is to pair the mobile devices. For distributing Atlas to end devices it is recommended to make use of Androids fleet management tooling using tools like Fleetdm.

The application can be downloaded from the PlayStore and the server url is configured at the bottom of the login screen. This URL must be correct for Atlas to function.

Development

Atlas consists of various components. All components are managed in a turborepo monorepo.

The main components are the API, WebUI and Mobile application.

The API uses ElysiaJS, DrizzleORM and Better-Auth. Bun is used as the package manager, runtime and bundler.

The WebUI uses Vite, React, shadcnUI and Better-Auth as well as various libraries from the TanStack ecosystem. Vite is the bundler, bun is once again package manager.

The mobile app is a native Android application and developed using Android Studio.

bun install, bun run dev and bun run build should get you up and running in almost all projects.

Some assistive services are written in GO and theres a yaak workspace in the root of this repository to help test the API endpoints.

Visual Studio Code is recommended for developing the frontend as the extension support allows for helpful additions like embedding translation string previews in the source code.

GitHub Actions is used for auotmatically building all parts of the system including containers both on push as well as on PR.