Sequent
Sequent is a CQRS and event sourcing framework written in Ruby.
Getting started
See the official site at https://www.sequent.io/
New to Sequent? Getting Started is the place to be!
Contributing
Fork and send pull requests
Documentation
See the official site at https://sequent.io/
Want to help improve the documentation? Please let us know how we can improve by creating an issue
If you want to help write the documentation fork and send pull request.
You can start the documentation locally via:
cd docs
bundle install
cp .env.example .env
bundle exec jekyll serve --livereload
Open localhost:4000
A GitHub personal access token is required if you want Jekyll to retrieve GitHub metadata information. Create a new personal access token (no scope is required) and configure it in the .env file.
Releasing
Ensure the version in lib/version.rb
is the new version. If not change it and commit this change.
Then run rake release
. A git tag will be created and pushed, and the new version of the gem will be pushed to rubygems.
Increase version to new working version, update the sequent version for all the gemfiles
:
BUNDLE_GEMFILE=gemfiles/ar_7_1.gemfile bundle update sequent --conservative
BUNDLE_GEMFILE=gemfiles/ar_7_2.gemfile bundle update sequent --conservative
Running the specs
Database setup
- When using a local PostgreSQL database, create the user:
createuser -D -s -R sequent
- If you're not using a local Postgres database, setup the database using docker:
docker run --name sequent -e POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_USER=sequent -p 5432:5432 -d postgres:16
Create the database
Have Sequent create the database:
SEQUENT_ENV=test bundle exec rake sequent:db:create
Run rspec spec
to run the tests with the current database schema.
To ensure the specs use the latest database schema run:
SEQUENT_ENV=test rake sequent:db:drop sequent:db:create spec
Changelog
The most notable changes can be found in the Changelog
License
Sequent is released under the MIT License.