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>
19 lines
420 B
Elixir
19 lines
420 B
Elixir
defmodule MyFirstElixirVibeCode.Accounts.Client do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
schema "clients" do
|
|
field :name, :string
|
|
field :email, :string
|
|
field :company_name, :string
|
|
|
|
timestamps(type: :utc_datetime)
|
|
end
|
|
|
|
@doc false
|
|
def changeset(client, attrs) do
|
|
client
|
|
|> cast(attrs, [:name, :email, :company_name])
|
|
|> validate_required([:name, :email, :company_name])
|
|
end
|
|
end
|