first commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Car Service Database
|
||||
|
||||
PostgreSQL database and web dashboard for a car service workshop, managed with Docker Compose.
|
||||
|
||||
## Start
|
||||
|
||||
```powershell
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Open the web dashboard at [http://localhost:3000](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:
|
||||
|
||||
```powershell
|
||||
docker compose ps
|
||||
docker compose exec car-service-db pg_isready -U car_service_app -d car_service
|
||||
```
|
||||
|
||||
Connect with `psql` inside the container:
|
||||
|
||||
```powershell
|
||||
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`:
|
||||
|
||||
```dotenv
|
||||
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:
|
||||
|
||||
```powershell
|
||||
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.
|
||||
Reference in New Issue
Block a user