As of now, the form to take various inputs is hardcoded in the frontend, it will be much better if we can create a form in the backend and render it dynamically in templates. You can use third-party packages, just make sure to add all the required validations.