# PhoenixKit

> PhoenixKit is an open-source (MIT) foundation for Elixir Phoenix apps: authentication (password, magic link, OAuth), roles and per-module permissions, an admin panel, media storage, email, sitemap and languages in the `phoenix_kit` hex package, plus 34 optional module packages (CMS, CRM, billing, e-commerce, AI and more). Built and maintained by BeamLab.

Requirements: Elixir 1.18+, Phoenix 1.8 with LiveView, PostgreSQL.

Install: `mix archive.install hex igniter_new`, then `mix igniter.install phoenix_kit` in a Phoenix app. Add a module by putting its package in `mix.exs` and running `mix deps.get && mix phoenix_kit.update`, then enable it in /admin/modules.

## Docs

- [Get started](https://phoenixkit.maxdon.eu/get-started): install steps
- [All modules](https://phoenixkit.maxdon.eu/modules)
- [HexDocs](https://hexdocs.pm/phoenix_kit): API reference and guides
- [Source](https://github.com/BeamLabEU/phoenix_kit) and [changelog](https://github.com/BeamLabEU/phoenix_kit/blob/main/CHANGELOG.md)
- [News](https://phoenixkit.maxdon.eu/news)

## Core

Ships in the phoenix_kit package itself. Nothing extra to install.

- [Admin Panel](https://phoenixkit.maxdon.eu/modules/admin): Admin dashboard with modules manager, activity feed, audit log, notifications
- [Email Delivery](https://phoenixkit.maxdon.eu/modules/email): Outgoing email through any Swoosh adapter, with named send profiles
- [Languages](https://phoenixkit.maxdon.eu/modules/languages): Backend and frontend languages, locale-prefixed URLs, one on/off switch
- [Maintenance Mode](https://phoenixkit.maxdon.eu/modules/maintenance): Close the site to visitors while admins keep working
- [Media & Storage](https://phoenixkit.maxdon.eu/modules/media): File storage on local disk or S3-compatible buckets, with image/video resizing
- [Sitemap & Crawlers](https://phoenixkit.maxdon.eu/modules/sitemap): XML/HTML sitemaps, robots.txt, llms.txt and bot-access policy
- [UI Components](https://phoenixkit.maxdon.eu/modules/ui-components): Tables, media browser, draggable lists and multilingual form fields
- [Users & Authentication](https://phoenixkit.maxdon.eu/modules/auth): Registration, login, magic links, OAuth, roles and per-role permissions

## Content & community

Publish, discuss and model content.

- [Boards](https://phoenixkit.maxdon.eu/modules/boards) (`phoenix_kit_boards`): Collaborative infinite-canvas boards with live cursors, stored in the database
- [Comments](https://phoenixkit.maxdon.eu/modules/comments) (`phoenix_kit_comments`): Threaded comments for any resource, with reactions and moderation
- [Document Creator](https://phoenixkit.maxdon.eu/modules/document-creator) (`phoenix_kit_document_creator`): Document templates in Google Docs, filled with variables and exported to PDF
- [Entities](https://phoenixkit.maxdon.eu/modules/entities) (`phoenix_kit_entities`): Define custom content types with field schemas, no migrations per type
- [OpenGraph](https://phoenixkit.maxdon.eu/modules/og) (`phoenix_kit_og`): Designed og:image templates, assigned per scope and rendered to PNG
- [Posts](https://phoenixkit.maxdon.eu/modules/posts) (`phoenix_kit_posts`): Social, feed-style user posts with likes, tags, boards and mentions
- [Publishing](https://phoenixkit.maxdon.eu/modules/publishing) (`phoenix_kit_publishing`): Database-backed CMS for blogs and docs, multi-language and versioned

## Commerce

Sell, bill and take bookings.

- [Billing](https://phoenixkit.maxdon.eu/modules/billing) (`phoenix_kit_billing`): Orders, invoices, subscriptions and payments via Stripe, PayPal, Razorpay, EveryPay
- [Bookings](https://phoenixkit.maxdon.eu/modules/bookings) (`phoenix_kit_bookings`): Day/night stays, fixed slots and free-form reservations in one model
- [Catalogue](https://phoenixkit.maxdon.eu/modules/catalogue) (`phoenix_kit_catalogue`): Product catalogues with manufacturers, suppliers, categories, items and pricing
- [E-commerce](https://phoenixkit.maxdon.eu/modules/ecommerce) (`phoenix_kit_ecommerce`): Products, categories, cart, checkout and shipping, paid through Billing
- [Manufacturing](https://phoenixkit.maxdon.eu/modules/manufacturing) (`phoenix_kit_manufacturing`): A machines reference book with machine types and a dashboard
- [Referrals](https://phoenixkit.maxdon.eu/modules/referrals) (`phoenix_kit_referrals`): Referral codes with limits, usage tracking and signup integration
- [Warehouse](https://phoenixkit.maxdon.eu/modules/warehouse) (`phoenix_kit_warehouse`): Stock per item and location, with receipts, issues, transfers and stocktakes

## Business operations

Run the company behind the app.

- [Calendar](https://phoenixkit.maxdon.eu/modules/calendar) (`phoenix_kit_calendar`): A personal calendar per user, with permissions to view others'
- [CRM](https://phoenixkit.maxdon.eu/modules/crm) (`phoenix_kit_crm`): Contacts, companies and logged interactions, with per-role access
- [Customer Support](https://phoenixkit.maxdon.eu/modules/customer-support) (`phoenix_kit_customer_support`): Support tickets with statuses, internal notes, attachments and assignment
- [Emails](https://phoenixkit.maxdon.eu/modules/emails) (`phoenix_kit_emails`): Email logs, AWS SES event tracking, analytics and blocklist
- [Inbox](https://phoenixkit.maxdon.eu/modules/inbox) (`phoenix_kit_inbox`): Internal webmail between your app's users, with shared mailboxes
- [Locations](https://phoenixkit.maxdon.eu/modules/locations) (`phoenix_kit_locations`): Physical locations with custom types, amenities and per-owner access
- [Newsletters](https://phoenixkit.maxdon.eu/modules/newsletters) (`phoenix_kit_newsletters`): Email broadcasts to CRM lists or roles, with layouts and unsubscribe
- [Projects](https://phoenixkit.maxdon.eu/modules/projects) (`phoenix_kit_projects`): Projects built from a reusable task library, with dependencies and schedules
- [Staff](https://phoenixkit.maxdon.eu/modules/staff) (`phoenix_kit_staff`): Departments, teams and staff profiles linked to user accounts

## AI

AI endpoints, prompt templates, usage tracking and agents that call your tools.

- [AI](https://phoenixkit.maxdon.eu/modules/ai) (`phoenix_kit_ai`): AI endpoints, prompt templates, completions and usage tracking
- [AI Agent](https://phoenixkit.maxdon.eu/modules/agent) (`phoenix_kit_agent`): Per-user AI chats that call tools from the PhoenixKit API registry

## Platform & tools

Email, analytics, compliance and developer tooling.

- [Dashboards](https://phoenixkit.maxdon.eu/modules/dashboards) (`phoenix_kit_dashboards`): Build admin dashboard pages from widgets that any module exposes
- [Database Explorer](https://phoenixkit.maxdon.eu/modules/db) (`phoenix_kit_db`): Browse Postgres tables and watch row changes live from the admin
- [Hello World](https://phoenixkit.maxdon.eu/modules/hello-world) (`phoenix_kit_hello_world`): A demo module to copy when building your own PhoenixKit module
- [Legal](https://phoenixkit.maxdon.eu/modules/legal) (`phoenix_kit_legal`): Generated legal pages, cookie consent banner and consent logging
- [Stats](https://phoenixkit.maxdon.eu/modules/stats) (`phoenix_kit_stats`): Collect and chart time-series metrics from external sources over Graphite
- [Sync](https://phoenixkit.maxdon.eu/modules/sync) (`phoenix_kit_sync`): Pull data between PhoenixKit sites over token-based connections
- [Templates Editor](https://phoenixkit.maxdon.eu/modules/templates-editor) (`phoenix_kit_templates_editor`): Edit your app's email template files from the email settings page
- [User Connections](https://phoenixkit.maxdon.eu/modules/user-connections) (`phoenix_kit_user_connections`): Follows, mutual connections and blocking between users
- [Web Analytics](https://phoenixkit.maxdon.eu/modules/web-analytics) (`phoenix_kit_web_analytics`): Cookieless server-side analytics recorded in your own database

