Project Outline
PharmacieBastard is a French pharmacy specializing in veterinary since 1979. This pharmacy offers over-the-counter medicines, cosmetics, nutrition, and dietetic products, veterinary equipment, hygiene products, etc. The pharmacy owners decided to explore e-commerce options and chose Quintagroup to be their partner.
Following the client’s guidelines, our team had to develop sophisticated e-commerce solutions for a variety of online shops - CamelPharm, BoviPharm, VetPharm, and Pharmacie Bastard - featuring:
- Multi-tenancy - all online products have to be managed via one back-office.
- Product data has to be imported from several sources.
- Payment options: PayPal, Paybox, credit card, bank transfer, etc.
- Advanced searching and filtering capabilities.
- Customized health management app.
Quintagroup Solution
A well-organized development process allowed us to deliver the solution step by step. Our first contribution to this project was an attractive and functional design. In order to satisfy all client’s demands after detailed investigation and architecture planning, we decided to use Django Oscar. This open-source e-commerce solution is simple yet flexible, feature-rich and easy to customize. Security of Python and Django-based technology, extensible core and well-designed set of models assist with implementing an e-commerce project tailored for this particular client.
Multi-tenancy
According to the technical specifications our client wanted to have several websites managed by one back-office. On the basis of Django Oscar, we developed a multi-tenant solution. Back-office allows managing products, stock, prices, sales, suppliers, customers, etc. for several websites - all in one place. An administrator can control the content of all online stores without unnecessary repetition, assign different prices for the same product in different e-shops, manage stock and supply records. Customers can use one user account for all websites with separated baskets and wish lists.
Offline order
One of the main project requirements was the development of the “offline order” app, that allows the admin pharmacist to create order from the Dashboard. Offline order still requires internet access but can be conducted without the direct involvement of a customer. This functionality was implemented to be applied in the offline pharmacy, specifically when customers send their requests via phone, email, or fax. Also, an offline order feature can be used when a customer orders products at the pharmacy but there is a time difference between the order itself, payment and delivery. Offline order steps replicate the online checkout process, specifying channel via which order had been received.
ElasticSearch
For the online stores, we implemented wide searching capabilities, including intuitive live search with results separated by products/categories/laboratories, customizable type, and category-specific filters. Oscar ships with pretty good ElasticSearch support, so Elastic handler was used as a basic search engine. The search system was designed for maximum performance, preventing unnecessary calls to the production database.
Health management app
In order to stand out among other similar online pharmacies, PharmacieBastard additionally offers an Animal health management center. It allows keeping track of animal health-related data, like animal profiles (with a birth date, ids, weight, symptom and disease history), information on veterinarians, prescription records, drug dispensings, etc. The health management app shares data between multiple websites so that the user can arrange and store all information in one place.
PayPal and Paybox payment systems
Among the payment options, there are PayPal and Paybox. Oscar comes with a package for integration of both PayPal Express and PayPal Payflow Pro. If the customer wants to use PayPal account for the purchase, they will be redirected to PayPal’s website to confirm shipping address and payment. Then the customer is redirected back to the online shop to confirm the order. Shipping addresses are stored automatically and can be used later.
Paybox was used as a technical solution to power e-transactions with a bank of the client’s choice. Paybox is a multi-bank and multi-channel payment service provider present on the e-commerce market since 1991. This platform offers a true virtual electronic payment terminal aimed at accepting online payments. Paybox headquarters is situated in France and is a totally “multi-bank” solution there, but this platform works across over 40 European countries and offers cooperation with a great number of European acquirers.
Paybox offers a rich set of features including complex processing on e-commerce sites, anti-fraud tools, back-office, and additional payment methods. This payment platform holds accreditation and certification from Visa, MasterCard, and GIE Cartes Bancaires, as well as from non-bank issuers and acquirers.
Prisync integration
Our team developed back-office with extended functionality. Particularly, we integrated a tool for competitor price tracking - Prisync. This service offers easy-to-understand dashboards, reports, e-mail alerts, and comprehensive API with all Prisync data. Since the client wanted to track and compare competitor’s prices, we developed a working Prisync API wrapper for fetching different product price data on various domains and displaying this data in the back-office.
PharmacieBastard web store features
Other client’s requirements include:
- Bilingual website;
- Registration via social media platforms (Linkedin, Google+, Twitter, Facebook);
- Advanced product filter;
- Customized automatic emails;
- Product comparison tool;
- Advanced product management (product can be displayed on one, several or all web stores with the same or different price and even with store-specific sales or promo offers);
- Sale and taxes customization;
- Price management (different product prices for different web stores);
- Custom price quote mechanism;
- Custom delivery price calculation mechanism;
- “Put on credit” payment method;
- Q&A section with comments and ratings;
- Several import scripts for different input data sources (CSV and Excel files with product-related information);
- Address autocompletion;
- Currency change instrument;
- Integrated Google translate tool;
- Watermarks for images uploaded to the website.
PharmacieBastard’s tech stack
The list of the main frameworks and libraries used for this project:
- Django - main web framework written in Python
- Django-Oscar - open source e-commerce store
- Elasticsearch - data search system
- Kibana - data visualization plugin
- PostgreSQL - relational database
- Celery - task manager
- Chausette - WSGI server
- Circus - socket and process manager
- Imagekit - image processing library
- Django-mailchimp - Mailchimp mailing list system integration
- OscarPayPal - PayPal Express integration with Oscar
- Paybox - cross-channel payment platform for bank card operations
- django-social-share - social media sharing library
- django-taggit - reusable Django library for working with tags
- Django Rest Framework - REST API development framework
- Geopy - IP-based location tracking library
- Ansible - application deployment instrument
- Buildbot - CI/CD tool
- Grunt - CSS file compilation library;
- LESS - CSS pre-processor;
- Webpack - JS files compilation and building instrument;
- React - front-end library for interactive page development;
- Googlemaps - Google Maps integration
- Pytest - a convenient framework for functional testing.
- Python Social Auth - a library that enables login via the social media platforms
- Qrcode - QR-code generation library
- Redis - caching instrument
- Tawk - free live chat app
Successful outcome
Using Django Oscar as an e-commerce framework for this project proved to be the right choice. It revealed itself as a reliable and customizable tool for complex business needs of CamelPharm, BoviPharm, VetPharm, and Pharmacie Bastard. In close collaboration with the client, we were able to outline the project development plan and its most important features. The implemented solution delivered maximum business value and covered all client’s objectives: website architecture is intuitive and logical, store management is seamless and user-friendly.
Pharmacie Bastard
The online store offers human and veterinary pharmaceutical products online for low prices as well as professional consultation.
VetPharm
This e-commerce shop specializes in veterinary drugs, food, and nutrition supplements.
BoviPharm
This store 's supply includes medicine, food and nutrition supplements for your cattle.
CamelPharm
CamelPharm specializes in veterinary care for professionals and individuals and offers veterinary products for camels.
Want to develop an e-commerce solution?
Quintagroup is a seasoned provider of web solutions and can give expert advice to assist your business or organization online. Contact us today to learn more.