-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcreate_project_structure.sh
executable file
·89 lines (74 loc) · 2.71 KB
/
create_project_structure.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/bash
# Project root
mkdir -p project-root
# Source directories
mkdir -p project-root/src/cli/commands
mkdir -p project-root/src/blockchain/types
mkdir -p project-root/src/zkp/circom/circuits
mkdir -p project-root/src/zkp/circom/artifacts
mkdir -p project-root/src/storage
mkdir -p project-root/src/utils
mkdir -p project-root/src/types
# Test directory
mkdir -p project-root/test/cli
mkdir -p project-root/test/blockchain
mkdir -p project-root/test/zkp
mkdir -p project-root/test/storage
mkdir -p project-root/test/utils
# Docs directory
mkdir -p project-root/docs
# Create empty files in src/cli/
touch project-root/src/cli/index.ts
touch project-root/src/cli/commands/upload.ts
touch project-root/src/cli/commands/retrieve.ts
touch project-root/src/cli/commands/generate-zkp.ts
touch project-root/src/cli/commands/verify-zkp.ts
# Create empty files in src/blockchain/
touch project-root/src/blockchain/polygon.ts
touch project-root/src/blockchain/contract.ts
touch project-root/src/blockchain/types/contract.d.ts
touch project-root/src/blockchain/types/polygon.d.ts
# Create empty files in src/zkp/
touch project-root/src/zkp/generateCommitment.ts
touch project-root/src/zkp/proofGeneration.ts
touch project-root/src/zkp/proofVerification.ts
touch project-root/src/zkp/circom/circuits/main.circom
touch project-root/src/zkp/circom/artifacts/main.r1cs
touch project-root/src/zkp/circom/artifacts/main.wasm
touch project-root/src/zkp/circom/artifacts/main_final.zkey
# Create empty files in src/storage/
touch project-root/src/storage/encryption.ts
touch project-root/src/storage/fragmentation.ts
touch project-root/src/storage/fileStorage.ts
touch project-root/src/storage/redundancy.ts
# Create empty files in src/utils/
touch project-root/src/utils/logger.ts
touch project-root/src/utils/config.ts
touch project-root/src/utils/hashUtils.ts
touch project-root/src/utils/keyManagement.ts
# Create empty files in src/types/
touch project-root/src/types/cli.d.ts
touch project-root/src/types/storage.d.ts
touch project-root/src/types/zkp.d.ts
# Main entry point
touch project-root/src/index.ts
# Create test files
touch project-root/test/cli/.gitkeep
touch project-root/test/blockchain/.gitkeep
touch project-root/test/zkp/.gitkeep
touch project-root/test/storage/.gitkeep
touch project-root/test/utils/.gitkeep
# Create docs files
touch project-root/docs/architecture.md
touch project-root/docs/zkp.md
touch project-root/docs/blockchain.md
touch project-root/docs/cli.md
# Create root-level files
touch project-root/.env
touch project-root/package.json
touch project-root/tsconfig.json
touch project-root/README.md
touch project-root/Dockerfile
touch project-root/.gitignore
# Success message
echo "Project directory structure created successfully!"