CodeIgnitor4 app with Stripe pay-per-seat subscription billing

Job ID: 32302959

Budget: £250 – £750 GBP

I would like a web app created using CodeIgnitor 4. There is no need for any structure or styling, just the core functionality (I.E. just the HTML views on unstyled pages, the database schema and the backend workflow in PHP). This app will be hosted on a LAMP stack server.

The app will be used to sell meals to customers on a subscription model. For example, the customer might choose 3 beef (£2 each), 2 lamb (£3 each), and 6 chicken meals (£2 each), and will be charged for these items every 2 weeks.

The customer will need to be able to modify their orders and cancel their subscriptions. Following a cancellation, they should be able to easily renew their subscriptions. All of this is built-in to Stripe's pay-per-seat subscription model.

Required functionality:
- .env file to contain all keys and app settings (such as SMTP)
- User registration and login form with validation and success/error handling
- Auth integrations to allow for quick user registration/login using Facebook/Twitter/Google etc
- Forgot password form (with email functionality, no need for email design, just send the unique link for now)
- Create the Stripe user at the time of the app user registration workflow, link Stripe user to local app user account in DB.
- Products will be sold using Stripe's pay-per-seat subscription model (https://github.com/stripe-samples/subscription-use-cases/tree/master/per-seat-subscriptions). There will be a single 'shopping' page with 3 products ("Lamb", "Chicken", and "Beef"). The customer can choose any number of these products, setup a subscription, and will therefore be charged for the selected quantities every 2 weeks).
- Webhook handlers will need to be created for Stripe events, such as examples are provided by Stripe.

This app needs to be reliable and production-ready (functionality-wise), but it does not need to be 'amazing'. No cleverness is needed, just a raw, functional, unstyled app with white structureless pages and ugly forms.
Related categories: PHP JavaScript Codeigniter MySQL Stripe