Calm Mantra

A fashion marketplace with a massive social element

Project Summary



Calm Mantra is a unique mobile fashion marketplace combining the best elements of ecommerce platforms and social networks. The application provides sufficient tooling for managing goods and purchases in vendor profiles.

With Calm Mantra men and women can discover and buy new looks to drive in more style to their lives. Users are also able follow the vendors they enjoy buying from and learn about the updates along with new products. Moreover, Calm Mantra provides secure selling and purchasing processes, so that users could focus on the fashion shopping and be sure they get the products they need to express themselves.

Industry

E-Commerce

Services

Software Development, Quality Assurance, Business Analysis, Project Management

Technologies

Php, mariaDB




Technologies




iOS


  • Swift
  • Draw.io
  • Core Data
  • FastEasyMapping
  • Alamofire
  • SanpKit
  • KeychainAccess
  • Xcode Bots
  • Crashlytics

Android


  • Kotlin
  • Retrofit
  • Crashlytics
  • RxJava2
  • Paginate
  • FlexboxLayout

Backend


  • PHP 7.0
  • Laravel
  • MariaDB
  • MongoDB
  • Redis
  • Eloquent
  • ORM
  • Laravel-Push-Notification
  • Laravel-snappy
  • Amazon S3
  • PHPUnit
  • Laravel queues



About the client

Fashion designers and bloggers often use Instagram and Facebook for promotion and sales. But social media apps still provide insufficient functionality for managing goods and purchases in vendor profiles. This is why Piyush Gupta decided to build a mobile fashion marketplace to combine the best elements of ecommerce platforms and social networks. Our task was to help Piyush bring his idea to life, developing a mobile app for iOS and Android with compelling UI and UX design.

Image

Challenges to overcome

  • Reduce the amount of spam from vendors

  • Set up a convenient payment system that would suit both the iOS and Android versions of the app

  • Build a flexible app architecture to maintain a huge amount of functionality


CHALLENGE

Reduce the amount of spam from vendors


Image






Solution

To reduce the amount of spam from vendors, we decided to create cells in the feed. We called these cells booths. Each user has their own booth that contains multiple photos, each featuring a separate look. Those photos can be swiped through instead of appearing one by one in a user’s feed. This makes the feed look neat, saving users from spammers who post looks hourly.





CHALLENGE

Set up a convenient payment system that would suit both the iOS and Android versions of the app


Image




Solution

To implement purchasing functionality, we chose the CCAvenue Payment system that enables payment management and safe purchasing. We also added a second payment method via the their delivery system which enabled COD. Just like for the delivery system, we created a mechanism for payment data processing that helps to define the optimal payment method.





CHALLENGE

Build a flexible app architecture to maintain a huge amount of functionality




Solution

We divided the app into logical flows. This way we could construct a big application from smaller flows with the ability to freely reuse, include, exclude, and change the order of flows in the application. We called these logical flows modules.

A module is responsible for routing and can handle a flow’s common logic. Each module contains a list of screens (or a single screen). A module creates, removes, configures, and orders screens. A module can also create, remove, and present other modules. This means that the architecture has a tree- based structure, which simplifies understanding and orientation throughout the application.

For screens and views in modules, we used the Model–View–ViewModel (MVVM) architectural pattern, which helped us reuse the same views and screens with different content and logic.

Here you can see a diagram of Screen architecture (MVVM):



Image





Got a project in mind?



There’s no better place to build a solution for your business than MintoSoft.
Drop us a line to find out what our team can do for you.



Contact us