Skip to content

Commit 91c296a

Browse files
authored
Merge pull request #123 from ianshulx/ianshulx-patch-1
Create Guidelines&Rules.md
2 parents 8afbe61 + 9450f10 commit 91c296a

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

Guidelines&Rules.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# 🛠️ Contribution Rules & Guidelines (Hacktoberfest 2025)
2+
3+
Welcome to this open-source repository for **Django-based beginner and intermediate projects**.
4+
We encourage you to learn, explore, and grow through real-world practice — but please read and follow the guidelines below carefully **before contributing.**
5+
6+
---
7+
8+
## ⚙️ 1. Avoid Low-Quality or Meaningless Contributions
9+
10+
Hacktoberfest values **quality over quantity.**
11+
Low-effort contributions will be marked as *invalid* or *spam*. Avoid:
12+
13+
- Making random or unnecessary code edits (adding/removing lines without reason).
14+
- Changing color themes, indentation, or UI styling without purpose.
15+
- Fixing trivial grammatical or punctuation issues in README files.
16+
- Renaming files or variables without improving functionality.
17+
- Submitting incomplete or non-working projects.
18+
19+
> 💡 **Tip:** Every contribution should add real value — fix a bug, improve structure, add a meaningful feature, or optimize existing code.
20+
21+
---
22+
23+
## 🧩 2. Add Only Unique Projects
24+
25+
Before adding a new project, ensure it’s **not already present** in the repository.
26+
Duplicate or similar ideas will be **rejected immediately.**
27+
28+
---
29+
30+
## 🐍 3. Django-Only Projects
31+
32+
This repository is focused exclusively on **Django-based projects** built using **Python + Django framework**.
33+
Do **not** add:
34+
35+
- Frontend-only projects (HTML/CSS/JS without Django).
36+
- Flask, FastAPI, or Node.js-based applications.
37+
- MERN, React-only, or Next.js projects.
38+
39+
---
40+
41+
## 🚀 4. Beginner & Intermediate Projects Only
42+
43+
This repo is meant for learners who want to build and understand **Django fundamentals**.
44+
45+
Allowed:
46+
- Beginner-level projects (basic Django apps demonstrating core MVC concepts).
47+
- Intermediate-level projects (apps with user authentication, forms, or small database usage).
48+
49+
Not allowed:
50+
- Complex enterprise-level or production-grade systems.
51+
- Projects requiring large APIs or third-party service integrations.
52+
53+
---
54+
55+
## 🔄 5. Keep Your Fork Updated
56+
57+
Before submitting a Pull Request (PR):
58+
59+
1. Sync your fork with the latest main branch.
60+
2. Resolve any merge conflicts locally.
61+
3. Push your clean changes before creating a PR.
62+
63+
This ensures your PR is conflict-free and easy to review.
64+
65+
---
66+
67+
## 🧱 6. Avoid Redundant “Clone” Projects
68+
69+
Clones are acceptable **only when they offer learning value**.
70+
71+
-**Good Example:** Instagram clone focusing on user authentication and media uploads.
72+
-**Bad Example:** Another social media clone with the same basic CRUD operations as an existing project.
73+
74+
> 💡 Instead of duplicating, try enhancing an existing clone by adding new features or optimizing its code.
75+
76+
---
77+
78+
## 🗄️ 7. Use Proper Database & Environment Handling
79+
80+
When working with Django:
81+
- Always use **SQLite** or lightweight databases for beginner projects.
82+
- Keep sensitive information in a `.env` file (never push `.env` to GitHub).
83+
- Include a `.gitignore` file to exclude virtual environments, migrations, and cache files.
84+
85+
---
86+
87+
## ⚠️ 8. Avoid Overly Basic Projects
88+
89+
Please don’t submit extremely simple or repetitive projects such as:
90+
- Static “Hello World” pages.
91+
- Only dark/light theme toggles.
92+
- Single-page templates without backend logic.
93+
- Plain HTML sites without Django views/models/forms.
94+
95+
> This repository is for **applying Django fundamentals**, not just setting up basics.
96+
97+
---
98+
99+
## 📁 9. Maintain Proper Project Structure
100+
101+
Each project should:
102+
103+
- Be in its own folder inside `/projects/`.
104+
- Use a **virtual environment** (not included in the repo).
105+
- Have a clear folder name (e.g., `django-blog-app`, not `myproject1`).
106+
- Include a `README.md` file containing:
107+
- Project title
108+
- Short description
109+
- Key features
110+
- Setup instructions (commands to run locally)
111+
- Technologies used
112+
113+
---
114+
115+
## 🧠 10. Write Clean, Commented & Readable Code
116+
117+
Make sure your project follows Python and Django best practices:
118+
- Use **PEP8** formatting (indentation, naming, line length).
119+
- Comment your views, models, and important functions.
120+
- Use meaningful variable and function names.
121+
- Remove unused imports, print statements, or debugging logs.
122+
123+
---
124+
125+
## 🤝 11. Contribution Ethics
126+
127+
We promote a collaborative and respectful open-source community.
128+
By contributing, you agree to:
129+
130+
- Be kind and constructive in discussions.
131+
- Avoid plagiarism — submit only your **original work**.
132+
- Give proper credit if you’ve used or learned from another repository.
133+
- Submit only helpful and educational content.
134+
135+
---
136+
137+
## 🎉 12. Final Note
138+
139+
Your contribution should **help others learn Django**, not just count as a Hacktoberfest PR.
140+
We appreciate **quality, creativity, and clarity** — not quantity.
141+
142+
Thank you for contributing and supporting this open-source learning initiative! 🙌
143+
144+
**Happy Coding & Happy Hacktoberfest 2025! 💻✨**

0 commit comments

Comments
 (0)