Potionx ⚗️
A Toolkit for rapidly building and deploying full-stack applications with Elixir and Vue
Potionx is a set of generators and functions that speeds up the process of setting up and deploying a full-stack application that uses Elixir with GraphQL for the server-side component and Vue for the frontend component.
Warning: Still in early stages of development. Not suitable for production use.
Features
- Uses opinionated defaults for naming and file structure.
- Uses Phoenix as the base Elixir framework with some opinionated defaults.
- GraphQL layer that uses Absinthe.
- Social login with Apple, Google, Github, Twitter enabled using Pow and PowAssent
- Uses Pow and PowAssent for authentication/authorization
- Recipes for deployment to Gigalixir, Render.com, Digital Ocean Kubernetes Engine, Google Kubernetes Engine
- Frontend components using Vue 3 with JSX, Typescript and TailwindCSS.
- Fast frontend development with Vite
Technologies
Deployment Targets
Getting Started
Prerequisites
- Node version 12 or above
- Elixir version 1.11 or above
- Familiarity with Elixir and Phoenix
- Familiarity with Vue
Generating a project
mix archive.install hex potionx_new 0.1.0
mix potionx.new some_project_name
Generating backend (soon frontend as well) scaffold code for models
Generates functions, tests and files required for basic creation and management of data models. Currently only generates backend code, but frontend file generation is coming soon.
mix potionx.gen.gql_for_model SomeContext SomeModel
License
MIT