Hello! This article presents the latest updates of Flask Datta Able PRO, a premium seed project built on top of a modern Bootstrap 5 design from CodedThemes. The starter now provides OAuth via Twitter and Github, API, improved authentication flow, extended profile for users, and optimized Docker scripts.
Thanks for reading!
- 👉 Datta Able PRO Flask - product page
- 👉 Datta Able PRO Flask - video presentation
- Release info: v1.0.13 / 2022-07-20
✨ Improved Authentication
- ✅ Password strength checker (on registration page)
- ✅ Automatic users suspension on consecutive failed logins
In this version, the registration form has been improved to suggest to the user the password strength, a hide/unhide password control plus a copy password control for the password confirmation field.
Another useful feature is the automatic user suspension on consecutive failed logins, using a limit saved in the configuration.
✨ OAuth via
The social login is optional and the app enables the authentication buttons on the Sign IN page if detects the OAuth secrets in the
.env file. For instance, if the end project requires only the Github social login, this requires only adding in the
.env Github OAuth credentials (ID, and SECRET):
# Sample .env (truncated content)
# SOCIAL AUTH Github
GITHUB_ID=<YOUR_GH_ID> <-- new lines
GITHUB_SECRET=<YOUR_GH_SECRET> <-- new lines
Once the application is restarted, the Github login button should be visible on the page:
For Twitter, the set up is identical and both providers can be used at the same time.
✨ Admin ROLE
This privileged user, created using the CLI, is able to manage all app users, edit their information, and suspend or unsuspend using a simple and intuitive UI. Admins are able to do the following:
- ✅ View all registered users, search and paginate the view
- ✅ Edit existing user's information
- ✅ Suspend/unsuspend
- ✅ Delete users (action requires confirmation)
The users list view is restricted to admins, the ordinary users (created via the registration page) are able to edit only their own profile.
✨ Extended users profile
In this version, the profile page has been redesigned to provide two more features:
- ✅ Change Password Component
- ✅ Self-account deletion (with confirmation)
On top of this, the existing profile page is now cleaner and more intuitive.
Another requested feature is the password reset component, accessible on the same page.
Self Deletion Component - action requires confirmation
✨API via Flask-RestX
This module provides an API over two correlated models (products, sales) defined in the
apps/models file. This new service, secured using a TOKEN generated during the registration process, can be used using the native Swagger UI shipped with the product or using any 3rd party tool like POSTMAN.
✨ Persistent Dark-Mode (UI/UX)
In this version of the product, the Dark/Light mode remains persistent to the user session (state is saved using the browser's local storage).
✨Improved Docker Scripts
The product, once downloaded, can be started using a single command (make sure you are at the root of the project), without any other edits or configurations. By default, the
SQLite persistence is used, but the transition to MySql is quite simple.
$ docker-compose up --build
Once the above command is executed, the app should be available in the browser.
Thanks for reading! As usual, a new release comes with a discount applicable to all licenses, available for a limited number of licenses.
datta20off - the coupon to be used during check out for 20%Off