CASE STUDY

TAP app

A cross-platform application for food
and drink orders.

Solution

Consumer Services Solutions

Industry

Restaurants

Outcome

Building an application for online ordering in various restaurants, ready-made solutions, and features created by the company's developers were used. Thanks to the experience and expertise of the team, the finished product quickly passed all the tests on the app markets and was successfully launched.

During the work on the project, several key options were solved:

  • Developed a stable and highly popular cross-platform app
  • Adopted the platform for different restaurant ordering
  • Implemented the most common payment systems.

+97%
Throughput, Users
+49%
Average Order
+52%
Increasing the number of clients
+44%
Increasing Revenue
-31%
Reducing Costs
62%
Business Process Automation

PROJECT DESCRIPTION

Class Technology Solutions Ltd (CTS), a UK leading Education ICT solutions provider with over ten years worth of experience, turned to Computools with an idea of creating a reliable and convenient app for quick restaurant ordering. The main goal was to provide users with a cross-platform application for food and drink orders. However, the CTS' customers are restaurants and cafes, that were added to the ordering platform. After negotiations and intro meeting high-level goals and expectations were identified. Int allows the Computools's engineers more clearly understand the needs and requirements of the client.

The finished app aggregates menus, tables availability, open-close hours and other info of many restaurants (the amount is constantly increasing). A user can make orders both off-site and on-site, as well as track the status of the order, do payments including tips, add order notes etc. The convenience and popularity of the application among users makes it attractive for restaurants and cafes that seek to use all channels to attract visitors and customers.

Lack of time for testing and launching the application

Tight schedule

Lack of website

High demand for such applications

Works with many restaurants, not with only one

Quick decision making on various issues

Communication Framework

Computools
Project Manager
Business Analyst
Business Development Manager
CTS
Managing Director
Head of IT
Communication

One of the important points of work on the project is the creation of a stable and high-speed communication system. This allows you to make decisions quickly and get approval.

At the initial stage Slack was used for interaction. This made it possible to exchange information, conduct video and audio conferences during the discussion of the project.

Business Process Mapping

01
Consult

At the beginning of work on the project, we find out the main goals and needs of the client, as well as the target audience of the finished product. We conduct research and analysis of existing solutions, competitors and choose the best ways to complete tasks. We also analyze possible risks and obstacles, choose solutions for them as well.

02
DESIGN

At this stage, several important processes take place in parallel. One of them is building a specification - an algorithm of actions and key sequences of the project. Another is the creation of an interactive prototype of the application, which will allow to study the functionality, add new options or remove uncomfortable ones. The foundation for UX/UI design is also created at this period.

03
ENGINEER

Having formed a team of specialists necessary to work on the project, we hold an intro meeting and distribute tasks. Depending on the chosen methodology, the process can be divided into stages or run continuously according to the selected schedule. Testing and validation is always a mandatory development step.

Digital Platform & Technology

The stack of necessary technologies is determined by future application functions, necessary capabilities, and tasks. To select the best technologies, programming languages​​, and frameworks, Computools's engineers study ready-made solutions to similar problems and existing technologies.

Computools
Project Manager
Software Engineer
Software Engineer
CTS
Head of IT
Communication
React Native

React Native speeds up the development and saves money. React Native allows to create powerful mobile applications. One of the most convenient option of the React native is the ‘live reload’ feature, enabling you to immediately see the result of the latest change that has been made to the code.

PHP

PHP is a server-side scripting language it creates dynamic pages with customized features. Since PHP does not use a lot of a system's resources in order to run, it operates much faster than other scripting languages. Hosting PHP is also very easy and a lot of hosts provide support for PHP. Also, PHP is extendible. A large number of databases are supported.

System architecture

Specification

Preliminary writing of the specification allows creating an algorithm of mandatory actions and tasks of the project. And also to avoid errors in development. The list of actions is formed in parallel with the interactive prototype and is finalized after the completion of the project.

Goal - order food and drinks.

Precondition See the list of restaurants with ability to filter by distance, opening and name Choose a restaurant and see information about it.

Main Flow See the menu Choose food and drinks that you want to order Look at your tray Select table Pay with Debit \ Credit card or with Google Pay

Postconditions See the list of previous orders.

COMPUTOOLS TEAM

The company always carefully selects team members to work on each specific project. Computools choose specialists, whose experience and skills are best suited to accomplish the task. A strict selection of employees was carried out for this project, taking into account their qualifications and level of expertise. The team included development engineers and managers.

Project Manager
Nikita Abelmasov
Frontend Developers
Eugen Mokhnachev
Business Development Manager
Artem Babura
Business Analyst
Ivan Kachan
Software Engineer
Dmitry Batarin

BACKSTAGE

Maintaining the productivity of the entire team is the core of the successful interaction of all its members. Besides, it stimulates the development of each involved employee and contributes to his professional growth. To do this, we use a variety of methods and tools.

Feedback sessions
An important component of work on a project is getting feedback. This applies not only to interaction with the customer but also between team members. So everyone gets the opportunity to learn about their strengths and weaknesses and become even better as a professional.
Brainstorming
Brainstorming is recognized as one of the most effective ways to find innovative solutions. At such meetings, developers can offer any idea, even the most incredible. In the discussion of ideas, original solutions are created.
Dev Meeting
Developer's meetings help the team interact better and share experience and acquired knowledge. Moreover, this allows identifying errors or bugs in the code that are easily fixed at the development stage.

Internal Communication Flow

The internal communication system on the project consisted of two parts. Skype was used to quickly discuss and resolve urgent issues, and tasks were distributed through Jira. Such an ecosystem helps to track the status of tasks and quickly find solutions to difficulties.

Project Management Methodology

Scrum was chosen as one of the most effective application development methodologies to date. The numerous advantages of this methodology make it effective and convenient. In addition, the use of scrum increases the productivity of the whole team, allows to easily and quickly identify errors in the work, slipping on time and to eliminate them.
Dividing the development process into stages with short periods and daily reports makes the task execution easy and quick. Scrum also managed to prove its efficiency and productivity for performing urgent tasks with short sprints and tight deadlines. It allows not only to accelerate all processes, but also to save the customer’s funds.

PROJECT TIMELINE

1 week
2 weeks
3 months
1
CONSULT
Defining Goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining restrictions and providing solutions for them
  • Identifying the main risks
2
DESIGN
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive Prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
ENGINEER
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Distribution and execution of project tasks
  • Integration of the necessary options
  • Secure system for additional data needed for selling
  • Environment Setting of Client’s Server
  • Migrating Users’ Data To A New Application
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design Development

Design development was carried out according to the established plan and schedule. Basic UX/UI development was done at the prototyping stage. In the future, during the development, the necessary functions and application options were added.

Computools
Project Manager
UI Designer
UX Designer

CODE DEVELOPMENT

Due to the use of the Scrum methodology, the development of the code was carried out continuously, dividing only into short sprints. At the end of each sprint, a mandatory code check was carried out and, if necessary, work to eliminate errors.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/TAP-app

Implementation On Client’s Side

01 Launch

The application was launched according to the agreed plan and the established schedule. Before launch, automatic and manual tests were performed to verify the stability and performance of the application.

02 Transfer

The development was divided into stages, so the transfer was carried out in parts. Due to this, recent changes have already been made to the finished version. After completing troubleshooting of the application, we launched another series of final tests to make sure that everything works correctly.

03 Education

The convenient and intuitive interface of the finished app eliminated the need for education or development of training documentation or videos. However, company’s developers are always ready to help clients and maintain the apps.

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.