Popularity
4.6
Growing
Activity
0.0
Stable
23
2
0
Programming language: Crystal
License: MIT License
Tags:
Framework Components
Latest version: v0.3.1
mochi alternatives and similar shards
Based on the "Framework Components" category.
Alternatively, view mochi alternatives based on common mentions on social networks and blogs.
-
shrine.cr
File Attachment toolkit for Crystal applications. Heavily inspired by Shrine for Ruby. -
Exception Page
An exceptional exception page for Crystal web libraries and frameworks -
praetorian
A minimalist Crystal authorization system inspired by https://github.com/varvet/pundit. -
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. -
kemal-auth-token
Kemal middleware to authentication via HTTP header token using JWT -
device_detector
Crystal shard for device detection by User-Agent string -
Athena Event Dispatcher
A Mediator and Observer pattern event library -
mime-types.cr
MIME Types for Crystal :: A port of the Ruby MIME::Types library -
request_id
Middleware for generates / pick up a unique request ID for Crystal servers. -
Athena Negotiation
Framework agnostic content negotiation library
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Promo
scoutapm.com
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