Skip to content

This Django User Model is customised user model keeping in mind the practical need (esp. in India)

License

Notifications You must be signed in to change notification settings

101Loop/drf-user

Repository files navigation

Build Status codecov Downloads Downloads Code style: black pre-commit.ci status Documentation Status Documentation Coverage

Django REST Framework - User

One of the winners of PyCharm Project of the Decade Competition


User APP for Django REST Framework with API Views.

DRF User is a Django app that overrides default user app to provide additional attributes and functionalities. The current stable version includes:

  • JWT Support (Using Simple JWT)
  • Mobile Number
  • Single field for full name
  • REST API to register
  • REST API to login
  • MultiModelBackend: User can login using either of mobile, email or username
  • REST API to login with OTP (Same API endpoint as for OTP Verification; Set is_login: true while sending JSON request)
  • OTP Verification for mobile and email
  • API to register / login with OTP (no pre-registration required)
  • API to set user's profile image
  • Mail sending feature upon successful registration
  • SMS sending feature upon successful registration
  • Change Password
  • Update Profile
  • Generic Configuration based on settings.py
  • Signal based mails
  • Mail based activation (optional alternative for OTP based activation)
  • Social Auth Endpoints(Login using fb/google) (WIP)

Documentation


Example


To get the example project running do:

  • Clone this repo
    $ git clone https://github.com/101Loop/drf-user.git
  • Go to example folder in newly created directory drf-user
    $ cd drf-user/example
  • Create and activate virtual environment.
  • Install requirements
    (.venv) $ pip install -r requirements.txt
  • Run testing server:
    (.venv) $ python manage.py runserver

Take a look at http://localhost:8000/swagger. Swagger will list all the APIs of drf-user.

Contributing


  • For help and support please reach out to us on Slack.