Files
Car-Service-Database/README.md
T
2026-08-26 22:39:33 +03:00

1.9 KiB

Car Service Database

PostgreSQL database and web dashboard for a car service workshop, managed with Docker Compose.

Start

docker compose up -d

Open the web dashboard at http://localhost:3000.

The dashboard's Service records view supports adding, listing, and editing service records with service date, VIN, license plate number, car mileage, customer, technician, complaint, and status. Adding a record creates the linked customer, vehicle, technician, and service order in one transaction.

The Accounts view supports reading, adding, editing, and deleting users with read, add, and delete rights. A default admin account is created automatically, and the last administrator cannot be deleted. These permissions are currently stored as staff access profiles; login/session enforcement can be added when authentication is required.

Check that the database is ready:

docker compose ps
docker compose exec car-service-db pg_isready -U car_service_app -d car_service

Connect with psql inside the container:

docker compose exec car-service-db psql -U car_service_app -d car_service

The default connection values are:

  • Host: localhost
  • Port: 5432
  • Database: car_service
  • User: car_service_app
  • Password: change-me-in-production

To use different values, create a .env file next to docker-compose.yml:

POSTGRES_DB=car_service
POSTGRES_USER=car_service_app
POSTGRES_PASSWORD=use-a-strong-password
POSTGRES_PORT=5432

The schema is loaded from init.sql the first time the named volume is created. To recreate the database from scratch, including all data:

docker compose down -v
docker compose up -d

Do not use the default password in production. Restrict the published port or place the database on a private Docker network when an application is added.