Baikingu

Cloud-based point of sales system

point of sales
angular
api
php
python
norway
A comprehensive, high-tech retail managment solution for business owners around the world

Challenge

Baikingu is an extremely big and complex project with tons of features. The system had to cover the whole retail process from stocking up, to refunding. The biggest challenge was the dev-ops side of the project. Baikingu works on many EC2 instances in Amazon and we had to learn to create, maintain and monitor it. We went full startup mode for Baikingu and used new tools, understood new markets and even managed customer support for a few months.

Services provided
  • UX/UI Design
  • Architecture Design
  • Web/Desktop Development
  • DevOps Services
  • Project Managment
  • Customer Support
Point of Sales software that gives you everything you need to sell, manage and grow your retail business.
Key functionalities
  • Order management
  • Customer management
  • Employee management
  • Tender - Cash, credit, gift cards, multi-level discounts
  • Cash drawer management
  • Stock management
  • Money transfer audits – incoming, outgoing
  • Banking support and detailed statistics with X, Z reports

Operating markets

How did we start?

Intense meetings, research and user stories that led to a specification with the product roadmap and backlog with functionalities.

Kick-off
  • Tender calculation
  • Banking
  • Current sales
  • Difference calculation
  • Cash drawer integration
  • ...
Payment methods
  • EFT
  • Cash
  • Credit card
  • Gift cards
  • Delivery
  • ...
Product managment
  • SKU management
  • Orders
  • Suppliers
  • .CSV import
  • Product variations
  • ...

Time & material model

It was evident early on that the project success was highly dependent on our teams ability to think outside the box. Time & Material helped assess for the project size and expectations as well as the responsiveness in the maintenance period.

Design consulting

Caring about the client, we prepared a heuristics analysis of the designs prepared by an external team. We managed to fix some of the consistency issues, wording and accessibilty.

Customer support

For setting up new stores and product stabilisation we provided after-hours support with shifts accordingly to the Turkish & African working hours.

Front-end development

Framework
Angular2
Language
Typescript
Library
Lodash
Library
jsbarcode
Library
d3
Reporting
Sentry
Package Manager
npm
Package Manager
Yarn

Front-end solutions

Custom keyboard

We developed an on-screen keyboared from scratch, as certain devices don’t provide one as default

API Adapter

We wrote an API adapter to allow us to work with large sets of data and endpoints

Receipts printing

We ensured integration with printing hardware in order to be able to print paper receipts for store's customers

Front-end unit tests

Before MVP Launch
326
pull requests
367
builds
107
unit tests

Architecture Design

App fully based on routable components and MVC Archtecture. Thanks to the data down, actions up convention, we've managed to avoid problems with databinding

Group 10 Created with Sketch.

Back-end development

We kept it as Agile as possible with code adopting to the improvements, new features and team findings about users. Changes made in one part of the system didn't have to affect its other parts.

Written with:
Python 3.6
Bash

Dev-ops

ElasticBeanstalk and NewRelic were used to analyse the traffic and check the effectiveness of the app. We focused heavily on performance and optimisation - monitoring the service closely on Amazon EC2.

Amazon EC2 Elasticsearch New Relic

Tools we used

Framework
Flask
Migrations
Alembic
Database
PostgreSQL
File Storage
Amazon S3
Deployment
Elastic Beanstalk
Security
Flask-JWT
Reporting
Flask-Weasy
Data Serializing
Marshmallow
Code Management
Atlassian Stack
SQLAlchemy
Flask-Bcrypt
flask-cors
RDS
Docker
Codeship
Pring
openpyxl

Back-end tests

2390
unit tests
95,2%
test coverage
393
pull requests