Sign Up/Login system for a Multi Tenant Django CRM Website
Budget: £750 – £1,500 GBP
The app must be written in the latest version of Django with a PostgreSQL back end. The app must be international and responsive.
The app must have multi-tenant architecture using a PostgreSQL schema for each tenant with a public schema for shared data. Django-tenants can be used for multi tenancy or, another solution that achieves these objectives.
The users email is their username. The email entered needs to be verified via a verification process i.e., an email is sent to them with a link they must click on. Users can choose to enable Multi Factor Authentication in addition to password. This should be done preferably using an authenticator app. Users who haven't implemented MFA should be prompted to change their passwords after a defined period. Forgotten passwords can be reset using an email link sent to the user's email.
Each tenant will have a primary user who will sign up with options for a time limited trial, number of users and number of tenants. They must create at least one tenant and this will create a corresponding schema. They can also create users within that tenant up to the number of users they have paid for. Initially there will be three user types. Primary User, Admin User and Standard User. There can only be one Primary User but, that user is able to designate another user as primary. The primary user can create tenants up to the number they have paid for. They can grant access permissions for each tenant to their users.
*The most important element to this project is that the app will have a single sign in page. Upon sign in, the user will be directed to their dashboard if they only have access to one tenant or, a page where they can choose from a list of tenants if they have access to more than one. Upon choosing the tenant, they will be presented with their dashboard for that tenant.*
At any point during the trial period the primary user can pay for a subscription. The subscription can be paid for by card payment or direct debit. We will need to decide upon a provider for this. Only the primary user can manage the subscription, add additional tenants, change the payment method or view payment history.
The trial period can be extended by us if necessary.
The app must have multi-tenant architecture using a PostgreSQL schema for each tenant with a public schema for shared data. Django-tenants can be used for multi tenancy or, another solution that achieves these objectives.
The users email is their username. The email entered needs to be verified via a verification process i.e., an email is sent to them with a link they must click on. Users can choose to enable Multi Factor Authentication in addition to password. This should be done preferably using an authenticator app. Users who haven't implemented MFA should be prompted to change their passwords after a defined period. Forgotten passwords can be reset using an email link sent to the user's email.
Each tenant will have a primary user who will sign up with options for a time limited trial, number of users and number of tenants. They must create at least one tenant and this will create a corresponding schema. They can also create users within that tenant up to the number of users they have paid for. Initially there will be three user types. Primary User, Admin User and Standard User. There can only be one Primary User but, that user is able to designate another user as primary. The primary user can create tenants up to the number they have paid for. They can grant access permissions for each tenant to their users.
*The most important element to this project is that the app will have a single sign in page. Upon sign in, the user will be directed to their dashboard if they only have access to one tenant or, a page where they can choose from a list of tenants if they have access to more than one. Upon choosing the tenant, they will be presented with their dashboard for that tenant.*
At any point during the trial period the primary user can pay for a subscription. The subscription can be paid for by card payment or direct debit. We will need to decide upon a provider for this. Only the primary user can manage the subscription, add additional tenants, change the payment method or view payment history.
The trial period can be extended by us if necessary.