Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shift the backend from flask to django #195

Open
IronJam11 opened this issue Feb 9, 2025 · 1 comment · May be fixed by #216
Open

Shift the backend from flask to django #195

IronJam11 opened this issue Feb 9, 2025 · 1 comment · May be fixed by #216

Comments

@IronJam11
Copy link

Right now, we are generating quizzes using a machine learning model—great! But the real challenge isn’t just creating quizzes, it’s building a backend that can handle them efficiently, scale effortlessly, and stay secure without adding extra work. That’s where Django comes in.

1️⃣ Built for Growth
Think about the future. More users, more quizzes, more data. Django is designed to handle this from day one. It has a built-in, structured way to manage databases, optimize queries, and organize your code—so as your platform grows, your backend doesn’t turn into a nightmare.

2️⃣ Security That Just Works
You don’t want to spend time patching security loopholes. Django automatically protects against common vulnerabilities like SQL injection, CSRF, and XSS. It also has a built-in authentication system, so handling user logins, roles, and permissions is effortless.

3️⃣ Less Time Writing Code, More Time Improving Your Model
Django follows the "batteries-included" philosophy, meaning a lot of the work is already done for you. Need an admin panel? It’s built-in. Need session management? Comes by default. Need to optimize database queries? Django handles that too. Why waste time reinventing the wheel?

4️⃣ Powerful API Support for Seamless ML Integration
Your quiz model needs a solid API to serve questions, analyze responses, and improve with feedback. Django REST Framework (DRF) makes building APIs ridiculously easy. Serialization, authentication, permissions—it’s all there, without extra work.

5️⃣ Speed & Performance Without the Headache
Django supports caching out of the box, so your quiz responses and ML results load faster without constantly hitting the database. If you need background processing (for things like generating quizzes asynchronously), Django works perfectly with Celery.

6️⃣ A Framework That Won’t Slow You Down
Some backend frameworks start simple but become a burden when the project grows. Django stays simple while giving you all the power you need. It’s structured, well-documented, and backed by a massive community that keeps improving it.

This will be a big pull request, I am proposing the following changes to it

  • User Authentication using JWT access and refresh tokens
  • Maintaining proper models for quizzes and questions (using Django ORM)
  • More security
  • Using Django celery (very useful since we are using ML and it takes time)

Here, user authentication will make it more personalized and the user will be able to track his/her progress and history in a concise and structured manner.
Please note this will take time but it will be worth it. I am willing to complete this within a week and present it for review. However I will need early response on this. thank you.

@Dasux
Copy link

Dasux commented Feb 10, 2025

this is a brave initiative..!! but its a good one...
shifting to django is going to be slow... the maintainers arent responsive that much

id love to help!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants