Django DRF Boilerplate

screenshot of Django DRF Boilerplate
django

Django Boilerplate project to kick start any Django or Django REST Framework project with a solid foundation.

Overview:

Django-DRF-Boilerplate is a powerful Django and Django REST Framework boilerplate project that provides a solid foundation for building web applications. It incorporates essential features and best practices of class-based views. The project also includes a minimal front-end implemented in HTML, CSS, and Bootstrap for front-end testing.

Features:

  • Custom User Model: The default user model has been customized to exclude username and enforce email-based authentication. It can be further customized to fit specific needs.

  • Email-Based Authentication: Users can authenticate using their email address. This provides a more user-friendly experience and simplifies the authentication process.

  • Authentication via Social Account: Integration with django-allauth allows users to authenticate using their social accounts, such as Google and GitHub.

  • JWT Authentication: JSON Web Token authentication backend using Simple JWT for the Django REST Framework. This provides secure and stateless authentication.

  • Account Activation: The project includes email-based account activation. Users will receive an email to activate their account after registering.

  • Password Management: Users can reset their password via email. A reset link is sent to the user's email address for password recovery.

  • Change Password using Old Password: Users can change their password by providing their current password. This is a standard feature for user profile management.

  • Profile Section: User profile section is implemented, allowing users to edit their profile information and view other users' profiles using user handles.

  • Connect PostgreSQL: The project uses PostgreSQL as the database management system instead of Django's default SQLite3.

Summary:

Django-DRF-Boilerplate is a comprehensive Django and Django REST Framework boilerplate project that offers essential features and best practices for building web applications. It provides customization options using a custom user model, supports email-based authentication and social account authentication. The project also includes features for account activation, password management, and user profile management. By incorporating PostgreSQL as the database management system, it enhances the overall performance and scalability of the application.

django
Django

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.