Medical Appointment Booking System Mobile application Mobile application

Zayed: C2C Marketplace in Saudi Arabia

Project type

eCommerce, Marketplace

Client name

Abdullah Alroqaiti
Majed Alattar
Nasser Boshlaibi

Location

Saudi Arabia

Project description

Zayed - C2C marketplace available on iOS platform and present in Saudi Arabia for selling, buying, and even donating distinct second-hand goods and items. The Zayed app aims to make these trade exchange operations secure, safe, and simple with a native look and feel for the market in the GCC region.

The clients addressed the MLSDev team with a straightforward business idea supported by well-thought-out market research. The report illustrated the absolute need for a user-friendly marketplace and our common goal was to create a scalable product in line with end-user expectations. The solution is an entirely virtual online marketplace that allows all users (buyers and sellers) to conduct the entire process virtually with a smooth user flow and experience.

Services provided:

Business-analysis

Project-managment

UX/UI design

iOS-development

Web front-end development

Web back-end development

Quality assurance and testing

Technologies & Tools Used

Swift - a general-purpose, multi-paradigm, compiled programming language for iOS app development

Swift

iOS SDK - a software development kit for the development of mobile apps on Apple's iOS and iPadOS operating systems

iOS

Cocoa Touch - application development environment for building software programs to run on iOS devices from Apple Inc.

Cocoa-touch

HTML5 - a markup language used for structuring and presenting content on the World Wide Web

HTML5

CSS3 - Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a markup language (HTML)

CSS

jQuery - is one of the JavaScript libraries used for simplifying the use of this programming language

jQuery

Bootstrap - a free and open-source CSS framework with CSS- and JavaScript-based design templates for typography, forms, and other interface components

Bootstrap

Ruby - a high-level, general-purpose programming language most used for building web applications

Ruby

Ruby-on-Rails - a server-side web application framework written in Ruby providing default structures for databases, web services, and frameworks

Rails

PostgreSQL - a free and open-source relational database management system emphasizing extensibility and SQL compliance

PostgreSQL

Redis - an open-source, in-memory data structure store used as a database, cache, and message broker, and to manage geospatial data in real-time

Redis

Nginx - open-source software for web servers, reverse proxying, caching, load balancing, media streaming, etc.

Nginx

AWS - an on-demand cloud service provider that offers data storage, cloud hosting, computing power, content delivery, and other features to grow businesses

AWS

Docker - a revolutionary toolkit allowing developers to deliver software in packages (containers) through virtualization that creates economies of scale

Docker

Apple push notification - service developed by Apple Inc that enables notifications (badges, sounds, text alerts, etc.) within Apple-based apps

Swift apns

Amazon SES - stands for Simple Email System, allows users to send transactional emails, messages, or other kinds of content to end-users.

Amazon SES

iOS In-App Purchases SDK - service that allows users to make in-app purchases inside web and mobile apps on Apple-based devices

iOS In-App Purchases SDK

Sentry - open-source error tracking that helps developers to monitor and fix crashes in real-time

Sentry

LocaliseBiz - service providing translation management and software localization in creating multi-language apps

LocaliseBiz

Google Map SDK - a set of APIs and SDKs that allows developers to embed Google Maps into mobile and web apps or to retrieve data from Google Maps

Google-maps

Jira - proprietary issue tracking product that allows for bug tracking and agile project management

Jira

GitHub - is a Git repository hosting service for software development and version control

GitHub

GitLab - web-based DevOps lifecycle tool that provides a Git repository manager for wiki, issue-tracking, continuous integration, and deployment

GitLab

Figma - a vector graphics editor and primarily web-based prototyping tool for design creation

Figma

Harvest - a time-tracking app for freelancers that includes invoicing, expensing, and team management features

Harvest

Coggle - a freeware mind-mapping web application. Coggle produces hierarchically structured documents, like a branching tree

Coogle

Instagantt - Gantt charting software that works as an Asana integration app or as a standalone application

Instagantt

Slack - a messaging app for businesses that connects people to the information they need

Slack
Swift
iOS
Cocoa-touch
HTML5
CSS
jQuery
Bootstrap
Ruby
Rails
PostgreSQL
Redis
Nginx
AWS
Docker
Swift apns
Amazon SES
iOS In-App Purchases SDK
Sentry
LocaliseBiz
Google-maps
Jira
GitHub
GitLab
Figma
Harvest
Coogle
Instagantt
Slack

How the Zayed App Works

In general, the user role interacts exclusively with the iOS app, while the admin role interacts solely with the web admin and manages the platform and its content management system (CMS) from the back office.

01

Users can authorize the app via email

02

User opens an app and can check the available items in categories like “New arrivals”, “Free items”, “Recommended items”

03

Users can check out categories, subcategories, and filter all goods by a wide list of categories (e.g., Accessories, Clothes, etc.)

04

Users can search for items by using the search bar

05

Users with a free account have a monthly limit on items they can sell via the platform

06

Users have the opportunity to upgrade their accounts with a paid subscription

07

Users can raise their products to the top of the results with the paid promotion

08

When a user finds a product, they can check its details (there is a map with an approximate location of the seller)

09

Users can open a chat with the seller for detail clarification where you can share text, images, and geolocation

10

Users can form an order and pay for the selected items with cash only, outside of the system, while the seller marks the item as sold

11

Sellers can select a buyer from among all of the users interested in the product and create a separate deal for said buyer

12

Users can leave their feedback with a 5-star format and comment once the transaction has been completed (based on feedback, a seller rating is formed)

The admin panel for the first version was created in a basic and intuitive format for content management and reporting. The admin panel was created with the help of Bootstrap technology, which was used for its UI representation and responsive design.

An administrator can manage users, items, and feedback, check these units for the status, filter them, check out the details, delete, and block.

Mapping of the Requirements Sample of a Basic Admin Panel

Interested in building another successful project in eCommerce?

Let’s create the next big thing in the eCommerce domain together. By uniting your business ideas and knowledge with our technical experience and the latest, mature tech stacks, we can create a solution to conquer the market.

Project Idea

The idea was to create a C2C marketplace that allows everyone to buy, sell, or even donate items or goods in the region of Saudi Arabia.

The project idea came to mind when looking at the surplus of goods available in the average household. Aside from this fact, the market in the region still uses old methods for trade on second-hand goods (e.g., Friday markets, using forums that are very user-unfriendly). Therefore, it is logical that the new form needs to be implemented in an efficient, attractive, and secure online platform.

These are four critical reasons for the project’s validity and business opportunity statement:

Project idea

High need for digital transformation - this is a need in the MENA region due to the outdated way of selling and trading items and on top of the influence of the pandemic in 2020-2021

Project idea

Substantial eCommerce growth - this market is expected to rise exponentially in the MENA region in the next few years

Project idea

Low local competition - current competitors are considered insecure and outdated

Project idea

Lastly, the project sends a message against overproduction and in favor of protecting the environment. Instead of producing new things, the product promotes the idea of utilizing items that are still usable.

Project idea

High need for digital transformation - this is a need in the MENA region due to the outdated way of selling and trading items and on top of the influence of the pandemic in 2020-2021

Project idea

Substantial eCommerce growth - this market is expected to rise exponentially in the MENA region in the next few years

Project idea

Low local competition - current competitors are considered insecure and outdated

Project idea

Lastly, the project sends a message against overproduction and in favor of protecting the environment. Instead of producing new things, the product promotes the idea of utilizing items that are still usable.

Project Goals

It is necessary to note that the client approached MLSDev with the market research already in hand. According to the surveys and market analysis conducted by the clients, the goal was established to test the hypothesis that people would be willing to resell unnecessary items online with the help of an iOS app. The survey also revealed the importance of a crystal clear transaction process.

Survey results Zayed Project Preliminary Research

Initial Communication Process

Step number one was to shape version one to win the market and earn the first bit of revenue. With this necessity in mind, the team addressed MLSDev regarding the iOS app development.

The main reasons the clients had for choosing MLSDev from among other outsourcing software development companies were our previous experience, portfolio, how our team organized the process, our level of involvement in the pre-sale process, and our feedback and technical recommendations.

What were the key factors that helped you choose us?

a. The fact that you are working with Gopuff and have successful projects in your portfolio

b. How organized you were during the initial stages. I mean how you held meetings, were always on time, everything seemed to be very professional.

c. Your blog posts. We found you on the Internet, read your blog posts, then analyzed your portfolio and decided to contact you.

d. We felt comfortable during conversations with you. You don’t treat us as just your source of income (even though it’s business and this is the reality). It felt like a team working together, there was synergy between us.

e. You give us your opinions and don’t just clap for ours. You always give constructive feedback.

f. While in the USA and Europe, we used your apps. I mean Gopuff and McDonald’s apps, maybe something else.

Initial feedback from Abdullah, Majed, and Nasser (Zayed Co-founders)

Initial Client Request

There are three stakeholders in the Zayed project:

Abdullah Alroqaiti

Co-Founder/ Mechanical Engineering, BSc

Nasser Boshlaibi

Co-Founder/ Business Management, MS

Business Analyst (BA)

Co-Founder

It is worth mentioning that clients came to us with a clear idea about the monetization model, conducted market research, and even initial app wireframes. We highly appreciate their efforts and such a professional approach. In addition, there was excellent cooperation with Abdullah, Majed, and Nasser during our preliminary steps and, further, during the whole development process. We are really grateful that we had a chance to create a valuable project hand in hand.

Wire Frame Zayed App: Initial Wireframes

Solution-creation team from MLSDev:

1x
Manager icon

Client relationship manager

1x
Business Analyst icon

Business analyst

1x
Software Architect icon

Software Architect

1x
UX/UI Designer icon

UX/UI designer

It was decided that the first product version would be created on the iOS platform since most target customers use iOS devices. As well, the app would have a native look and feel for the Saudi Arabian market.

Our team finalized the product vision during the solution-creation phase, and conducted a few in-depth workshops and consultations. We provided the following deliverables to support this vision on the Zayed project, which served as a great starting point for the subsequent Discovery phase:

  • Zayed project Mind Map
  • High-level project scope definition
  • Solution overview from the tech stack
  • Potential challenges and risks, and solutions to overcome them
  • Project delivery and design approaches
  • Estimate for Discovery stage
  • Rough estimate for Development stage
  • Project timeline overview
Project mind map Zayed Project Mind Map (sample)
Preparatory stage Zayed Project Deliverables during the Preparatory stage

All these artifacts were included in the proposal and presented to the clients shortly after. To better adapt to the market needs, we created Buyer and Seller personas with in-depth information and behavioral peculiarities. This resulted in a better understanding of the target audience and provided a greater user experience so that the future app would look appealing. In addition, the information served as a basis for the suitable UX/UI design and matched with user expectations.

Seller and Buyer Personas Analysis Seller and Buyer Personas Analysis (sample)

As a result, from the pre-sale retrospective, the clients came prepared to create a great project while our team did everything possible to create a suitable solution, namely:

  • we always kept the clients updated, used a customer-centric approach, and explained every single step
  • we used a new approach to workshops and focused on business opportunities (the clients were great at explaining their idea, market state, tendencies, and we concentrated on transforming this into the technical scope)
  • we collected success criteria, which allowed us to understand and measure the success of a proposed solution
  • we defined user persona, as it was highly useful for the design part
  • usage of a Lean Canvas helped us to better understand the idea
  • we were directed to come up with a solution within the budget (customer-centricity)
  • we looked at the competitive products present on the market and their functionalities, and came up with ideas to outperform competitors
  • communication through the meetings, almost all of which involved direct verbal communication
  • we made sure the clients were involved in the process and always well-informed
  • we created a very custom proposal and explained every step, idea, and approach in greater detail
  • we researched the third-party integrations in advance to remove difficulties and speed up the time spent in the Development stage

How has your experience working with us been so far?

During the last two weeks we have only confirmed our assumptions. We really enjoy working with this team. They hear us, listen, negotiate, share their ideas, and we like what we hear. The team considers everything that we discuss. We like the way we communicate.

What do you value the most?

  • The clarity. The team contributes to our project.
  • They are very punctual and always appear on time. Usually they are there five minutes prior to our meeting. This is something that we love, as it’s very professional.
  • Constant stream of communication on different channels, we are constantly updated. We especially like those quick updates that they give us

Feedback from Abdullah, Majed, and Nasser (Zayed Co-founders) on the initial steps

Want to initiate a similar preparatory stage for your digital idea creation?

Receive a free consultation from our experts from both the business and technical perspectives. Our team is ready to work and elaborate on your project idea, as well as create a clear vision, monetization model, and strategy.

Discovery Stage

How do you rate our services overall, from 1 to 10?

It’s 10.

We enjoyed working with you during the Discovery stage; the team was very professional and was able to complete everything faster than expected. There is a synergy between us. We feel that you care. Of course, it’s your work, but we feel that it matters to you.

Feedback from Abdullah, Majed, and Nasser (Zayed Co-founders) after Discovery stage

MLSDev team during Discovery stage:

1x
Project Manager icon

Project Manager

1x
Business Analyst icon

Business analyst

1x
Software Architect
            icon

Software Architect

1x
UX/UI Designer icon

UX/UI designer

1x
QA engineer icon

QA engineer

The Discovery stage in the Zayed project lasted around one month, where regular meetings with the clients (Abdullah, Majed, and Nasser) were held. After that, our designer demonstrated the app screens based on the functionality created by our business analyst, who explained all the transitions and flow among app screens.

All of the edits and comments from the clients were taken into account. The project manager guided the whole project and also created a working space for the Zayed project in the Confluence tool

Zayed Project Space in Confluence Zayed Project Space in Confluence (screenshot)

Functional Specifications & Product Backlog Creation

During the Discovery phase, the functional specifications document served as the basis for the whole future project flow. In this phase, our business analysts worked through the app features and wrote the documentation, which specified everything in greater detail.

Screenshot of Functional Specification Screenshot of Functional Specification

UX/UI Design Creation

Our UX/UI designer created a user-centered design layout, navigation, and interface that was adapted to the target audience and to local user behavior on the Saudi Arabia market.

UX/UI Design of Zayed Created UX/UI Design of Zayed app in Figma

Architecture Planning & Creation

During the Discovery stage, our software architect planned the project’s architecture. The project architecture was planned based on a standard monolith structure, where each layer is responsible for separate actions.

The architecture uses the views defined in the "4+1" model representing use-case/ scenarios view, logical view, development view, process, and physical views:

Model View on Architecture "4+1" Model View on Architecture

The decision was made to stick with the basic architecture so that it serves a good basis for the starting project, saves money, and releases version one to the market quickly. In terms of future scalability, the project was planned to utilize Docker technology that allows for the separation of different architecture modules like, for example, databases and the addition of more powers. In this case, it is possible to increase the power exactly where the system needs an increase.

Suitable solution architecture is identified and designed with an idea of future scalability. The project architecture is planned so that any additional modules could be integrated with minimum effort.

Container Diagram View on Zayed Project Container Diagram View on Zayed Project

Test Plan Creation

According to functionality specifications, designs, and proposed architecture, a test plan was created by our QA engineer. The QA engineer participated in collecting the project requirements and performed the following important activities:

  • Requirement analysis
  • Conducting and analyzing a test strategy
  • Test planning
  • Estimation activities
Test Plan Document Planned Test Activities on Servers (from Zayed Test Plan Document)

Development Stage

How would you rate our service so far?

That's 10 out of 10 this month. The team did a splendid job.

We are just happy. I don't know any other words to describe the feeling. They (the team) are very responsive to us and always explain things in an easier manner; they always provide their feedback on our ideas and explain what should work best.

Intermediate feedback from Abdullah, Majed, and Nasser (Zayed Co-founders) on the Development stage

MLSDev team during Development stage:

1x
Project Manager icon

Project Manager

1x
Business analyst icon

Business analyst

1x
Software architect/
            Back-end developer icon

Software architect/ Back-end developer

1x
iOS developer icon

iOS developer

1x
UX/UI designer icon

UX/UI designer

1x
QA engineer icon

QA engineer

The Development phase of the Zayed project lasted around half a year. The Development stage utilized agile methodology, Scrum, and the process was divided into two-week sprints. During this period, the team had regular meetings and syncs with the clients.

Communication that is always seamless. If any issue arises, they inform us right away, even when it’s late in the evening. Details that we get from the team, they are very responsive.

Feedback from Abdullah, Majed, and Nasser (Zayed Co-founders) after Development stage

The Development phase of the Zayed project lasted around half a year. The Development stage utilized agile methodology, Scrum, and the process was divided into two-week sprints. During this period, the team had regular meetings and syncs with the clients.

Discovery & Early Planning
Development
Stabilization
UAT
Launch
Zayed Project Development Approach Zayed Project Development Approach

The first project demo included the work of 4 sprints and Abdullah, Majed, and Nasser were given an environment in which they could check and click, as well as follow the checklist also provided by the team.

During the development phase, the PM played a vital role in organizing the process. The PM guided the development team, planned the next sprint with the developers, and communicated with the clients. On a regular basis, the PM sent the clients reports listing the project timelines, budget aspects, etc.

During the development phase, we strictly follow industry-standard engineering practices, including but not limited to:

  • Test-Driven Development
  • Code Review
  • Refactoring
  • Continuous Integration
  • Coding Standards
  • Version Control

In addition, we keep source code in a privately hosted secured repository powered by GitLab: https://git.mlsdev.com

All in all, the development phase was completed very smoothly and with almost no changes. This result, in many respects, is due to our clients, who trusted us, our opinion, and expertise, and did not interfere during the development process. Our work with the clients and their attitude and approach was ideal in all possible ways.

We must admit that such an attitude and mutual trust is the cornerstone to any project that intends to reach an expected outcome. This is precisely how successful projects are created without missed deadlines and wasted budgets - when the client trusts the team and understands that any changes often entail an unpredictable increase in terms of money and time.

Challenges & Solutions during Project Implementation

During the Zayed development phase, our team met a few challenges but successfully overcame them. You can check out the process and how our team came up with the correct solutions.

Integrations with payment system

One of the main challenges was choosing a payment platform that would fully satisfy the project needs for providing secure payments in the Saudi Arabia territory.

There were a few payment systems that could work and cover Zayed’s project needs. At first, our team looked at a few options for online payments that seemed to be the best match for the project’s needs. Ultimately, it was decided to add the Apple payment gateway service to ensure that the Zayed application would not deal with hidden risks in terms of functionality in case of other services and would not be rejected from the App Store.

Subscription functionality

The subscription functionality was the most complex in the project development process. Since its documentation was written by Apple representatives and is very generic, our developers needed to try a few ways and test multiple hypotheses to encode this functionality correctly into the system.

App localization in Saudi Arabia

Since the product targeted the Saudi Arabia market, the core challenge was to match the market specifics inside the app, including the Arabic language, currency, content, and other UI elements.

Language

We applied UI mirroring for RTL languages in our iOS development process, where the app adapts to the Arabic language with correct orientation and representation.

The iOS platform has a native feature that supports RTL interfaces. Despite the fact that the system supports RTL well, some parts of the app had to be made from scratch by our iOS developer. As well, the issue consisted in a difference in length of Arabic and English words. Thus, it was necessary to test and adjust the font size for some smaller iOS devices.

In order to make our work efficient, the Localize service was used for translating the English language into Arabic.

Currency

It was necessary to include the local currency for users in Saudi Arabia, Saudi riyal (SAR). For the possibility to add other currencies and roll out the system to other markets in the GCC region, we utilized the RubyMoney library.

Containerization & Full-stack Admin Panel

Our team used Docker technology to optimize the app’s development flow. To match the budget constraints, our senior back-end developer created the admin panel in full-stack using CSS and JavaScript. The admin panel included only the core functionality and mobile responsiveness.

Final Result: Zayed App Release

Our experience working with you has been perfect from day one. The team has gone above and beyond our expectations. Everything has been covered, even the questions we didn't think about on our own. But they discovered those, brought them to our minds, and came up with solutions.

We have not had a single flaw or imperfection. No surprises arose along the way. Neither financial nor related to the team work. You guys have been a perfect fit for us and our project.

Final feedback from Abdullah, Majed, and Nasser (Zayed Co-founders)

The final result of our cooperation with Abdullah, Majed, and Nasser was the successful release of the Zayed app on the App Store. There was excellent cooperation between the clients and the MLSDev team from day one, which resulted in a trustworthy relationship. There was a lot of confidence in how we did everything; the clients did not add changes except with the rarest exceptions.

The clients initially had a good understanding of what they wanted to implement. This allowed us to save a considerable amount of time on discussing, communicating, and finalizing among all the project stakeholders and system redevelopment.

In general, the app was released according to the set budget from the estimate that was set prior to the Development stage. As well, the post-discovery project estimate resembles the estimate given during the presale phase. In addition, the application included more features than initially planned, especially for the admin panel.

Furthermore, the product is expected to enlarge its functionality, grow its popularity, and expand in the KSA region and other MENA countries. The next phase is to launch an Android version to reach a wider audience.

Take a photo of your stuff, post it and sell it in no time.

Zayed is a peer-to-peer platform that allows its users to promote and sell their items to interested parties within the Kingdom of Saudi Arabia. The users can start posting their items after creating an account and are able to post up to 6 images to showcase their items.

App store
Photo of phone

Looking for a team for your next development project?

Get in touch with our team to match the goals and requirements of your business with the most suitable technical implementation. Having successfully launched 200+ projects over the past 11 years, our top experts will provide you with a detailed solution and plan of action to cover specific business needs.