πΏInstallation
Quick install instructions
If you just want to see something running without configuring anything:
Download the latest release
Run
mix setup
Run
mix phx.server
Comprehensive install instructions
1. Download and unzip a release
We recommend downloading the latest version from a "Release" (either from Github or our downloads page).
It is possible to clone from the main
branch - there is a slightly higher chance of bugs (although we will endeavour to keep the main
branch as stable as possible).
2. Install Elixir & Erlang with asdf
If you already have Elixir and Erlang installed you can skip to the next section.
We recommend using asdf to manage your Elixir and Erlang versions. It allows you to have multiple versions on your computer.
For Macs using Homebrew:
3. Rename your project (not recommended if you want updates)
Warning: if you plan to merge in future Petal Pro commits (eg. if you're waiting for an upcoming feature like payment handling), then perhaps hold off renaming as it makes merging harder.
Your app module is currently called PetalPro
. There is a script file included that will rename your project to anything you like in one go. Open the file rename_phoenix_project.sh
and read the instructions at the top.
As mentioned above, since Petal is still being updated heavily with new features, it might be better to not rename it so you can keep pulling in new updates.
4. Run the setup command
In your terminal, run the command:
This will fetch dependencies, create and migrate your database, and run the seeds script (creates and admin user and some dummy users).
5. Install chromedriver
In order for tests to work, you will need to install Chromedriver (we utilize Wallaby for e2e tests). On a Mac you can install it with:
6. Run the server
Now you can visit localhost:4000
from your browser.
7. Add in your branding and details (can be done later)
We have added comments throughout the codebase providing instructions on how to add in your app details and branding. Simply do a global find in your code editor for the text "SETUP_TODO" and follow the instructions.
8. Look over our recipes
We have some recipes to cover common use cases that aren't part of the normal setup. For example, UUID's instead of ordinary IDs. You can git cherry pick them into your codebase. Check them out here.
Other tools we use to help develop web apps
iTerm2 to replace Mac terminal
Fig to enhance your terminal
ZSH Prezto to replace BASH with zsh within the terminal
SourceTree to help use git
Dash for near instantaneous documentation. Useful when you keep looking up Elixir functions like
String.match?
.Linear for issue tracking
Figma for design
Raycast to replace spotlight
Contributing
Petal Pro is a paid product but we welcome PR's if you find small bugs / typos / improvements. Let us know if you want to contribute in a more significant way and we can offer unlimited membership in return.
Last updated