Back to all cases

Sudz

Service:
Mobile App
Industry:
Mobile development
Time-frame:
6 months
Team size:
3 developers

Technologies used

  • Objective-C
  • Cocoa​ Touch
  • CoreLocation
  • MapKit
  • Python
  • Django
  • MapKit
  • Celery
  • PostgreSQL
  • Nginx

This car wash app allows users to find an available car wash service, to book a certain time and day, to calculate the price of the service, to rate the quality of the service, and to contact the consultants in real time chat. You can find and download Sudz app on the App Store.

clutter project

Requirements

  • Refactor existing source code, bring it to the modern code style standards.
  • Rework and extend the pricing page to allow users to fill in their personal info and credit card data.
  • Create admin user interface for managing customers, staff and storage.
  • Create a system for calculating the available storage space, the optimal distribution strategy and staff schedules.
  • Create a system for calculating the available storage space, the optimal distribution strategy and staff schedules.
  • Extend Stripe API.

Challenges

Presumably, there could be two problems with the payment system when the service is not provided: If a car owner books the service but doesn't come If a car owner books the service and comes, but the wash service is closed In these cases, it’s important to identify who should get the money. We've solved these problems in advance. They are solved with a PayPal system. All the money is stored in the PayPal service before each side doesn't determine which side was wrong and confirms it. After that, the PayPal system pays for the service to one of them. Therefore, in cases when a car owner books the service but doesn't come, a client gets 70% of the payment and the company gets 30%. In cases when a car owner books the service and comes, but the wash service is closed, the client gets a full refund.

Technologies

An app was written using Objective-C language and Cocoa Touch framework. We used CoreLocation and MapKit framework for geolocation features. The back-end of the Sudz App was built using:

  • Python language and Django framework;
  • Celery (http://celeryproject.org/) for asynchronous tasks;
  • VVSYMQ used a PostgreSQL database and served the application via Nginx and uWSGI.

Replication capabilities in PostgreSQL and Nginx allow VVSYMQ to add server instances with ease and provide for easy backups The application sits behind a Nginx instance, which acts as an uWSGI proxy. The uWSGI daemon takes requests from Nginx and passes those on to an available uWSGI worker, which houses a running copy of the application. Nginx is configured to handle the static files directly.

Development

We used Javascript, Angular js., HTML, CSS to create a front-end for the registration system in order to allow users easily provide their contact and payment information and store it in the database. Also, this module was utilized by staff to inform users about special promotions, available discounts and other marketing activities. We assisted with creating user pages (account, credit card, inventory), user’s admin panel interface and statistics dashboard, information about user’s invoices, online operations with stored items. Our team was engaged in creating the interface for scheduling the delivery system and workers availability (depending on the plan, worker’s role and location). Also we used Google Map API to create interface for looking up the information about the warehouses locations, their measurements and space availability. Our team worked with Stripe API to add possibility of charge and refund, implement an interface for managing customers payments and their states, and for syncing the database and creating customers cards, invoices and subscriptions.