This repository provides a structured framework for organizing your project as part of Metaschool's Road To Web3 Cohort - II, aiming to enhance code maintainability and collaboration
Framework Integration: If you're using development frameworks (like Hardhat), they may automatically generate certain directories and code structures. You are free to work within the framework's structure if it aligns well with your project needs.
Note: Most directories contain a .placeholder
file to ensure the directory structure is maintained as Git does not track empty directories. Feel free to ignore or delete this file as you add content to the directories.
- Root Directory:
README.md
: Entry point document explaining the project, setup, and contribution guidelines.LICENSE
: Legal terms under which the software is used and shared..gitignore
: Files and directories Git should ignore.CHANGELOG.md
: Log of changes for each version.
- Source Code (
/src
):/contracts
: Smart contracts (Solidity files for Ethereum, etc.)./lib
: Reusable libraries or helper functions./services
: Backend services like APIs, data processing scripts./frontend
: Front-end application code.
- Testing (
/tests
):- Subdirectories for different testing levels:
unit/
,integration/
, ande2e/
.
- Subdirectories for different testing levels:
- Documentation (
/docs
):api/
: API documentation.contracts/
: Documentation for smart contracts.
- Scripts (
/scripts
):/deploy
: Deployment scripts./utils
: Utility scripts.
- Configuration (
/config
):- Configuration files and
.env.example
.
- Configuration files and
- Project Management (
/project
) (Optional based on project scope):roadmap.md
: Project roadmap.
Feel free to use this structure as a starting point and modify it as needed, especially if your development framework prescribes a different structure. The key is to ensure that your project is well-organized, making it easier for your team and potential contributors to understand and collaborate effectively.
Happy coding!