mochi alternatives and similar shards
Based on the "Framework Components" category.
Alternatively, view mochi alternatives based on common mentions on social networks and blogs.
-
motion.cr
Motion is a framework for building reactive, real-time frontend UI components in your Amber application using pure Crystal that are reusable, testable & encapsulated.
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of mochi or a related project?
README
Mochi
Mochi is a authentication shard inspired by devise. Mochi is designed for the Amber framework with support for both Granite & Jennifer ORM's.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
mochi:
github: andrewc910/mochi
version: ~> 0.3.1
Run
shards install
Please checkout mochi-cli for automatic installation of modules: mochi-cli
Documentation
API Docs
About Mochi
Note: Only the class 'User' is supported.
Currently, Mochi has 7 modules:
- Authenticable
- Basic authentication. Sign up, sign in, sign out.
- Mandatory columns:
email
: String - User's sign up emailpassword_digest
: String? - User's password stored as a bcrypt digest
- Basic authentication. Sign up, sign in, sign out.
Note: Mochi also puts 'password' and 'new_password' in as attributes, however we don't want these saved in plain text so do NOT add them as columns.
-
- Users are required to confirm their email prior to activation. Mochi generates a UUID for each user and sends an email. This UUID is for user activation and verification
- Mandatory columns:
confirmation_token
: String - Token used for email activation & verificationconfirmed
: Bool - True if user account is activatedconfirmed_at
: Timestamp? - Time user confirmed accountconfirmation_sent_at
: Timestamp? - Time confirmation email sentunconfirmed_email
: String? - An email address copied from the email attr after confirmation.
-
- Users can sign up with google, facebook, github, twitter or vk. (Google is still WIP)
- Mandatory columns:
uid
: String? - Identifaction number used for sign-in verification (These user's do not have apassword_digest
oremail
)
-
- Tracks user's sign in count, ip addresses and sign in time
- Mandatory columns:
sign_in_count
: Integer - Total amount of times a user has successfully signed incurrent_sign_in_ip
: String? - The most recent IP address used to sign inlast_sign_in_ip
: String? - The second most recent IP address used to sign incurrent_sign_in_at
: Timestamp? - The time a user last signed in atlast_sign_in_at
: Timestamp? - The second most recent time a user signed in
-
- Allows users to reset password via email link
- Mandatory columns:
reset_password_sent_at
: Timestamp? - Time password reset email was sent atreset_password_token
: String? - UUID token for verificationpassword_reset_in_progress
: Bool - returns true when a password reset was initialized but not confirmed & completed.
-
- User's have X number of times to log in before account is locked & email verification occurs
- Mandatory columns:
locked_at
: Timestamp? - Time account was locked atunlock_token
: String? - UUID token for verificationfailed_attempts
: Integer - Number of attempts currently failed since last sign in
-
- User's can invite other users. Inviter inputs email, email sent out, invitee inputs password, account is confirmed if confirmable is active.
- Mandatory columns:
invitation_accepted_at
: Timestamp? - Time invitee accepted inviteinvitation_created_at
: Timestamp? - Time inviter created inviteinvitation_token
: String? - UUID verification tokeninvited_by
: Integer? - Inviter user idinvitation_sent_at
: Timestamp? - Time invite email was sent (same asinvitiation_created_at
)
Contributing
- Fork it (https://github.com/andrewc910/mochi/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- andrewc910 - creator and maintainer