Build an E-commerce Store App like Souq.com for Android
Tags: android, java, ecommerce, onlinestore
Published: 2021-03-08 03:03:58

Many developers want to know how to create an e-commerce store app, and so am I. Therefore, I have decided to build an E-commerce Store app that looks like souq.com. When I shared it, so many developers liked it and asked me about it, so I decided to write about it and give you an idea about its features. My app is implemented using **MVVM Architecture**. I have written the Back-end rest API in **MySQL** and **Node.js**.

It is a clone of *Souq.com*, but it is not identical. As you know, to build an app like Souq.com, you need to have a big team to collaborate. However, I have made this app myself, and it includes lots of features that you can implement in your app.

First of all, the user can sign up for getting a new account if he/she does not have one, or log in to their existing accounts. The app enables them to add other products if they have admin accounts. They can browse products and see details about them like product name, picture, image, price, etc.

Besides, the user can search for products using keywords or categories. They can add a product to the shopping cart or remove it. The product can be added to their wish list or removed from it.

The user can review a product, give feedback about it, and check other users’ reviews. They can check all products in their shopping cart or wish list.

The user can sign out or delete his/her account if they wish. For the profile picture, the user can take a picture via camera or upload it from Gallery.

Users can update password and get OTP via email to verify their identity if they forget their password. Moreover, users can change the language of the application if they wish.

There is an ability to share the application with friends and rate it on Google Play store. Furthermore, users get a news feed about new offers. The app also provides support through the help center.

Finally, users can add their shipping address and track the status of their orders.

###Libraries included in Android side:###

(Paging / Glide / Retrofit / Data Binding / Live Data / ViewModel / RecyclerView / CardView / GSON / CircleImageView)

###Libraries included in Server Side:###

(Express/ Multer/ Bcrypt/ JWT/ Body Parser/ Nodemailer)

###Steps to run the application:###

1. Start Server and MySql from Xampp.
2. Import Database from SQL_Database to PhpMyAdmin [How to import](https://help.dreamhost.com/hc/en-us/articles/214395768-phpMyAdmin-How-to-import-or-restore-a-database-or-table).
3. Create three folders inside Souq_Backend to store images.

`mkdir storage_poster`
`mkdir storage_product`
`mkdir storage_user`

4. Click the Souq_Backend folder and run npm install command to install server dependencies.

5. To start the server, run npm start command.

6. Open Android Studio and Run the project.

Hooray, NOW you can use it, and apply any feature you like in your E-commerce Store app.

**Get the app through** [Souq_ShopOnline](https://github.com/Marwa-Eltayeb/Souq_ShopOnline)

**Follow me on:** [GitHub](https://github.com/Marwa-Eltayeb) and [LinkedIn](https://www.linkedin.com/in/marwa-eltayeb/)