# MVP Phase 1 — Foundation
## Objective
Create the technical foundation of the Local Business Management System.
Do NOT implement business features yet.
The goal is to have a clean Go application that:
1. Starts successfully
2. Loads configuration
3. Connects to PostgreSQL
4. Runs database migrations
5. Exposes an HTTP API
6. Has structured logging
7. Has health checks
8. Has clean application startup/shutdown
## Stack
* Go
* PostgreSQL
* HTTP REST API
* SQL migrations
* Environment/configuration system
* Structured logging
## Initial Structure
```text
cmd/
server/
main.go
internal/
platform/
config/
database/
http/
logging/
core/
migrations/
api/
go.mod
```
## Required Endpoint
```http
GET /health
```
Expected response:
```json
{
"status": "ok",
"database": "ok"
}
```
## Requirements
Implement graceful shutdown.
Database connection must use connection pooling.
Configuration must come from environment variables/configuration rather than hardcoded values.
Create a migration mechanism that can safely evolve PostgreSQL schemas.
Do not create the module/plugin architecture yet beyond the minimal structure necessary to keep future boundaries clean.
## Deliverable
A running local Go server connected to PostgreSQL with a clean project structure and migration system.
Nothing else.