Project is a support tool for communication between technician in the dealerships service and a customer to help exchange of information about the car service process and expenses. App is oriented towards providing an exhaustive information about condition of the car, service operations, parts, etc. in order to present customers an offer of service and allow them to choose between the options suggested by technicians.
Stack:
- ruby 2.5.8
- rails 5.2.4.4
- node.js 10.13.0
- PostgreSQL + Redis
- React.js + small parts in Angular
App consisting of:
- 4 versions of JSON REST API written using different approches
- bunch of integrations with external services
- web interface for several user roles
- periodical reports generators and statistics
- payment with stripe as well as using internal dedicated microservice (quik_pay)
- CD on CircleCI using docker-compose
- workers communicating with FE using websockets (Pusher)
- twillio, onesignal, intercom, sendgrid
- communication with internal microservice quik_motor
- circa 50 models orbiting around master model `Job` - a car service request prepared in the process to be delivered to technicians and disscussed over with customers
- lots of services calling other services, scheduling sidekiq jobs
- several features that are switchable for target dealership as well as customizable in scope of environment using FlipFlop flags
- video storage and exchange using AWS S3
- bunch of notifications held by the system
The ability to work in your own hours.
Team size: 7 person (Fron-end, backend +QA + PM)
Deployed in USA (4 instances = 2 web and 2 workers) and Europe (2 web/workers instances)