LogoLogo
v2.0.0
v2.0.0
  • 🌸What is Petal Pro?
  • πŸ’‘Changelog
  • ⏫Upgrade guide
  • Guides
    • πŸš€Creating a web app from start to finish
    • 🌎Deploy to Fly.io
    • πŸ’³Adding a subscription
    • πŸ”’Creating Your Own API
  • πŸ‘©β€πŸ³Recipes
    • πŸ’How to apply a recipe with git cherry pick
    • #️⃣UUIDs
    • ✍️First/Last name
    • πŸ—ΊοΈGoogle Maps
    • Password Hashing for Windows
  • Fundamentals
    • πŸ’ΏInstallation
    • πŸ“‚Folder structure
    • πŸ—ƒοΈIncluded Pages
    • πŸ˜€Users & Authentication
    • 🏒Organizations & Multitenancy
    • πŸ’³Stripe billing
    • πŸ””User Notifications
    • 🧊Components
    • ⬛Dark mode
    • 🎨Branding
    • 🌱Seeding
    • πŸ“„Layouts & Menus
    • πŸ–ΌοΈImage uploads
    • πŸ‘₯Impersonation
    • πŸ› οΈBackground Tasks and Jobs
    • πŸ”§Util & Helpers
    • πŸ“§Emails
    • πŸͺJavascript Hooks
    • πŸ“šExtra Hex Libraries
    • πŸ—οΈGenerators
    • πŸ—£οΈTranslations
    • πŸ–οΈContributing
    • πŸ›«Deployment
    • πŸ›‘οΈTesting
    • πŸ”’REST API
Powered by GitBook
On this page

Was this helpful?

  1. Fundamentals

Extra Hex Libraries

# Emails
{:phoenix_swoosh, "~> 1.0"},
{:gen_smtp, "~> 1.2"},
{:premailex, "~> 0.3.0"},
{:email_checker, "~> 0.2.4"},
{:money, "~> 1.12.4"},

# Ecto querying / pagination
{:query_builder, "~> 1.0"},
{:flop, "~> 0.20"},

# Authentication
{:bcrypt_elixir, "~> 3.0"},
{:ueberauth, "<= 0.10.5 or ~> 0.10.7"},
{:ueberauth_google, "~> 0.10"},
{:ueberauth_github, "~> 0.7"},

# API
{:open_api_spex, "~> 3.18"},

# TOTP (2FA)
{:nimble_totp, "~> 1.0.0"},
{:eqrcode, "~> 0.1.10"},

# Hashing
{:hashids, "~> 2.0"},

# Assets
{:tailwind, "~> 0.2.0", runtime: Mix.env() == :dev},

# Petal components
{:petal_components, "~> 1.9"},

# Utils
{:blankable, "~> 1.0.0"},
{:currency_formatter, "~> 0.4"},
{:timex, "~> 3.7", override: true},
{:inflex, "~> 2.1.0"},
{:slugify, "~> 1.3"},
{:sizeable, "~> 1.0"},

# HTTP client
{:tesla, "~> 1.8.0"},
{:finch, "~> 0.14"},

# Testing
{:wallaby, "~> 0.30", runtime: false, only: :test},
{:faker, "~> 0.17", only: [:test, :dev]},
{:mimic, "~> 1.7", only: :test},
{:exvcr, "~> 0.15", only: :test},

# Jobs / Cron
{:oban, "~> 2.17"},

# Markdown
{:earmark, "~> 1.4"},
{:html_sanitize_ex, "~> 1.4"},

# Security
{:content_security_policy, "~> 1.0"},

# Code quality
{:sobelow, "~> 0.12", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.10", only: [:dev, :test], runtime: false},
{:styler, "~> 0.11", only: [:dev, :test], runtime: false},

# Payments
{:stripity_stripe, "~> 3.1"},

# Temporary (to rename your project)
{:rename_project, "~> 0.1.0", only: :dev, runtime: false}
PreviousJavascript HooksNextGenerators

Last updated 9 months ago

Was this helpful?

πŸ“š