diff --git a/backend/__pycache__/config.cpython-312.pyc b/backend/__pycache__/config.cpython-312.pyc index 30cb937..9a865cf 100644 Binary files a/backend/__pycache__/config.cpython-312.pyc and b/backend/__pycache__/config.cpython-312.pyc differ diff --git a/backend/config.py b/backend/config.py index c1ec7e4..8348ffe 100644 --- a/backend/config.py +++ b/backend/config.py @@ -23,6 +23,7 @@ app.config["SESSION_USE_SIGNER"] = True app.config["SESSION_REDIS"] = redis.from_url("redis://192.168.50.107:6379") # upload directory app.config["UPLOAD_DIRECTORY"] = 'uploads/' +# app.config["UPLOAD_DIRECTORY"] = '../frontend/public/Group_1' # app.config["REDIS_PASSWORD"] = os.environ["REDIS_PASSWORD"] # File value limit diff --git a/frontend/bun.lockb b/frontend/bun.lockb index 8f7e383..f2e0eb7 100755 Binary files a/frontend/bun.lockb and b/frontend/bun.lockb differ diff --git a/frontend/components.json b/frontend/components.json index cb0d435..8c574b7 100644 --- a/frontend/components.json +++ b/frontend/components.json @@ -6,7 +6,7 @@ "tailwind": { "config": "tailwind.config.ts", "css": "src/app/globals.css", - "baseColor": "gray", + "baseColor": "slate", "cssVariables": true, "prefix": "" }, diff --git a/frontend/package.json b/frontend/package.json index 409d054..f95751f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,14 +9,15 @@ "lint": "next lint" }, "dependencies": { + "@radix-ui/react-slot": "^1.1.0", "class-variance-authority": "^0.7.0", - "clsx": "^2.1.0", - "lucide-react": "^0.365.0", + "clsx": "^2.1.1", + "lucide-react": "^0.427.0", "next": "14.1.4", "react": "^18", - "react-dom": "^18", + "react-dom": "^18.3.1", "sharp": "^0.33.4", - "tailwind-merge": "^2.2.2", + "tailwind-merge": "^2.5.0", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { diff --git a/frontend/public/Group_1/Mockup_97.jpg b/frontend/public/Group_1/Mockup_97.jpg new file mode 100644 index 0000000..4f7092a Binary files /dev/null and b/frontend/public/Group_1/Mockup_97.jpg differ diff --git a/frontend/public/Group_1/design_4-01.png b/frontend/public/Group_1/design_4-01.png new file mode 100644 index 0000000..00ef35d Binary files /dev/null and b/frontend/public/Group_1/design_4-01.png differ diff --git a/frontend/public/Group_1/design_7_update-01.png b/frontend/public/Group_1/design_7_update-01.png new file mode 100644 index 0000000..b55a2a0 Binary files /dev/null and b/frontend/public/Group_1/design_7_update-01.png differ diff --git a/frontend/public/Group_1/design_8_update-01.png b/frontend/public/Group_1/design_8_update-01.png new file mode 100644 index 0000000..d814c11 Binary files /dev/null and b/frontend/public/Group_1/design_8_update-01.png differ diff --git a/frontend/public/Group_1/design_update.png b/frontend/public/Group_1/design_update.png new file mode 100644 index 0000000..a8af868 Binary files /dev/null and b/frontend/public/Group_1/design_update.png differ diff --git a/frontend/public/Group_1/files_list.json b/frontend/public/Group_1/files_list.json new file mode 100644 index 0000000..7fb68c0 --- /dev/null +++ b/frontend/public/Group_1/files_list.json @@ -0,0 +1,92 @@ +[ + { + "id": 1, + "name": "files_list", + "photo": "/files_list.json", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 2, + "name": "design_8_update-01", + "photo": "/design_8_update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 3, + "name": "Mockup_97", + "photo": "/Mockup_97.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 4, + "name": "json_sorter", + "photo": "/json_sorter.py", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 5, + "name": "design_update", + "photo": "/design_update.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 6, + "name": "design_4-01", + "photo": "/design_4-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 7, + "name": "design_7_update-01", + "photo": "/design_7_update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 8, + "name": "test_design_never_give_up-01", + "photo": "/test_design_never_give_up-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 9, + "name": "mockup_1", + "photo": "/mockup_1.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + } +] \ No newline at end of file diff --git a/frontend/public/Group_1/mockup_1.jpg b/frontend/public/Group_1/mockup_1.jpg new file mode 100644 index 0000000..c4f346e Binary files /dev/null and b/frontend/public/Group_1/mockup_1.jpg differ diff --git a/frontend/public/Group_1/test_design_never_give_up-01.png b/frontend/public/Group_1/test_design_never_give_up-01.png new file mode 100644 index 0000000..fba9f22 Binary files /dev/null and b/frontend/public/Group_1/test_design_never_give_up-01.png differ diff --git a/frontend/public/batch1/10-01.png b/frontend/public/batch1/10-01.png new file mode 100644 index 0000000..3387d26 Binary files /dev/null and b/frontend/public/batch1/10-01.png differ diff --git a/frontend/public/batch1/13 UPDATE DESIGN.jpg b/frontend/public/batch1/13 UPDATE DESIGN.jpg new file mode 100644 index 0000000..f61f17e Binary files /dev/null and b/frontend/public/batch1/13 UPDATE DESIGN.jpg differ diff --git a/frontend/public/batch1/75-01.png b/frontend/public/batch1/75-01.png new file mode 100644 index 0000000..2f862ff Binary files /dev/null and b/frontend/public/batch1/75-01.png differ diff --git a/frontend/public/batch1/Mockup 106.jpg b/frontend/public/batch1/Mockup 106.jpg new file mode 100644 index 0000000..715db8c Binary files /dev/null and b/frontend/public/batch1/Mockup 106.jpg differ diff --git a/frontend/public/batch1/Mockup 112.jpg b/frontend/public/batch1/Mockup 112.jpg new file mode 100644 index 0000000..17a27ec Binary files /dev/null and b/frontend/public/batch1/Mockup 112.jpg differ diff --git a/frontend/public/batch1/Mockup 113.jpg b/frontend/public/batch1/Mockup 113.jpg new file mode 100644 index 0000000..a4daba6 Binary files /dev/null and b/frontend/public/batch1/Mockup 113.jpg differ diff --git a/frontend/public/batch1/Mockup 119.jpg b/frontend/public/batch1/Mockup 119.jpg new file mode 100644 index 0000000..5899eca Binary files /dev/null and b/frontend/public/batch1/Mockup 119.jpg differ diff --git a/frontend/public/batch1/Mockup 126 new.jpg b/frontend/public/batch1/Mockup 126 new.jpg new file mode 100644 index 0000000..b95bf85 Binary files /dev/null and b/frontend/public/batch1/Mockup 126 new.jpg differ diff --git a/frontend/public/batch1/Mockup 134.jpg b/frontend/public/batch1/Mockup 134.jpg new file mode 100644 index 0000000..c976832 Binary files /dev/null and b/frontend/public/batch1/Mockup 134.jpg differ diff --git a/frontend/public/batch1/Mockup 16 update.jpg b/frontend/public/batch1/Mockup 16 update.jpg new file mode 100644 index 0000000..5d00fc2 Binary files /dev/null and b/frontend/public/batch1/Mockup 16 update.jpg differ diff --git a/frontend/public/batch1/Mockup 18.jpg b/frontend/public/batch1/Mockup 18.jpg new file mode 100644 index 0000000..8fb5b7c Binary files /dev/null and b/frontend/public/batch1/Mockup 18.jpg differ diff --git a/frontend/public/batch1/Mockup 23.jpg b/frontend/public/batch1/Mockup 23.jpg new file mode 100644 index 0000000..33d4338 Binary files /dev/null and b/frontend/public/batch1/Mockup 23.jpg differ diff --git a/frontend/public/batch1/Mockup 37.jpg b/frontend/public/batch1/Mockup 37.jpg new file mode 100644 index 0000000..a4a2ae5 Binary files /dev/null and b/frontend/public/batch1/Mockup 37.jpg differ diff --git a/frontend/public/batch1/Mockup 66.jpg b/frontend/public/batch1/Mockup 66.jpg new file mode 100644 index 0000000..09660d4 Binary files /dev/null and b/frontend/public/batch1/Mockup 66.jpg differ diff --git a/frontend/public/batch1/Mockup 73.jpg b/frontend/public/batch1/Mockup 73.jpg new file mode 100644 index 0000000..1e8b2e4 Binary files /dev/null and b/frontend/public/batch1/Mockup 73.jpg differ diff --git a/frontend/public/batch1/Mockup 97.jpg b/frontend/public/batch1/Mockup 97.jpg new file mode 100644 index 0000000..4f7092a Binary files /dev/null and b/frontend/public/batch1/Mockup 97.jpg differ diff --git a/frontend/public/batch1/design 4-01.png b/frontend/public/batch1/design 4-01.png new file mode 100644 index 0000000..00ef35d Binary files /dev/null and b/frontend/public/batch1/design 4-01.png differ diff --git a/frontend/public/batch1/design 6 update-01.png b/frontend/public/batch1/design 6 update-01.png new file mode 100644 index 0000000..a58d7bb Binary files /dev/null and b/frontend/public/batch1/design 6 update-01.png differ diff --git a/frontend/public/batch1/design 7 update-01.png b/frontend/public/batch1/design 7 update-01.png new file mode 100644 index 0000000..b55a2a0 Binary files /dev/null and b/frontend/public/batch1/design 7 update-01.png differ diff --git a/frontend/public/batch1/design 8 update-01.png b/frontend/public/batch1/design 8 update-01.png new file mode 100644 index 0000000..d814c11 Binary files /dev/null and b/frontend/public/batch1/design 8 update-01.png differ diff --git a/frontend/public/batch1/design update.png b/frontend/public/batch1/design update.png new file mode 100644 index 0000000..a8af868 Binary files /dev/null and b/frontend/public/batch1/design update.png differ diff --git a/frontend/public/batch1/files_list.json b/frontend/public/batch1/files_list.json new file mode 100644 index 0000000..82f9f07 --- /dev/null +++ b/frontend/public/batch1/files_list.json @@ -0,0 +1,212 @@ +[ + { + "id": 1, + "name": "design update", + "photo": "batch1/design update.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 2, + "name": "Mockup 134", + "photo": "batch1/Mockup 134.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 3, + "name": "Mockup 126 new", + "photo": "batch1/Mockup 126 new.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 4, + "name": "Mockup 113", + "photo": "batch1/Mockup 113.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 5, + "name": "design 6 update-01", + "photo": "batch1/design 6 update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 6, + "name": "Mockup 37", + "photo": "batch1/Mockup 37.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 7, + "name": "Mockup 106", + "photo": "batch1/Mockup 106.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 9, + "name": "design 4-01", + "photo": "batch1/design 4-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 10, + "name": "Mockup 97", + "photo": "batch1/Mockup 97.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 11, + "name": "Mockup 112", + "photo": "batch1/Mockup 112.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 12, + "name": "75-01", + "photo": "batch1/75-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 13, + "name": "Mockup 119", + "photo": "batch1/Mockup 119.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 14, + "name": "Mockup 16 update", + "photo": "batch1/Mockup 16 update.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 15, + "name": "10-01", + "photo": "batch1/10-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 16, + "name": "design 7 update-01", + "photo": "batch1/design 7 update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 17, + "name": "Mockup 18", + "photo": "batch1/Mockup 18.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 18, + "name": "13 UPDATE DESIGN", + "photo": "batch1/13 UPDATE DESIGN.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 19, + "name": "Mockup 66", + "photo": "batch1/Mockup 66.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 20, + "name": "design 8 update-01", + "photo": "batch1/design 8 update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 21, + "name": "Mockup 23", + "photo": "batch1/Mockup 23.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 22, + "name": "Mockup 73", + "photo": "batch1/Mockup 73.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + } +] \ No newline at end of file diff --git a/frontend/public/batch1/json_sorter.py b/frontend/public/batch1/json_sorter.py new file mode 100644 index 0000000..89fcf60 --- /dev/null +++ b/frontend/public/batch1/json_sorter.py @@ -0,0 +1,36 @@ +import os +import json + +def list_files_in_directory(directory_path): + # Get a list of all files in the directory with their respective attributes + files_list = [] + file_id = 1 + + for root, dirs, files in os.walk(directory_path): + for file in files: + file_data = { + "id": file_id, + "name": os.path.splitext(file)[0], + "photo": f'{os.path.dirname(directory_path)}/{file}', + "price": 25, # Default price, change as needed + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", # Default size, change as needed + "inStock": "yes", # Default stock status, change as needed + "favorite": "no", # Default favorite status, change as needed + "description": "It's not an option.." # Default description, change as needed + } + files_list.append(file_data) + file_id += 1 + + return files_list + +def write_files_to_json(directory_path, output_json_file): + files_list = list_files_in_directory(directory_path) + + # Write the list to a JSON file + with open(output_json_file, 'w') as json_file: + json.dump(files_list, json_file, indent=4) + +# Example usage +directory_path = '.' +output_json_file = f'files_list.json' +write_files_to_json(directory_path, output_json_file) \ No newline at end of file diff --git a/frontend/public/files_list.json b/frontend/public/files_list.json new file mode 100644 index 0000000..a8c937b --- /dev/null +++ b/frontend/public/files_list.json @@ -0,0 +1,82 @@ +[ + { + "id": 1, + "name": "files_list", + "photo": "./files_list.json", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 2, + "name": "design_8_update-01", + "photo": "./design_8_update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 3, + "name": "Mockup_97", + "photo": "./Mockup_97.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 4, + "name": "design_update", + "photo": "./design_update.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 5, + "name": "design_4-01", + "photo": "./design_4-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 6, + "name": "design_7_update-01", + "photo": "./design_7_update-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 7, + "name": "test_design_never_give_up-01", + "photo": "./test_design_never_give_up-01.png", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + }, + { + "id": 8, + "name": "mockup_1", + "photo": "./mockup_1.jpg", + "price": 25, + "size": "Youth-S/M/L/2XL | Adult-S/M/L/2XL", + "inStock": "yes", + "favorite": "no", + "description": "It's not an option.." + } +] \ No newline at end of file diff --git a/frontend/src/app/_document.tsx b/frontend/src/app/_document.tsx new file mode 100644 index 0000000..626ccdf --- /dev/null +++ b/frontend/src/app/_document.tsx @@ -0,0 +1,17 @@ +//pages/_document.tsx +import { poppins } from "@/components/ClientPortal/ClientPortal"; +import { Html, Head, Main, NextScript } from "next/document"; + + +export default function Document() { + return ( + +
+ + ++ Basically, React Portal is a powerful technique to create a + first-class way to render children into a DOM (Document object + modal) Node from outside of their parent component hierarchy. +
++ has been the industry's stand 1960s with the release of + Letraset sheets containing Lorem Ipsum passages, and more + recently with desktop publishing software like Aldus PageMaker + including versions of Lorem Ipsum. +
++ Lorem Ipsum is simply dummy text of the printing It has + survived not only five centuries, but also the leap into + electronic typesetting, remaining essentially unchanged. It + was popularised in the 1960s with the release of Letraset + sheets containing Lorem Ipsum passages, and more recently +
++ Lorem Ipsum is simply dummy text of the printing and + typesetting industry. Lorem Ipsum has been the industry's + standard dummy text ever since the 1500s, when an unknown + printer took a galley of type and Lorem Ipsum. +
+