Ruby on Rails eCommerce prototype
Budget: €12 – €18 EUR
I'm looking for a Ruby on Rails talented developer to create the skeleton for a Ruby on Rails 7 application that will integrate with Stripe payment service.
This application will provide access to dedicated services using credits the user will obtain with a monthly subscription and / or one-time purchase of products.
We are not aware if part of or all the following functionalities can be implemented using a pre-made solution like Stripe Checkout or similar, but they are all mandatory.
In case you are going to propose a pre-made solution, please provide details on the pricing of the service / tool.
The application should provide the following functionalities:
- basic user registration flow using email, password and name
- oAuth authentication / registration using Google
- Stripe integration for two types of payments:
- monthly subscription plan (will generate temporary credits to your wallet)
- product / bundle one-time purchase (will generate permanent credits to your wallet)
- every user will be granted N permanent credits upon registration
- one time payments will generate permanent credits
- montly subscriptions plans will generate temporary credit pool of N, available until the next subscription billing cycle (a month)
- handle Stripe webhook calls to update user subscription status / credits.
- create a very basic, but functional, implementation of following pages:
- user status page: print out user current subscription status and credits amount; add links to the "subscription flow" or "product checkout flow"
- subscription flow: allow the user to choose a plan from a list (that shows Stripe configured subscription products) to create / update or cancel a subscription
- product checkout flow: a simple page listing Stripe "una-tantum" products and a checkout flow to allow the user buy a product
- both subscription and checkout flows should provide a page with a form to request user data and credit card details to store them for future purchases
- the application should provide a basic functionality to keep track of credits user has and consume while using the application, keeping track on them on database
- the application should verify that user has enough credits to perform an actions, decrement the total on action and, in case credits are not enough, redirect user to the products page to buy a new product (a number of credits)
You can create a fake "credit consumption page" that will require X credits to access and will decrement user credits amount every time you visit it.
NB: there is no need of design for the application, this will be just a prototype. A couple of simple boostrap5 pages will be enough; we are focusing on the functionalities, not on layout.
The project has no strict delivery date but we request you to start working on it within 2 weeks.
The project does not have a fixed delivery date but we ask the candidate for availability to be able to start development within 2 weeks
Please provide a rough estimate for the activity.
Thank you.
PS: a bonus to the proposal will be to ship with the code a test suite for major features using Rspec.
Thank you,
Davide
This application will provide access to dedicated services using credits the user will obtain with a monthly subscription and / or one-time purchase of products.
We are not aware if part of or all the following functionalities can be implemented using a pre-made solution like Stripe Checkout or similar, but they are all mandatory.
In case you are going to propose a pre-made solution, please provide details on the pricing of the service / tool.
The application should provide the following functionalities:
- basic user registration flow using email, password and name
- oAuth authentication / registration using Google
- Stripe integration for two types of payments:
- monthly subscription plan (will generate temporary credits to your wallet)
- product / bundle one-time purchase (will generate permanent credits to your wallet)
- every user will be granted N permanent credits upon registration
- one time payments will generate permanent credits
- montly subscriptions plans will generate temporary credit pool of N, available until the next subscription billing cycle (a month)
- handle Stripe webhook calls to update user subscription status / credits.
- create a very basic, but functional, implementation of following pages:
- user status page: print out user current subscription status and credits amount; add links to the "subscription flow" or "product checkout flow"
- subscription flow: allow the user to choose a plan from a list (that shows Stripe configured subscription products) to create / update or cancel a subscription
- product checkout flow: a simple page listing Stripe "una-tantum" products and a checkout flow to allow the user buy a product
- both subscription and checkout flows should provide a page with a form to request user data and credit card details to store them for future purchases
- the application should provide a basic functionality to keep track of credits user has and consume while using the application, keeping track on them on database
- the application should verify that user has enough credits to perform an actions, decrement the total on action and, in case credits are not enough, redirect user to the products page to buy a new product (a number of credits)
You can create a fake "credit consumption page" that will require X credits to access and will decrement user credits amount every time you visit it.
NB: there is no need of design for the application, this will be just a prototype. A couple of simple boostrap5 pages will be enough; we are focusing on the functionalities, not on layout.
The project has no strict delivery date but we request you to start working on it within 2 weeks.
The project does not have a fixed delivery date but we ask the candidate for availability to be able to start development within 2 weeks
Please provide a rough estimate for the activity.
Thank you.
PS: a bonus to the proposal will be to ship with the code a test suite for major features using Rspec.
Thank you,
Davide