To ensure the highest quality of templates on Codie marketplace, developers must follow these rules and guidelines. Templates not meeting these standards will not be accepted.
Templates must follow a well-structured architecture for scalability, maintainability, and easy customization. Codie requires a Feature-based structure with the Atomic Design pattern.
src/
├── assets/ # Images, fonts, icons, static files
│ ├── images/
│ ├── fonts/
│ └── icons/
│
├── components/ # Reusable UI Components (Atomic Design)
│ ├── atoms/ # Smallest elements (Button, Input, Icon)
│ ├── molecules/ # Combination of atoms (Form, Card, NavbarItem)
│ ├── organisms/ # Complex sections (Header, Sidebar, Footer)
│ ├── templates/ # Page-level structures (Dashboard layout, Auth layout)
│ └── pages/ # Final pages that use templates (Home, Login, Dashboard)
│
├── features/ # Feature-based modules
│ ├── auth/ # Authentication module
│ │ ├── api/ # API calls for login, register
│ │ ├── components/ # Feature-specific UI
│ │ ├── hooks/ # Feature hooks
│ │ └── utils/ # Helpers
│ ├── orders/ # Orders module
│ ├── products/ # Products module
│ └── users/ # User management
│
├── hooks/ # Global custom hooks (e.g., useAuth, useFetch)
├── services/ # API clients (axios, graphql, etc.)
├── utils/ # Global utilities (validators, formatters)
├── styles/ # Global styles, Tailwind config, SCSS variables
├── config/ # Environment variables, constants
├── App.tsx # Root app entry
└── index.tsx # Entry point
src/
├── assets/ # Images, fonts, icons, static files
│
├── components/ # Atomic Design (same as web)
│ ├── atoms/
│ ├── molecules/
│ ├── organisms/
│ ├── templates/
│ └── screens/ # Screens equivalent to pages
│
├── features/ # Feature-based modules
│ ├── auth/ # Authentication
│ ├── chat/ # Messaging
│ ├── profile/ # User profile
│ └── shop/ # E-commerce example
│
├── navigation/ # React Navigation / Flutter Navigator
├── hooks/ # Custom hooks
├── services/ # API clients
├── utils/ # Global utilities
├── styles/ # Global styling (Theme, Colors)
├── config/ # Environment variables, constants
├── App.tsx # Root app
└── main.tsx # Entry point
backend/
├── src/
│ ├── config/ # Env variables, DB config
│ ├── controllers/ # Business logic
│ ├── middlewares/ # Auth, error handling, validation
│ ├── models/ # Database schemas (Mongoose/Sequelize)
│ ├── routes/ # API routes (feature-based)
│ ├── services/ # Reusable business services
│ ├── utils/ # Helpers & common functions
│ ├── tests/ # Unit & integration tests
│ └── app.js
├── package.json
└── server.js