{"id":14972734,"url":"https://github.com/101loop/drf-user","last_synced_at":"2025-04-08T11:14:43.174Z","repository":{"id":38325400,"uuid":"96204455","full_name":"101Loop/drf-user","owner":"101Loop","description":"This Django User Model is customised user model keeping in mind the practical need (esp. in India)","archived":false,"fork":false,"pushed_at":"2025-03-31T19:11:38.000Z","size":456,"stargazers_count":156,"open_issues_count":12,"forks_count":69,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-08T11:14:38.251Z","etag":null,"topics":["django","django-admin","django-api","django-application","django-apps","django-rest","django-rest-framework","django-user","django-user-management","django2","hacktoberfest","otp","otp-verification","python","registration-system","rest-api","signup-flow","user-management"],"latest_commit_sha":null,"homepage":"https://drf-user.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/101Loop.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-04T10:07:18.000Z","updated_at":"2024-11-24T06:41:29.000Z","dependencies_parsed_at":"2024-01-08T20:45:00.006Z","dependency_job_id":"f2c64120-031f-4c44-a95d-8d47ea77d98d","html_url":"https://github.com/101Loop/drf-user","commit_stats":{"total_commits":166,"total_committers":17,"mean_commits":9.764705882352942,"dds":0.7228915662650602,"last_synced_commit":"057d647756b5ec71abb0cf07f776aa9e96702d91"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/101Loop%2Fdrf-user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/101Loop%2Fdrf-user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/101Loop%2Fdrf-user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/101Loop%2Fdrf-user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/101Loop","download_url":"https://codeload.github.com/101Loop/drf-user/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829512,"owners_count":21002997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-admin","django-api","django-application","django-apps","django-rest","django-rest-framework","django-user","django-user-management","django2","hacktoberfest","otp","otp-verification","python","registration-system","rest-api","signup-flow","user-management"],"created_at":"2024-09-24T13:47:26.933Z","updated_at":"2025-04-08T11:14:43.154Z","avatar_url":"https://github.com/101Loop.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Status](https://github.com/101loop/drf-user/workflows/CI/badge.svg)\n[![codecov](https://codecov.io/gh/101Loop/drf-user/branch/master/graph/badge.svg)](https://codecov.io/gh/101Loop/drf-user)\n[![Downloads](https://static.pepy.tech/personalized-badge/drf-user?period=total\u0026units=international_system\u0026left_color=black\u0026right_color=blue\u0026left_text=Total%20Downloads)](https://pepy.tech/project/drf-user)\n[![Downloads](https://static.pepy.tech/personalized-badge/drf-user?period=month\u0026units=international_system\u0026left_color=black\u0026right_color=blue\u0026left_text=Downloads/Month)](https://pepy.tech/project/drf-user)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/101Loop/drf-user/master.svg)](https://results.pre-commit.ci/latest/github/101Loop/drf-user/master)\n[![Documentation Status](https://readthedocs.org/projects/drf-user/badge/?version=latest)](https://drf-user.readthedocs.io/en/latest/?badge=latest)\n[![Documentation Coverage](https://drf-user.readthedocs.io/en/latest/_static/interrogate_badge.svg)](https://github.com/101loop/drf-user)\n\n# Django REST Framework - User\n\n\u003e One of the winners of [PyCharm Project of the Decade Competition](https://www.jetbrains.com/lp/pycharm-10-years/)\n\n\n---\n**User APP for Django REST Framework with API Views.**\u003cbr\u003e\n\n`DRF User` is a Django app that overrides default user app to provide additional attributes and functionalities. The\ncurrent stable version includes:\n\n- JWT Support (Using [Simple JWT](https://django-rest-framework-simplejwt.readthedocs.io/))\n- Mobile Number\n- Single field for full name\n- REST API to register\n- REST API to login\n- MultiModelBackend: User can login using either of mobile, email or username\n- REST API to login with OTP (Same API endpoint as for OTP Verification; Set\n  `is_login: true` while sending JSON request)\n- OTP Verification for mobile and email\n- API to register / login with OTP (no pre-registration required)\n- API to set user's profile image\n- Mail sending feature upon successful registration\n- SMS sending feature upon successful registration\n- Change Password\n- Update Profile\n- Generic Configuration based on settings.py\n- Signal based mails\n- Mail based activation (optional alternative for OTP based activation)\n- Social Auth Endpoints(Login using fb/google) (WIP)\n\n# Documentation\n\n---\n\n- For more information on installation and configuration see the documentation at: https://drf-user.readthedocs.io/\n\n# Example\n\n---\n\nTo get the example project running do:\n\n- Clone this repo\n    ```shell\n    $ git clone https://github.com/101Loop/drf-user.git\n    ```\n- Go to `example` folder in newly created directory `drf-user`\n    ```shell\n    $ cd drf-user/example\n    ```\n- Create and activate virtual environment.\n- Install requirements\n    ```shell\n    (.venv) $ pip install -r requirements.txt\n    ```\n- Run testing server:\n    ```shell\n    (.venv) $ python manage.py runserver\n    ```\n\nTake a look at `http://localhost:8000/swagger`. Swagger will list all the APIs of drf-user.\n\n# Contributing\n\n---\n\n- Please file bugs and send pull requests to the\n  [GitHub Repository](https://github.com/101loop/drf-user) and\n  [Issue Tracker](https://github.com/101loop/drf-user/issues). See\n  [CONTRIBUTING.md](https://github.com/101Loop/drf-user/blob/master/CONTRIBUTING.md)\n  for details.\n\n* For help and support please reach out to us on\n  [Slack](https://101loop.slack.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F101loop%2Fdrf-user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F101loop%2Fdrf-user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F101loop%2Fdrf-user/lists"}