Open mbcse opened 8 months ago
According to the proposed changes, I'll resturcture the project like this. Please review it once @mbcse, then i'll raise a PR. Thank you!
project-root/ |-- chain1/ (e.g., Ethereum) | |-- contracts/ | | |-- Contract.ts | | |-- deploy.ts | | |-- draft.ts | | |-- interact.ts | |-- functions/ | | |-- mint.ts |-- chain2/ (e.g., Polygon) | |-- contracts/ | |-- functions/ |-- shared/ | |-- common/ | | |-- Infura.ts | |-- utilities/ | |-- ProgressBar.ts |-- documentation/ | |-- docs/ | | |-- Contracts/ | | | |-- category.json | | | |-- deploy.md | | | |-- draft.md | | | |-- initializeContract.md | | | |-- interact.md | | |-- Upload/ | | | |-- category.json | | | |-- initializeFileStorage.md | | | |-- uploadCollection.md | | | |-- uploadSingle.md | | |-- generate.md | | |-- intro.md | |-- src/ | | |-- components/ | | |-- css/ | | |-- pages/ | | |-- static/ | |-- .gitignore | |-- README.md | |-- babel.config.js | |-- docusaurus.config.js | |-- package-lock.json | |-- package.json | |-- sidebars.js | |-- tsconfig.json |-- examples/ | |-- layers/ | | |-- background/ | | |-- first character/ | | |-- fourth character/ | | |-- second character/ | | |-- third character/ | |-- abi.json | |-- account.json | |-- connection.json |-- tests/ | |-- Arweave.spec.ts | |-- Collection.spec.ts | |-- Contract.spec.ts | |-- Infura.spec.ts | |-- NFTstorage.spec.ts | |-- Pinata.spec.ts | |-- Storj.spec.ts | |-- test.png | |-- test_specs.json |-- .eslintignore |-- .eslintrc.json |-- .gitignore |-- LICENSE |-- README.md |-- package-lock.json |-- package.json |-- tsconfig.json |-- workflows.png
hi @mbcse can i work on it
Description
As our project advances towards the integration of additional chains and functionalities, it becomes imperative to enhance the organization of our codebase for improved maintainability and clarity. The proposed solution involves a thorough refactor of the current folder structure, specifically segregating functionalities into distinct folders.
Objective
To establish a more organized and scalable folder structure that accommodates the growing complexity of integrating various chains and functions seamlessly.
Proposed Changes
Introduce a refined folder structure that categorizes functionalities based on their respective chains. Specifically, create separate folders for each chain, where the related contracts and associated functions will reside.
Example