Skip to content
/ souls Public

🚧Deprecated. Moved to Skeet https://skeet.dev/ 🚧🕺 SOULs 💃 Build Serverless Apps faster like Rails. Powered by Ruby GraphQL, Active Record, RSpec, RuboCop, and Google Cloud.

License

Notifications You must be signed in to change notification settings

elsoul/souls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

98451d6 Â· Nov 15, 2021
Nov 12, 2021
Nov 15, 2021
Oct 27, 2020
Nov 1, 2021
Oct 21, 2021
Nov 9, 2021
Nov 9, 2021
Nov 2, 2021
Nov 15, 2021
Nov 5, 2021
Nov 15, 2021
Nov 15, 2021
Oct 26, 2021
Nov 5, 2021
Nov 8, 2021
Nov 11, 2021
Oct 21, 2021
Jul 21, 2021
Oct 27, 2020
Sep 30, 2021
Jul 27, 2021
Sep 1, 2021
Oct 27, 2020
Nov 2, 2020
Nov 8, 2021
Nov 15, 2021
Apr 7, 2021
Sep 8, 2021
Nov 3, 2021
Nov 8, 2021
Nov 12, 2021
Nov 5, 2021
Nov 9, 2021

Repository files navigation

SOULs

Follow @SOULsOpenSource

SOULs Serverless Application Framework Document

What's SOULs?

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 Architecture

SOULs creates 2 types of APP.

  1. API - GraphQL (Ruby) - Simple API - Cloud Run
  2. Worker - Google Pub/Sub Messaging Worker API (Ruby) - Cloud Run

Ruby type checking

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.

Dependency

Cloud Infrastructure

Installation

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

Development

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.

Test Coverage

Rspec Test Coverage

Contributing

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.

License

The gem is available as open source under the terms of the Apache-2.0 License.

Code of Conduct

Everyone interacting in the HotelPrice project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.