Welcome to SOULs Serverless Application Framework!
Build Serverless Apps faster like Rails. Powered by Ruby GraphQL, RBS/Steep, Active Record, RSpec, RuboCop, and Google Cloud.
- Focus on business logic in serverless environment
- Maximize development efficiency with CI / CD standard schema-driven Scaffold
- Achieve global scale with lower management costs
SOULs creates 2 types of APP.
- API - GraphQL (Ruby) - Simple API - Cloud Run
- Worker - Google Pub/Sub Messaging Worker API (Ruby) - Cloud Run
The SOULs framework uses RBS / Steep, which appeared in Ruby 3.0.
As a result, typos, column types, etc.
It is a development environment where you can immediately notice the mistakes that occur frequently.
- Google Cloud Run
- Google Cloud SQL
- Google Cloud Pub/Sub
- Google Cloud Storage
- Google Cloud IAM
- Google Cloud Container Registry
- Google Firebase
- Google Cloud Scheduler
- Google Cloud VPC
- Google Cloud Nat
- Github Actions
Add this line to your application's Gemfile:
gem 'souls'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install souls
And Create Your APP
$ souls new app_name
$ cd apps/api/app_name
$ souls s
Check your GraphQL PlayGround
localhost:4000/playground
After checking out the repo, run bin/setup
to install dependencies. Then, run souls t
to run the tests. You can also run souls c
for an interactive prompt that will allow you to experiment.
You need to add submodule
git submodule add -f https://github.com/ruby/gem_rbs_collection.git vendor/rbs/gem_rbs_collection
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/elsoul/souls. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the Apache-2.0 License.
Everyone interacting in the HotelPrice project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.