When a customer pays for my product using Stripe, Square, Shopify, or some similar service, I need to automatically provision a droplet at Digital Ocean, deploy an application in a docker image, generate SSL keys, secure the web server, and email the customer with their login information.
Solution must include two-factor authentication using Google Authenticator, SMS, or a comparable service.
I am open to suggestions regarding the service providers used, though I lean towards Stripe for payments.
The user comes to a sales page, where they complete the purchase. The subscription API needs to accept input for either monthly or annual subscription, subscription price, user identification, username, and strong password. Two-factor authentication must be set up. The username should also be used as the subdomain for the Droplet. Subscription prices are provided by an API or configuration, so that I have the ability run promotions and easily change the price.
This is a monthly or annual subscription, so the user would need a secure page to manage their subscription (basically, the ability to cancel). And there needs to be a way to handle webhooks from the payment processor when the subscription payment is made or fails. When a subscription payment fails, the Droplet should be deprovisioned to terminate any further charges from Digital Ocean.
If subscription payments are not automatically made by the payment gateway, then this solution needs to initiate those periodic subscription payments.
All credentials should be environment variables, none in code, and no sharing of accounts between you and me. Details of the droplet configuration (CPUs, RAM, region, etc.) should be in an external config file for easy maintenance.
This should be a standalone application written with MEAN, LAMP, or some similar stack. I am open to suggestion.
The basic flow is this: A customer makes a purchase, subscribing via a payment processor, and their information is written to the database. A Droplet is created, assigned a subdomain via an API (Namecheap perhaps?), SSL certs are generated and deployed (letsencrypt or similar), a Docker image is deployed to the Droplet, a non-root user is created to run the Docker-based application (Python 3.7), the firewall is opened for the application, and the application is started. The Droplet is configured to start the application on reboot. Should be Ubuntu 18.04, 18.10, or 19.04. Customer and I are both emailed when the Droplet is up and running.
Note that your work will not necessarily run at Digital Ocean. Perhaps HostGator. Perhaps Linode. Could be Digital Ocean.
Note that you will not have access to my server. I would like this solution delivered as source code that I can deploy myself. (I am an experienced software engineer.)
이 프로젝트의 입찰 현황은 다음과 같습니다. 입찰자: 34명, 평균 입찰가: $1108
Nice to meet you Full Stack Expert development team is ready to serve you. We are working on hourly rate 40usd / hour. Please check my profile and message me for more details. Thanks
Hello, I can help you to develop the system where you can deploy a droplet in digitalocean after a subscription/payment is done through your system. Let me know when we can discuss. Thanks