{"id":"shr_032802f282c4b8576afb","title":"Maybe Finance/Maybe's stack","storedTitle":"maybe Repository manifest","hidden":false,"shareUrl":"https://staging.leyline.ahensya.com/shares/shr_032802f282c4b8576afb","cardUrl":"https://staging.leyline.ahensya.com/shares/shr_032802f282c4b8576afb/card.svg","sourceUrl":"https://github.com/maybe-finance/maybe/blob/main/Gemfile","sourceLabel":"source: github","sourceKind":"manifest","method":"pasted-text","publicState":"public","accepted":true,"counting":true,"preview":{"title":"Maybe Finance/Maybe's stack","description":"9 stack components extracted from the Repository manifest.","image":"https://staging.leyline.ahensya.com/shares/shr_032802f282c4b8576afb/card.svg"},"composition":{"title":"maybe Repository manifest","summary":"9 stack components extracted from the Repository manifest.","slots":[{"id":"rails","name":"Rails","role":"Application framework","roleId":"backend","mentionClass":"actual-use","functions":["route","render"],"fill":"external","why":"Application manifest declares rails.","cost":"unknown","weight":1},{"id":"postgresql","name":"PostgreSQL","role":"Database","roleId":"database","mentionClass":"actual-use","functions":["store"],"fill":"external","why":"Application manifest declares pg.","cost":"unknown","weight":1},{"id":"redis","name":"Redis","role":"Cache","roleId":"role-cache","mentionClass":"actual-use","functions":["cache","store"],"fill":"external","why":"Application manifest declares redis.","cost":"unknown","weight":1},{"id":"hotwire","name":"Hotwire","role":"Frontend","roleId":"frontend","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"Application manifest declares importmap-rails.","cost":"unknown","weight":1},{"id":"tailwind","name":"Tailwind CSS","role":"Styling","roleId":"styling","mentionClass":"actual-use","functions":["render"],"fill":"external","why":"Application manifest declares tailwindcss-rails.","cost":"unknown","weight":1},{"id":"sidekiq","name":"Sidekiq","role":"Job queue","roleId":"queue","mentionClass":"actual-use","functions":["schedule"],"fill":"external","why":"Application manifest declares sidekiq.","cost":"unknown","weight":1},{"id":"sentry","name":"Sentry","role":"Error monitor","roleId":"monitor","mentionClass":"actual-use","functions":["monitor","observe"],"fill":"external","why":"Application manifest declares sentry-ruby.","cost":"unknown","weight":1},{"id":"stripe","name":"Stripe","role":"Payments","roleId":"payment","mentionClass":"actual-use","functions":["payment"],"fill":"external","why":"Application manifest declares stripe.","cost":"unknown","weight":1},{"id":"intercom","name":"Intercom","role":"Support chat","roleId":"role-notify","mentionClass":"actual-use","functions":["notify"],"fill":"external","why":"Application manifest declares intercom-rails.","cost":"unknown","weight":1}],"assumptions":["Parsed slot weight is 1. The source did not state centrality, and this weight is not a Score.","Parsed slot cost is unknown. The source did not state a price."],"gaps":["devDependencies were not slotted."]}}