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 iandcd backend && bundle i - Set up your environment by either using
pnpx vercel env pull .envorcp .env.example .envand filling in missing values and your own keys - Run
cd backend && gem install foreman
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 testFlexile is licensed under the MIT License.