In February we worked on:

  • General Ledger – a new general ledger feature; gift card and credit note improvements
  • Webhooks – We created a CRUD (Create, Read, Update, Delete) interface for managing webhook statuses using Vue
  • Website – Pre-Order functionality added to group websites
  • Self Onboarding – More improvements to to improve user experience
  • Housekeeping – Rails 6 & 6.1, Vue3 Upgrade (& Ruby) – continuing upgrades, Ledger, Website SEO and Gems

New Features

  • Promotions
    • Loyalty Dollars
      • We progressed in developing our new feature by creating loyalty amounts to align with loyalty promotions, enhancing the functionality of loyalty programs. #186927753
      • We progressed in developing our new feature by updating the promotions page to allow users to identify the promotion type easily, enhancing usability. #186871392
      • We progressed in developing our new feature by adjusting the cart to support loyalty promotions, ensuring seamless integration with loyalty programs. #186803073
      • We updated the Site Promotion APIs related to promotions and loyalty dollars, allowing the client side to perform a request through the API to update an existing loyalty promotion. #186803064
  • General Ledger
    • We progressed in our new feature in development, improving our general ledger by adding quantity to transaction codes, and providing more comprehensive financial data and analysis. #186957047
    • We progressed in our new feature in development, developing an API endpoint for returning ledger transactions, facilitating seamless integration with other systems and enabling easier access to financial data for analysis and reporting. #186532928
    • We progressed in developing our new feature, creating Core::SearchCommand and applying it to the ledger_charts API Index endpoint, allowing category filtering and enhancing search capabilities in General Ledger. #186638940
    • We continued development on the General Ledger feature by implementing functionality to manage deposit transactions effectively. #186857713
    • We completed the implementation of deposit transaction handling as part of the General Ledger feature. #186857711
    • We progressed in the new feature development, initiating improvements in the General Ledger system by handling deposit transactions in a phased approach, ensuring accurate and systematic handling of financial transactions. #186377886
    • We progressed in the new feature development expanding the functionality in the General Ledger API by adding the ability to update nested attributes, providing more flexibility in managing ledger data. #186739556
  • Webhooks
    • Part II –  We created a CRUD (Create, Read, Update, Delete) interface for managing webhook statuses using Vue. The benefit is providing a user-friendly interface for managing webhook statuses, improving usability and efficiency. #187023117
    • Webhooks Part II > Vue – As part of Webhooks – Part II, we progressed in our new feature in development, creating a CRUD interface for Webhooks – View Webhook Triggers in Vue, enabling efficient management of Webhook triggers. #186958600
      • VUE
        • We progressed in the development of Webhooks functionality by creating a CRUD interface in Vue, facilitating the management of Webhooks and enhancing the overall system’s communication capabilities. #186841949
  • Xero Inquiry Form
    • We progressed in our new feature in development, creating a Xero inquiry form resource and a command to create it, streamlining the process for users to submit inquiries and for administrators to manage them efficiently. #186923887
  • Deals API
    • We created API endpoints for spreadsheet deals in the Deals API, facilitating seamless integration and data exchange with spreadsheet-based deals. #186848999, #186909829
  • Pre-Order
    • The “Pre Order” feature is almost ready to roll out. Please let support know if you wish to be added to the feature flag and be the first one to try the new feature.

Improvements

  • Website
    • Pre-Order
      • We introduced a pre-order functionality to our group websites, allowing customers to reserve upcoming titles in advance, enhancing the user experience and boosting pre-release sales. #186991555
  • Self-onboarding
    • To enhance the self-onboarding management page, we made the default tab/page to load “In-progress,” improving user guidance and experience during onboarding management. #186895101
    • We contributed to the self-onboarding process by using an API for Google Predictions, enhancing the platform’s capabilities in utilising predictive addresses to assign a shop during the onboarding process. #186835395
    • Business Registration
      • We streamlined the Onboarding Business Registration process by including a store address field and using Google Lookup to improve data accuracy. #186187756
  • Customers
    • Customer List
      • We improved the customer list functionality to ensure that downloading a customer list only retrieves data for the respective store, enhancing user data privacy and efficiency. #186767254
  • Promotions
    • Index
      • We applied a display grid on promotions content items to ensure data alignment in the promotions index, improving the visual presentation and user experience. #186963787
    • Loyalty Dollars
      • We modified the create promotions modal to select promotion type and discount as a percent or fixed amount, providing more flexibility and options for creating promotions. #186872394
  • Fixed price
    • Deals API] This task involves creating API endpoints to manage spreadsheet deals, specifically for creating and retrieving deals. We enhanced the functionality of the Deals API, allowing users to manage deals through API requests. #186978738
  • Settings
    • Gift Card
      • We improved and clarified alert messages in the Gift Card settings, ensuring users receive clear guidance and preventing errors before they occur. #186918290
  • Administration
    • Feature Flag
      • We added a feature flag to control the visibility of the “Loyalty Promotion” feature, enabling better management during development. #186909681
  • Deals API
    • We created an API to import CSV deal files, streamlining deal imports via the Deals API. #186848694
  • Webhooks
    • We implemented the DELETE Webhook Action in the Server API to better manage webhooks in Backoffice Settings. #186900469
    • Part II – We created a CRUD interface for Webhooks Delete, facilitating the management of Webhooks. #186887117
  • Site Contacts
    • We improved the address-saving functionality in Site Contacts settings, automatically populating the country field after choosing an address provided by Google during onboarding. #186841222
  • Database Optimisation
    • We have set up a monthly job (cron) to automatically delete older site product imports. This job removes database records that are too old, reducing database storage costs while improving system efficiency and storage management. #185373976

Housekeeping & Upgrades

  • Housekeeping & Tidy Up
    • Rails 6
      • During the Rails 6 housekeeping, we moved clockwork to alpha6, ensuring compatibility and optimisation for the latest Rails version. #186725092
      • We performed housekeeping to prepare for Rails 6, including production-related enhancements to maintain an up-to-date development environment. #186832224
    • Rails 6.1
      • Fixing tests related to updating prefixes for CircleGiftCards in the context of an upgrade to Rails 6.1. The benefit of this improvement is ensuring that CircleGiftCards function correctly within the updated Rails framework. #187052197
      • We fixed a deprecation warning related to template handlers in Rails 6.1, ensuring smooth operation. #186690000
      • We corrected issues related to deprecated rendering files, ensuring smooth operation with the latest Rails version (6.1). #186896355
      • We addressed a deprecation warning in Rails 6.1 regarding class-level methods, ensuring compatibility with the latest version. #186681474
    • Vue 3 Cypress Integration
      • Gift Card Settings
        • We integrated Vue 3 with Cypress for Gift Card Settings, ensuring smooth and efficient testing and maintenance of gift card-related features. #186607891
    • Vue 3 Upgrade
      • In our Vue 3 upgrade, we made Vue 3 the default option when redirecting to a back-office interface with a Vue layout, leveraging the latest features and improvements of Vue.js for our administrative tasks. #186919417
      • We refactored the Redeem Gift Card store during the Vue 3 Upgrade housekeeping, ensuring smoother performance and easier gift card redemption functionality maintenance. #186995652
      • We enhanced the process of fetching gift card settings to make it faster and more efficient. #186883836
      • We streamlined the generation process for batch cards, enhancing organisation and usability. #186883876
      • We optimised the dialogues related to bin settings for better user experience and performance. #186859779
    • Upgrade
      • Vue 3 & Ruby 3.0
        • Continuing work on updating to the next version of our software framework. #186982059, #186981325
        • Continuing work on updating to the next version of our software framework. #186895826, #186876586, #186998318
        • Continuing work on updating to the next version of our software framework. #186797670, #186917878
        • We addressed deprecation warnings related to keyword parameter usage in the Concerns: Uniqueable module to maintain compatibility with Ruby 3.0. #186710388
        • Continuing work on updating to the next version of our software framework. #186834259, #186822712
    • Ruby 3.2
      • We updated tinymce-rails to fix the File.exists? deprecation in our Ruby 3.2 project, ensuring smoother functionality for text editing in our application. #186878152
      • We updated the mysql2 gem in our Ruby 3.2 project to address a warning regarding the deprecation of rb_tainted_str_new_cstr, ensuring compatibility and stability with the upcoming Ruby 3.2 release and preventing potential issues or errors #186681559
      • We corrected specifications to ensure compatibility with Ruby 3.0 in both rspec-feature-b and service groups. #186834279
    • Website
      • SEO
        • To enhance SEO, we added “Publisher” in the default HTML of our website, improving the visibility and accessibility of publisher information for search engines. #186513284
    • Gems
      • To address deprecations, we replaced Country#name and updated the country_select gem in our project, ensuring compatibility and stability with the latest standards. #186688780
      • We removed the unused paper_trail gem, streamlining the codebase and reducing unnecessary dependencies. #186981967
    • Ledger
      • We progressed in developing our new feature, improving error handling by raising a custom error with a better description when attempting to build a Coding with zero cents in the Ledger. #186356894
        • Ledger Improvement
          • We improved the ledger system’s error handling by raising a custom error with a better description when transaction codings’ amounts don’t add up to zero, thus enhancing system transparency. #186813214
        • Github Actions
          • We optimised resource usage by utilising spot nodes for GitHub Actions, improving efficiency and cost-effectiveness. #186646488

        See www.twitter.com/circlesupport for all changes including bug fixes.


        Some of the things we are currently working on:

        • Rails 6 Upgrade
        • Stripe Integration
        • General Ledger
        • Bug Fixes