Auth ~ 1-2 weeks
- 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
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.
Devise modules integration
- 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_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
- Base chat and relations ~ 1-2 weeks
- Other functionality - ???