Features: - User registration and authentication with email/password - Admin login with username-based authentication (separate from regular users) - Review system for contractors to rate clients - Star rating system with review forms - Client identification with private data protection - Contractor registration with document verification - Admin dashboard for review management - Contact form (demo, non-functional) - Responsive navigation with DaisyUI components - Docker Compose setup for production deployment - PostgreSQL database with Ecto migrations - High Vis color scheme (dark background with safety orange/green) Admin credentials: username: admin, password: admin123 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
785 B
Elixir
28 lines
785 B
Elixir
defmodule MyFirstElixirVibeCode.Repo.Migrations.UpdateClientFieldsInReviews do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
alter table(:reviews) do
|
|
# Remove old fields
|
|
remove :client_name
|
|
remove :client_address
|
|
|
|
# Add split name fields
|
|
add :client_first_name, :string
|
|
add :client_last_name, :string
|
|
|
|
# Add address components
|
|
add :client_street_address, :string
|
|
add :client_city, :string
|
|
add :client_state, :string
|
|
add :client_zip, :string
|
|
add :client_country, :string
|
|
end
|
|
|
|
# Create indexes for searching
|
|
create index(:reviews, [:client_first_name])
|
|
create index(:reviews, [:client_last_name])
|
|
create index(:reviews, [:client_street_address])
|
|
create index(:reviews, [:client_city])
|
|
end
|
|
end
|