Equity for everyone.
You'll need:
- Docker
- Node.js (see
.node-version
)
The easiest way to set up the development environment is to use the bin/setup
script, but feel free to run the commands in it yourself to:
- Set up Ruby (ideally using
rbenv
/rvm
) and PostgreSQL - Install dependencies using
pnpm i
andcd apps/rails && bundle i
- Set up your environment by either using
pnpx vercel env pull
orcp .env.example .env
and filling in missing values and your own keys - Run
cd apps/rails && gem install foreman && bin/rails db:setup
You can start the local app using the bin/dev
script - or feel free to run the commands contained in it yourself.
Once the local services are up and running, the application will be available at https://flexile.dev
Check the seeds for default data created during setup.
Issue: When running bin/dev
(after bin/setup
) encountered FATAL: role "username" does not exist
Resolution: Manually create the Postgres user with:
psql postgres -c "CREATE USER username WITH LOGIN CREATEDB SUPERUSER PASSWORD 'password';"
Likely caused by the bin/setup
script failing silently due to lack of Postgres superuser permissions (common with Homebrew installations).
Issue: First attempt to run bin/dev
failed with Redis::CannotConnectError
on port 6389.
Resolution: Re-running bin/dev
resolved it but data wasn't seeded properly, so had to run db:reset
Likely caused by rails attempting to connect before Redis had fully started.
# Run Rails specs
bundle exec rspec # Run all specs
bundle exec rspec spec/system/roles/show_spec.rb:7 # Run a single spec
# Run Playwright end-to-end tests
pnpm playwright test
Flexile is licensed under the MIT License.