XenShop : Mobile Engineer Trial Assessment with flutter

Related tags

Example Apps xenShop
Overview

XenShop

XenShop : Mobile Engineer Trial Assessment

Features

Products Features

Feature Implementation Description
Splash Screen Displays Xendit logo before opening home screen
Home Screen Displays home page after splash
Category Listing Display list of categories in thumbnails and banner
Product Listing Display list of products as per categories
Product Details Display individual product details
Add to cart Add a list of product to cart
Cart Listing Display list of product in cart
Checkout Display success acknowledgement

XenShop

XenShop is one of online store that exists in Indonesia. To improve the growth for the business, the manager of the store plans to build a mobile application where customers can purchase the products online. The goal of XenShop is to assess mobile engineer's proficiency in software engineering that is related to the daily work that we do at Xendit. The purpose of this repository is for submitting the trial demo to Xendit for internal assessment.

API Documentation

XenShop has been developed using the apis from FakeStoreApi. You can view the api documentaiton from here

Design

XenShop is just a demo/trial for internal assessment, hence all the designs are taken from the internet. If you wish to see the images used in the project feel free to navigate to the assets folder. There is a preview of designs in all the sections below.

Version

XenShop is developed on the below version details.

Framework Version Channel
Flutter 2.0.3 Stable
Dart 2.12.2

Development

XenShop is a simple e-commerce domain application developed for internal assessment. Below are the details of each feature described in detail along with apis and preview.

Splash Screen

Splash screen is the initial route of the application which is displayed for 3 seconds every time the user launches the application.

Preview

Home Screen

Home screen is launched immediately after the splash screen. Home screen resembles as the base of the application. All the routes and navigation start and end at home screen. From home screen user can navigate to products listing and cart. Home screen displays the list of categories in thumbnails in the horizontal list and category banners in the vertical list. Assets with the name of category are used to display images.

Preview

Category Listing

Categories are displayed on home screen in thumbnails(horizontal) and banners(vertical).

Api Used

https://fakestoreapi.com/products/categories

Response

[
    "electronics",
    "jewelery",
    "men's clothing",
    "women's clothing"
    ]

Products Listing

Products are displayed in a vertical list view. The products are fetched on the basis of their categories. The products contains basic information about the product like title, description, image, price, rating etc.

Api Used

https://fakestoreapi.com/products/category/${categoryName}

Response

[
    {
        id:5,
        title:'...',
        price:'...',
        category:'jewelery',
        description:'...',
        image:'...'
    }
    /*...*/
    {
        id:8,
        title:'...',
        price:'...',
        category:'jewelery',
        description:'...',
        image:'...'
    }
]

Preview

Product Details

Product Details are displayed on the basis of the product information received in the above api. The params that are displayed are shown below.

Params Displayed

{
    id:8,
    title:'...',
    price:'...',
    category:'jewelery',
    description:'...',
    image:'...'
}

Preview

Cart Listing

Cart is displayed in a vertical list view. Product items displayed in the product listing is very much similar in here. The only difference being is that the rating bar is replaced with the quantity selection in cart list. The products array in the response consists of an array of objects containing productId and quantity.

Api Used

https://fakestoreapi.com/carts/${userId} (Consider userId : 1 for now)

Response

{
    id:5,
    userId:1,
    date:...,
    products:[...]
}

Preview

Add to Cart

Add to cart functionality allows users to add their items to cart and proceed to checkout. The items are posted in an api in a json map. The map consists of product id and product quantity in an array. Along with this userId, date etc are params posted in the map. It also displays a summary of prices which is static for now.

Api Used

https://fakestoreapi.com/carts/

Request - POST

{
    userId:5,
    date:2020-02-03,
    products:[{productId:5,quantity:1},{productId:1,quantity:5}]
}

Response

{
    id:21
    userId:5,
    date:2020-02-03,
    products:[{productId:5,quantity:1},{productId:1,quantity:5}]
}

Preview

Checkout Page

Checkout page is completely static. It depends on the success response of the above api. On receiving successful response from above api, app is navigated to this page. It show user acknowledgement that his transaction was successful and allows him option to continue shopping.

Preview

Notes

In FakeStoreApi, on a post request it will return you an object with a new id. The point to remember that nothing in real will insert into the database. so if you want to access the new id you will get a 404 error.

Important:

This repository is only for internal assessment of mobile engineers for Xendit. Please do not misuse it.

Author:

If you like this tutorial please don't forget to add a Star. Also follow to get informed for upcoming tutorials.

You might also like...

Basic calculator mobile app with flutter

Basic calculator mobile app with flutter

Basic calculator mobile app with flutter

Sep 28, 2021

A platform adaptive Flutter app for desktop, mobile and web.

A platform adaptive Flutter app for desktop, mobile and web.

Flutter Folio A demo app showcasing how Flutter can deliver a great multi-platform experience, targeting iOS, Android, MacOS, Windows, Linux, and web.

Dec 28, 2022

Flutter mobile and Web UI

Facebook UI A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Nov 4, 2021

Mobile Quran app with flutter

quran_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Nov 18, 2021

A cryptocurrency mobile app made using Flutter.

cryptohub A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Nov 8, 2021

Aris twittermobile - Twitter mobile clone with Flutter

Aris twittermobile - Twitter mobile clone with Flutter

twitterclone Twitter mobile clone a Flutter . Getting Started Look : youtube/har

Jan 9, 2022

A mobile POS app written with Flutter, compatible Sunmi device

A mobile POS app written with Flutter, compatible Sunmi device

Simple-POS ❤️ ❤️ Online Demo ❤️ ❤️ A mobile POS written in Flutter, suitable for small cafe/restaurant, fully offline.

Jan 5, 2023

Flutter-based mobile app displaying a list of daily curated content from top engineering blogs and articles. Backed by a GraphQL-based API written in Kotlin..

Flutter-based mobile app displaying a list of daily curated content from top engineering blogs and articles. Backed by a GraphQL-based API written in Kotlin..

Flutter-based mobile app displaying a list of daily curated content from top engineering blogs and articles. Backed by a GraphQL-based API written in Kotlin..

Dec 14, 2022

🏃Lossy is a mobile application built using flutter framework and firebase for android.

🏃Lossy is a mobile application built using flutter framework and firebase for android.

Lossy The Weight and Fitness Tracker App. Lossy is a mobile application built using flutter framework and firebase for android. Track your daily weigh

Nov 26, 2022
Owner
Amit Mishra
Team Lead | Flutter | Android | iOS @ Neosoft Technologies. Enthusiastic | Smart | Dedicated
Amit Mishra
🚀 This is mobile application using Flutter for develop a pizza store

Flutter Pizza Hut ?? Description: ?? This is mobile application using Flutter for develop a pizza store ?? Factory Method Create Enum product_type.dar

Dao Hong Vinh 26 Dec 9, 2022
A tourism mobile app using flutter

Palghar Tourism project_description Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About The Project Built With Getting

Sahil Kargutkar 8 Dec 9, 2022
🚀 This is mobile application using Flutter for develop Tiktok

Flutter Tiktok Clone Description: ?? This is mobile application using Flutter for develop Tiktok How I can run it? ?? Clone this repo ?? Run below cod

Dao Hong Vinh 12 Feb 8, 2022
This is mobile application fortune telling using Flutter for development.

Flutter Tarot Card Description: This is mobile application fortune telling using Flutter for development. How I can run it? ?? Clone this repository ?

Dao Hong Vinh 17 Sep 25, 2022
This is the semester 6 Mobile App Development Course project. So maybe the final project may not make sense ;) but it is a good place to start learning Flutter.

?? Overview MAD-Sem6 is a Mobile Development Course Project that contains Basic ➡️ Medium implementation of different widgets. As a whole it doesn't m

Muhammad Tayyab Asghar 3 Aug 9, 2021
This is project using flutter and firebase for develop a mobile application about online school

This is project using flutter and firebase for develop a mobile application about online school

Hackathon 4 May 17, 2021
Flutter quiz mobile app

game A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Mobile & Backend developer 3 May 18, 2021
Flutter ThingsBoard PE Mobile Application

Flutter ThingsBoard PE Mobile Application Getting Started This project is a starting point for a ThingsBoard PE Mobile application. A few resources to

ThingsBoard - Open-source IoT Platform 65 Dec 8, 2022
Aplicação mobile com Flutter produzida durante o Next Level Week #05

✨ Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: Flutter Dart ?? Projeto O devquiz é um jogo de perguntas para avaliar os seu

Rocketseat Education 47 Nov 12, 2022
Mobile and Desktop whatsapp clone with Flutter UI tool kit

Mobile and Desktop whatsapp clone with Flutter UI tool kit

Travis Okonicha 10 Oct 25, 2022