Vibrant Colour
Improving workflow through an automated pricing and order management system.
The Challenge
Vibrant Colour is a UK-based provider of branded merchandise, helping their business clients create and buy a range of personalised items. As order levels grew, the team found it increasingly time-consuming to manage the processes around quotations, design approval and final pricing, which were all managed manually via email. This impacted on customer experience and speed of service, and posed a significant restriction around business growth.
How we helped
We started by creating a service blueprint for the full order process, considering both customer experience and back-office processes. A number of complex requirements were presented, and our main goal was to automate key tasks that would improve customer experience and save time internally. Our key challenges were to:
Improve the initial customer quotation process based on levels of item personalisation, order volume and account history, through a complex pricing algorithm.
Improve customer experience through the creation of a simple, self-service interface that enabled customers to upload and approve artwork.
Automate business processes from quotation and artwork approval to final costing and order confirmation, via automated notifications and management dashboard.
Thought took the time to understand the complexity and nuance of our business It’s rare to find a consultancy that has the expertise to deliver best-in-class, innovative solutions that are also phenomenal collaborators and problem solvers who can work with you to both formulate and deliver your digital strategy..
Christopher Smith - Creative Consultant
Tech Stack
-
Backend
- Code Quality: Use code analysis tools like SonarQube to identify and fix code smells, technical debt, and security vulnerabilities.
- Security: Implement security measures like data encryption, user authentication, and authorization. Consider using tools like Azure Key Vault to securely store and manage its application's secrets.
- Performance: Optimize its code and database queries for speed and scalability. Use profiling tools like ANTS Performance Profiler to identify and fix performance issues.
- Testing: Implement automated testing for its code to ensure that it meets requirements and performs as expected. Use tools like NUnit or xUnit for unit testing.
-
.NET 6Update to the latest version of .NET 6 to take advantage of the latest features and performance improvements.
-
NHibernate ORM for data accessUse NHibernate best practices for data access, including using the second-level cache, avoiding lazy-loading, and optimizing queries.
-
SQL Server or any other supported database management system (DBMS)Use SQL Server best practices for database management, including indexing, partitioning, and optimization.
-
Frontend
- Code Quality: Use code analysis tools like ESLint to identify and fix code smells, technical debt, and security vulnerabilities.
- Security: Implement security measures like data encryption and user authentication. Consider using tools like Azure Active Directory to manage user authentication and authorization.
- Performance: Optimize its code and assets for speed and scalability. Use tools like Webpack to bundle and optimize assets.
- Testing: Implement automated testing for its code to ensure that it meets requirements and performs as expected. Use tools like Jest or Cypress for end-to-end testing and Enzyme or React Testing Library for unit testing.
-
Razor Pages or MVC for server-side renderingUse best practices for server-side rendering, including caching, partial rendering, and client-side hydration.
-
Parcel for task automation and bundlingUse best practices for task automation and bundling, including minification, tree shaking, and code splitting.
-
SASS for stylingUse best practices for styling, including responsive design, modular architecture, and accessibility.
-
Deployment
- Cloud Platform: Deploy the application to Azure, taking advantage of its robust infrastructure and services like App Service, Azure SQL Database, and Azure Key Vault.
- Continuous Integration and Deployment: Use a CI/CD pipeline like AppVeyor to automate the build, test, and deployment process. This helps ensure that code changes are properly tested and validated before being released to production.
-
AzureUse Azure best practices for cloud infrastructure, including scalability, availability, and security.
-
AppVeyor for automated deploymentsUse Git best practices for version control, including branching, merging, and code review. Use tools like Bitbucket to manage its code repositories and collaborate with other developers.
-
Git
- Version Control: Use Git for version control to manage code changes and branches.
- Branching Model: Use Gitflow for managing branches and releases in Git. This provides a structured approach to managing branches and releases, with two main branches (
master
anddevelop
) and feature, release, and hotfix branches used to manage the development process.