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

Include Django Architecture Overview. #1814

Open
Yatharth31 opened this issue Dec 12, 2023 · 6 comments
Open

Include Django Architecture Overview. #1814

Yatharth31 opened this issue Dec 12, 2023 · 6 comments

Comments

@Yatharth31
Copy link

Dear contributors,
I propose an enhancement to the project documentation by incorporating a detailed section on the architecture followed by Django and highlighting its distinguishing features which makes Django different from rest of the web frameworks.

Objective:
Provide developers with a comprehensive understanding of Django's architectural principles.
Outline key differentiators that set Django apart from other web frameworks.
Empower developers with insights into how Django's architecture influences development practices and decision-making.

This can be incorporated in all languages, will need contributors to translate and verify once I am done writing it in English.

Thank you!

@Yatharth31 Yatharth31 changed the title Include Django Architecture Overview and how it is different from other web architecture. Include Django Architecture Overview. Dec 12, 2023
@fltfx
Copy link
Member

fltfx commented Oct 15, 2024

I think it's fine to add it under the Django header in the "what's next" section: https://tutorial.djangogirls.org/en/whats_next/
But I don't think we should add it to the introduction - I think most of the students/mentees are already overwhelmed with the basics so adding information about Django's architectural principles is too much information.

@das-g Thoughts?

@das-g
Copy link
Member

das-g commented Oct 15, 2024

I think it's fine to add it under the Django header in the "what's next" section: https://tutorial.djangogirls.org/en/whats_next/

Thus as a separate resource, not part of the tutorial itself, right? If so, that's what also I would consider most appropriate.

Should it be an additional resource maintained by the Django Girls community (like the Django Girls tutorial extensions), or a completely external resource that we just link to? If the latter, is there an existing one that we can link to already now?

But I don't think we should add it to the introduction - I think most of the students/mentees are already overwhelmed with the basics so adding information about Django's architectural principles is too much information.

Agreed. Further, the main target audience of the Django Girls tutorial and of Django Girls workshops lacks knowledge about other web frameworks, so can't put most information about what differentiates Django from them into context.

@fltfx
Copy link
Member

fltfx commented Oct 16, 2024

Thus as a separate resource, not part of the tutorial itself, right? If so, that's what also I would consider most appropriate.

Should it be an additional resource maintained by the Django Girls community (like the Django Girls tutorial extensions), or a completely external resource that we just link to? If the latter, is there an existing one that we can link to already now?

I think it should be a separate resource and could be a completely external resource that we just link to as to not create more work for @Yatharth31 . @Yatharth31 , do you have any resources in mind?

@Yatharth31
Copy link
Author

Agreed. Further, the main target audience of the Django Girls tutorial and of Django Girls workshops lacks knowledge about other web frameworks, so can't put most information about what differentiates Django from them into context.

I agree that adding this information to the introduction might overwhelm beginners, so placing it under the "What's Next" section or creating a separate resource makes more sense.

I think it should be a separate resource and could be a completely external resource that we just link to as to not create more work for @Yatharth31 . @Yatharth31 , do you have any resources in mind?

@fltfx As for an existing resource, I’m not aware of any at the moment, but I can look into it and share any relevant links if I find something suitable. This may take some time, as it’s important that the resource is both informative and engaging. I’ll make sure to share any relevant links or drafts once I have something ready. Let me know if that works, and I’m happy to contribute further!

@fltfx
Copy link
Member

fltfx commented Oct 16, 2024

@Yatharth31 That sounds good to me. 😊
For some more context, I think that the topic of how ORMs or MVC structure works is good.

But I think that the topic of "which framework and why" is a bit complicated and is more of a "senior software engineer" topic. I'm a junior/intermediate right now and to be honest, I could not really easily tell you (off the top of my head) how/why to choose between Django vs Flask, or Django vs (php) Laravel. I think this topic is needed, but pragmatically, I've found that most of my software friends seem to use what they know, so whatever they happen to work with at work, they just stick to it -- So I guess what I'm saying is that practically, this topic/knowledge discussion is needed and interesting, but pragmatically, the choice in which framework that people end up using (outside of personal projects or being part of early-stage startups) seems very arbitrary. I'm saying all this because I want to ensure that your effort in compiling or writing a resource is worth it :)

@Yatharth31
Copy link
Author

@fltfx Yes, I agree with your point. I'll focus on adding more about how the MVC structure works and how ORMs fit into that. It’s a topic that’s universally applicable and a solid foundation for understanding various frameworks, without getting too bogged down in the "which framework and why" decision-making process. Thanks for the feedback! 😊

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

No branches or pull requests

3 participants