File Structure
ArtsiAI Project File Structure
artsiai/
├─ contracts/
│ ├─ ArtsiToken.sol
│ ├─ ArtsiNFT.sol
│ ├─ Marketplace.sol
│ ├─ Fractionalizer.sol
│ ├─ StakingPool.sol
│ ├─ ArtsiGovernor.sol
│ └─ Treasury.sol
│
├─ backend/
│ ├─ api/
│ │ ├─ generate.js
│ │ ├─ mint.js
│ │ ├─ list.js
│ │ ├─ buy.js
│ │ ├─ dao.js
│ │ └─ user.js
│ ├─ jobs/
│ │ ├─ aiWorker.js
│ │ ├─ queue.js
│ │ └─ scheduler.js
│ ├─ db/
│ │ ├─ migrations/
│ │ ├─ seeders/
│ │ └─ schema.sql
│ └─ utils/
│ ├─ auth.js
│ ├─ web3.js
│ ├─ storage.js
│ └─ logger.js
│
├─ frontend/
│ ├─ pages/
│ │ ├─ index.tsx
│ │ ├─ gallery.tsx
│ │ ├─ marketplace.tsx
│ │ ├─ dao.tsx
│ │ └─ profile.tsx
│ ├─ components/
│ │ ├─ Navbar.tsx
│ │ ├─ Footer.tsx
│ │ ├─ ArtCard.tsx
│ │ ├─ UploadForm.tsx
│ │ ├─ DaoVotingPanel.tsx
│ │ └─ WalletConnect.tsx
│ ├─ services/
│ │ ├─ api.ts
│ │ ├─ contracts.ts
│ │ └─ auth.ts
│ ├─ hooks/
│ │ ├─ useWallet.ts
│ │ ├─ useNFTs.ts
│ │ └─ useMarketplace.ts
│ └─ styles/
│ └─ global.css
│
└─ mobile/
├─ screens/
│ ├─ HomeScreen.js
│ ├─ GalleryScreen.js
│ ├─ MarketplaceScreen.js
│ ├─ ProfileScreen.js
│ └─ DaoScreen.js
├─ components/
│ ├─ ArtCard.js
│ ├─ BottomNav.js
│ ├─ WalletButton.js
│ └─ Loader.js
└─ services/
├─ api.js
├─ contracts.js
└─ auth.js🔹 Section 1 – Smart Contracts (contracts/)
contracts/)ArtsiToken.sol → ERC-20 token contract (
$ARTSI) for governance + staking.ArtsiNFT.sol → ERC-721 contract for minted artworks.
Marketplace.sol → Decentralized NFT marketplace (buy/sell ARTSI NFTs).
Fractionalizer.sol → Splits NFTs into ERC-20 fractions for co-ownership.
StakingPool.sol → Users stake
$ARTSIto earn rewards + governance rights.ArtsiGovernor.sol → DAO governance contract (proposal + voting system).
Treasury.sol → Holds protocol funds, releases based on DAO votes.
🔹 Section 2 – Backend (backend/)
backend/)api/
generate.js→ AI image generation API (calls Stable Diffusion/DALLE).mint.js→ Mints AI-generated art as NFT.list.js→ List NFT on marketplace.buy.js→ Purchase NFT or fractions.dao.js→ Proposal + voting API.user.js→ Manages user profiles + wallet linkage.
jobs/
aiWorker.js→ Background worker that processes AI art requests.queue.js→ Job queue for handling high traffic.scheduler.js→ Cron jobs for maintenance (e.g., staking rewards distribution).
db/
migrations/→ Database schema migrations.seeders/→ Populate demo/test data.schema.sql→ PostgreSQL schema for users, NFTs, DAO, staking.
utils/
auth.js→ JWT/session handling.web3.js→ Blockchain connection (ethers.js).storage.js→ IPFS / Arweave integration.logger.js→ App-wide logging system.
🔹 Section 3 – Frontend (frontend/)
frontend/)pages/ → Next.js pages for web app navigation.
components/ → UI building blocks (NFT card, navbar, voting panel).
services/ → API + blockchain integration.
hooks/ → React hooks for Web3 + NFT data.
styles/ → Global CSS/Tailwind for styling.
🔹 Section 4 – Mobile (mobile/)
mobile/)screens/ → React Native screens (mirrors frontend functionality).
components/ → Reusable UI (wallet connect, art card).
services/ → API + blockchain calls optimized for mobile.
Last updated