- Base logic ~ 1 week
- Controllers/Views/Mailers ~ 1 week
Guardian - Last commit was 10 days ago. Should work.
It has full list of required hooks including revoke
and refresh
methods.
Also we can build 2 auth systems.
- Cookie based for Web
- JWT based for API.
User will store JWT token in Session and/or Cookie. Also I’ve worked with it and I have a tutorial with explanation how to work with it. https://gist.github.com/nikneroz/2363815cf6d66a8d78ed79a4d6a75203
Uberauth - Last commit was 1 year ago. Should work.
Looks like we don’t have another choice. We’ll try to use it. If it don’t work, we’ll fork and fix it or write logic in app without it.
- uberauth_facebook - Last commit was 1 year ago. Should work.
- linkedin - Missing!
- uberauth_google - Last commit was 1 year ago. Should work.
- uberauth_twitter - Last commit was 1 year ago. Should work.
- database_authenticatable - No problem.
- registerable - No problem.
- recoverable - No problem.
- rememberable - No problem. Guardian supports this.
- trackable - No problem. IP address(last/current), Login timestamps(last/current) and Sign in counter.
- validatable - No problem. Standard changeset validations.
- confirmable - No problem.
- omniauthable - Uberauth + Support libs.
- masqueradable - Looks like it's simple functionality. We need to add two routes(login_as, logout_as), check if user admin and add one more user resource to server session.
- Stripe base logic ~ 3-6 weeks
- Stripe controllers and views ~ 1-2 weeks
Stripe for Elixir - Current working version 2018-02-28
. Under active development. Last commit was yesterday.
At this moment hireclub_web
is using stripe-rails(1.2.0)
and stripe_event(1.7.0)
. Last working stripe
version is for 2017 year. So stripity_stripe
should cover all required functionality. We just need to implement all actions from app/actions/stripe_action
and add webhooks routes.
Profile settings:
Subscription:
- subscribe
- unsubscribe
Cards:
- view all cards
- add card
- remove card
Payments:
- view all payments
app/services/stripe_service.rb
app/models/payment.rb
app/models/customer.rb
app/models/invoice.rb
app/models/referral_reward.rb
app/models/appointment.rb
app/models/order.rb
app/models/payout.rb
app/models/card.rb
app/models/bank_account.rb
app/models/provider.rb
app/models/subscription.rb
app/models/plan.rb
customer.subscription.created
customer.subscription.deleted
customer.subscription.updated
charge.succeeded
customer.source.created
customer.source.updated
account.updated
account.external_account.created
invoice.created
invoice.updated
invoice.payment_succeeded
customer.created
customer.updated
- Base chat and relations ~ 1-2 weeks
- Other functionality - ???
appointment.rb
appointment_category.rb
appointment_log.rb
appointment_message.rb
appointment_review.rb
appointment_type.rb
appointment_type_provider.rb