Gems
Dependancies used in the project
- Spree for e-commerce base
- Spree Starter for project template
- Spree Rails Frontend for storefront
- Spree Multi Vendor for Marketplace multiprovider structure
- searchkick for store search bar.
- PostgreSQL for relational database.
- Sidekiq for background jobs.
- Redis for cache and queues managenment.
- Rspec for unit testing.
- Rubocop for code style linting.
- Brakeman for static analyze of security vulnerabilities
- Slim-Lint for linting of Slim templates
- Overcommit for management of Git hooks used in the project
- Tailwind CSS Framework
- ViewComponent for building reusable and encapsulated view components on RoR
- LookBook as a component browser for the developers
Proposed gems
These gems are not yet installed, but they can be useful for developing some features.
OmniAuth
OmniAuth is a flexible authentication system utilizing Rack middleware. Works nicely with Devise, which is an already installed dependacy used for User authentication/model.
Using the OAuth2 Strategy or Keycloak Strategy we could easily integrate the ClaveUnica authentication system onto the platform.
Trix
Trix is a WYSIWYG editor for writing messages, comments, articles, and lists—the simple documents.
Trix could be used as a replacement or betterment to edit product information, landing texts, and other contents presented to the Cenabast users.
Prawn
Prawn is a pure Ruby PDF generation library that provides a lot of great functionality while trying to remain simple and reasonably performant.
Prawn could be useful to generate PDF information of Order Sales, Repors or other store elements.
RestClient
RestClient is a simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
Althrough no gem is required for handling HTTP petitions, using RestClient DSL can help to make more expressive services and easier to understand.
Spree Analytics Trackers
Spree extension that adds support for Google Analytics Enhanced Ecommerce and Segment Ecommerce tracking to Spree Commerce stores.
Would allows us to understand more about user behaviour.
NewRelic
New Relic Ruby agent allows to connect the application to the NewRelic APM platform. Facilitating developers to identify and solve performance issues.
Although some other APM solutions were considered already (sentry, scout_apm), we consider that NewRelic is a powerful solution, albeit is can be a bit more expensive.