Initialize project
This commit is contained in:
15
PROJECT_RULES.md
Normal file
15
PROJECT_RULES.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Project Rules & Guidelines
|
||||
|
||||
## 1. Client-Side First Policy (Privacy & Security)
|
||||
- **Generators & Simple Utilities:**
|
||||
- Logic for generating data (e.g., passwords, UUIDs, random strings) or processing simple text (e.g., JSON formatting, URL encoding) **MUST** be implemented on the **Client-side (Frontend)** whenever possible.
|
||||
- **Reason:** To protect user privacy, prevent sensitive data (like passwords) from ever touching the network/server, and improve responsiveness.
|
||||
- **Exception:** Operations requiring heavy computation (e.g., Image/Video processing) or specific server-side libraries (e.g., specific Python ecosystem tools not available in JS) may use the Backend.
|
||||
|
||||
## 2. Server-Side Data Handling
|
||||
- **Statelessness:** The server should remain stateless.
|
||||
- **Temporary Files:** If file upload is necessary for processing (e.g., Image Compression), files must be stored in a dedicated temporary directory (`backend/temp_uploads`) and **automatically cleaned up** after a short period (e.g., 10 minutes) or immediately after processing/download.
|
||||
|
||||
## 3. UI/UX
|
||||
- **Navigation:** Use the Global Navigation Bar (GNB) for main navigation. Avoid complex sidebars (LNB) for simple utility sites.
|
||||
- **Feedback:** Always provide visual feedback for actions (loading states, success/error messages).
|
||||
Reference in New Issue
Block a user