Stack
-
CSS
-
Git
-
HTML 5
-
JavaScript
-
Bitrix framework
-
PHP
-
JQuery
-
SQL
About the project and task
Sketchbar is an American online store for art supplies and drawing supplies: markers, liners, brush pens, sketchbooks and sketchers. Sketchbar attracts artists not only with shopping, but also with the presence of a real art community where you can learn and share your work.
The online store got this look after the Webnauts team’s work, namely:
- integration of payment and delivery systems;
- implementation of the system for using promotional codes;
- introduction of accounting programs and automatic calculation of taxes;
- integration with a marketing platform for collaboration with influencers;
- setting up trigger emails, etc.
We developed an online store on Laravel, taking into account the specifics of the American market and current legislation. How exactly, we tell in more detail in the new case.
Interface layout
The front-end part of the online store is made using Twig, a flexible, fast and secure template engine for PHP. In combination with the jQuery JavaScript library, we got a convenient interactive interface with sliders, feedback forms and other elements:
The product catalog page displays 20 compact cards at once, providing the user with a complete overview of the range and experience without unnecessary movements:
When making a product card, we focused on functionality, a compact composition of elements, a comprehensive description (in particular, about promotions and discounts), and page adaptability for various devices:
Site functionality
Laravel is a powerful PHP framework that has gathered a whole department of fans in Webnauts. The development of non-standard and high-load projects with complex functions and service integrations is not complete without this technology.
Our clients who ordered development on Laravel also appreciated the convenience of site management. Laravel Nova's intuitive personalized admin panel makes it easy to edit content and manage online store sales:
System integration
For the full operation of the online store on Laravel, we have implemented several integrations with international and American services. First of all, we started with three main systems: payment, delivery and taxation systems. Without them, any online order in the United States is impossible.
Payment system
The first integration implemented was the Braintree service, which provides secure and fast online payments through several systems: PayPal, Google Pay, Apple Pay, etc. During the integration process, we used a PHP library and a JavaScript module to correctly and reliably transfer payment information.
01
/ 03
Delivery system
Okay, the goods are paid. It's time to implement the delivery feature. To do this, we integrated the online store with the ShipStation system, which allows:
- arrange delivery through popular services DHL, UPS and USPS;
- calculate the exact cost of delivery to different parts of the United States;
- track the location of the parcel;
- print barcodes of mail items, etc.
01
/ 03
ShipStation has a better designed API than other applications (notably the Shipworks service, which didn't pass our test).
Taxation system
The taxation system in the United States involves the presence of Sales Tax — a consumer tax on certain goods in the form of a small percentage. With this in mind, we have integrated the online store with the Avalara tax automation service. This program helps to automatically calculate the tax depending on the type of product and the location of the buyer, because tax rates differ at the state, city, district and even county level.
Order page
The difference between Ukrainian and American taxation systems affects the interface and functionality of the checkout page. We wrote it using the jQuery JavaScript library and AJAX technology. In addition, we have created a small Single-page application (SPA) that interacts with all existing integrations and allows users to conveniently select a delivery service, instantly find out the tax amount and securely pay for the purchase:
Accounting software
When we put the online store on the track, there was the question of accounting for goods and sales. Our client already had experience using the QuickBooks program, and not the web version, but the desktop application. It was not easy, but we integrated the online store with the desktop version of the goods accounting system familiar to the client.
In addition, the service had a rather outdated information exchange technology - SOAP (Simple Object Access Protocol), which uses XML documents and exchanges between the server and client on request. As a result of the integration, we have created such an information exchange system that checks the site every hour for new orders and provides information about all goods in stock. Everything happens automatically or at the request of the user, who at any time can press a button in the QuickBooks application and start synchronization.
Automatic emailing
To track the activities of site visitors and create automatic e-mailing, we have integrated an online store of art supplies with the Klaviyo service. In particular, we set up custom events that not only serve as triggers for auto-sending emails, but also help to better understand the interests of users. So, almost every movement on the site is monitored by Klaviyo: the web application sends information about various events, such as placing an order, visiting certain pages of the site, adding goods to the basket or deleting it, etc.
Implementation of the coupon system
The practice of using promocodes and coupons is an effective way to increase customer loyalty and online store sales.
Implementation of the coupon system
The practice of using promocodes and coupons is an effective way to increase customer loyalty and online store sales.
As with all e-commerce sites, you can apply a Sketchbar coupon at checkout: just enter the code in a separate field and instantly find out the new purchase price.
And now we will tell you how it works from the inside.
You can create a coupon on the site in 3 ways:
- Manually. To do this, we have developed a filter menu with several parameters: the duration of the promotion (start and end date), the number of goods (group or one copy), the number of people who can use the coupon. Discount coupon code in the form of 1 word can only be used once.
- Automatically. We couldn’t do without the beforementioned Klaviyo service. On the website of the online store, we created a rule for automatic code generation with the same filters as in the manual method. As soon as the user fills out the form and creates a request in Klaviyo, the coupon is generated and automatically sent to the specified email. One-time use of the coupon from one account is provided.
- Coupon code in the popup window. A form appears on the website, after filling it, a coupon is generated and automatically sent to the specified e-mail. It can be used immediately in the basket, but it is also one-time and has an expiration date. In the future, according to the received coupon, we plan to send a digital product in the form of a pdf file to the email address. It can be a catalogue, an e-book or a drawing guide.
Integration of a system to control statistics and pay for advertising from bloggers
To promote an online store of art goods, the owner of Sketchbar decided to involve bloggers. To make it easier to monitor ad performance and automate the process of rewarding influencers, we have integrated our online store with our affiliate marketing platform ShareASale. Thus, partners of the online store will automatically receive a commission for referrals — people who came to the site from a blogger using a link generated by the ShareASale service.
First of all, we set up a JavaScript library that, after placing an order, receives a certain data set from PHP and sends it to ShareASale, where purchase statistics are generated based on influencer recommendations. Then we set up the promo codes functionality, according to which each blogger receives their own unique code, which entitles “their” customers to receive a discount on the site.
Of course, there are other ways to get a promocode: newsletter subscription, holiday promotions, registration, etc. To do this, we have set up appropriate unique events on the site, the number of which will only grow in the future. Automatic email distribution is still carried out using the built-in Klaviyo service. So, when a certain event is triggered on the site, we send a Klaviyo event with a code and user data attached to it. Then the site visitor receives by mail a promo code for an instant discount in the online store.
Coupons can be customized by the term and frequency of use, the number of products or the type of discount (in percentage or dollars). In the future, we plan to expand the functionality of this module, which will allow users to receive gifts, free shipping and other goodies.
Summary
Minimalistic and adaptive, with a powerful Laravel stuffing and a lot of integrated services — this is exactly what the American art goods online store turned out to be, which was developed by our company. Fast and secure payment, automatic calculation of shipping and Sales Tax, accounting program, coupon system and affiliate program with bloggers are just some of the implemented functions of the online store. Sketchbar has become a true center of attraction for artists who can learn, communicate and share the work created using the materials purchased from the online store: pens, markers, liners, inks, sketchbooks and other goods.
Content
- About the project
- Layout and navigation
- Cross-browser compatibility
- Adaptability
- Functionality
- Multilingualism
- The result
About the project
Our new client, City Inn Lviv Smart, is a modern hotel with many amenities: free parking, a conference room, a fitness center, and a restaurant. But without a spectacular website. Together with the designers working on the project, we developed a fast, functional website with custom animations and a user-friendly management system.
Layout, navigation, and animation
If you look at the design, you'll see that the site is full of images. But when you use it, you won't notice that it affects the speed. That's because we used the Vue 3 reactive JavaScript framework with a number of additional technologies to develop the interface:
- Vuex — for managing the status of all website components;
- Vue Router — for creating application routes;
- Axios — for asynchronous data requests from the server side of the website;
- SwiperVue — for the implementation of touch sliders on the website:
Preloader
To keep users on devices with slow internet connections informed of the site loading process, we have added a preloader - a progress bar that moves until all content is fully loaded for viewing.
Home page
The first screen
A bright photo cover for the entire screen, logo, burger menu, STA button, language switch, links to the company's services and contacts — all implemented in full accordance with the client's minimalist and stylish design layout.
A little bit of animation from our front-end developer — and the user not only gets a nice picture, but also a pleasant experience when interacting with the site. And we will tell you more about it.
Custom scrollbar
When clicking on the burger menu or scrolling vertically through the site, you will appreciate the smooth scrolling and smooth appearance of the drop-down menu. This effect is made possible by the Smooth Scrollbar JavaScript plugin:
Footer with custom map
The hotel location map was implemented using the Google Maps API in full accordance with the client's design:
https://wnauts.com/wp-content/uploads/2025/09/custom-scrollbar.mp4https://wnauts.com/wp-content/uploads/2025/09/footer-with-custom-map.mp4Additional pages
To transition between pages, we used Vue Router hooks and implemented the appear/disappear effect by wrapping the page elements in the Transition Vue component:
https://wnauts.com/wp-content/uploads/2025/09/additional-pages.-appear-and-disappear-effect.mp4On the Smart Offer page, we implemented sticky 3D rotating cards:
https://wnauts.com/wp-content/uploads/2025/09/3d-rotating-cards.mp4At the client's request, we also added the ability to switch slides by clicking on an image to move it forwards or backwards:
https://wnauts.com/wp-content/uploads/2025/09/switch-slides-by-clicking-on-an-image.mp4Cross-browser compatibility
When developing modern interactive websites, we always take into account their compatibility with different browsers: Google Chrome, Mozilla, Safari, etc.
To ensure that the site is displayed correctly in outdated browsers that do not support the ECMAScript 6+ standard, we have installed the Babel package. This is a technology that automatically converts JavaScript code written in newer versions of ECMAScript into code that old browsers can understand.
For cross-browser compatibility, we also used Autoprefixer, a post-processor for optimal processing of current CSS prefixes. This technology is recommended by Google and used by giants such as Twitter and Alibaba.
Adaptability
The website is perfectly displayed on smartphones, tablets, laptops, and computers. To achieve this result, we had to do our best and solve several non-trivial tasks.
For example, we faced the problem of incorrect display of images in the mobile browser Safari on iPhone iOS 14. Starting from version 14, apple smartphones support the WebP image format, and older versions do not recognize these files as images.
To solve this problem, we added the Detect.js package to the project, which easily detects any browser version. And if it's Safari Mobile 14 or earlier, it will automatically load the site's images in JPG or PNG format.
Typically, mobile animation differs from desktop animation because smartphones don't have a cursor, which means they don't have a hover effect. However, our client did not want to deprive the mobile version of the site of interactivity and set the task to animate all sliders in a non-standard way. Despite the significant differences between the sliders in the mobile and desktop versions, we had to bring the logic of their work into a single look, which was very difficult. But we did it!
https://wnauts.com/wp-content/uploads/2025/09/mobile-animation.mp4Functionality
The abundance of images always affects the page loading speed. We optimized the site from the server side using the modern PHP framework Laravel, which works according to the MVC (Model — View — Controller) scheme. This system divides the site management into 3 main parts:
- The model is responsible for the system's contact with the database and formally describes each entity of the information system. It is the model that provides the controller with the necessary information.
- View is the appearance of a website.
- Controller is a tool that processes user requests and generates the response or action they need. Typically, a controller collects the necessary information using models and then combines the collected data set with a view template. The controller sends this entire design to the user, and the user sees the website page.
Website admin panel
We chose Laravel Nova for the administration panel, which allows you to easily and conveniently manage the site. This module allows you to create handlers for the connection of the admin panel with the models of the information system, i.e. it provides the client with convenient tools for creating, editing and deleting content on the site:
To optimize the performance of the site, it is more appropriate to use the .webp image format. That is why we installed and configured the Nova Media Field module, which converts all images on the site into the required format. Content managers will appreciate it, because this technology makes the process of site management even more convenient and pleasant.
Multilingualism
The administration panel of the site turned out to be not only fast and convenient, but also multilingual. To achieve this, we installed the Nova Translatable package and configured all admin panel fields in several languages. Now you can switch between languages with the help of buttons, so the content manager can fill out the site in Ukrainian and English with just a few clicks:
The result
The story of creating a website for a hotel in Lviv has come to an end. This is not the first experience of website development in the hospitality industry, but no less exciting: with its own challenges and non-standard solutions. In this project, we bypassed the design stage and started implementing an interactive interface and a convenient custom administration panel based on the client's ready-made layouts. As a result, the hotel's website is responsive, multilingual and adaptive, and the mobile version is as good as the desktop version in terms of animation effects.
[post_title] => Website of City Inn Lviv Smart hotel [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => website-of-city-inn-lviv-smart-hotel [to_ping] => [pinged] => [post_modified] => 2025-09-29 18:57:25 [post_modified_gmt] => 2025-09-29 15:57:25 [post_content_filtered] => [post_parent] => 0 [guid] => https://wnauts.com/?post_type=project&p=21125 [menu_order] => 0 [post_type] => project [post_mime_type] => [comment_count] => 0 [filter] => raw ) )Worked on
-
Online Store for Art Supplies on Laravel (USA)
-
Team:
3
-
Cases:
0
-
Reviews:
0
-
-
Website of City Inn Lviv Smart hotel
-
Team:
3
-
Cases:
0
-
Reviews:
0
-