Admin vs. Public Architecture
Relevant source files
The following files were used as context for generating this wiki page:
The Inkweave project separates administrative functions from public user features by maintaining two distinct environments. The inkweave-admin repository provides private tools for managing the platform, while the Doberjohn/inkweave repository serves the public application. This architecture ensures that sensitive management logic remains isolated from the standard user experience.
Sources: README.md:1-3
Repository Structure and Submodules
The project uses a nested repository structure to manage dependencies. The admin repository includes the public application as a git submodule to share core logic and data structures.
Submodule Integration
- The system pins the public repository (
Doberjohn/inkweave) as a submodule. - The submodule resides in the
upstream/inkweavedirectory. - This structure allows the admin tools to build upon the existing public codebase without duplicating source files.
Sources: README.md:3, .gitmodules
Logic and Rules Management
The repository maintains internal documentation to guide development. The docs/PLAN.md file tracks the design and phase status of the admin tools. Developers follow working rules defined in CLAUDE.md.
Sources: README.md:5
Dependency Flow Diagram
The following diagram illustrates how the admin repository incorporates the public repository core.
The flowchart shows the administrative tools depending on the public core via a git submodule link.
Sources: README.md:3
Deployment and Security
The admin and public applications utilize different deployment targets and security protocols.
Environment Separation
| Feature | Public Application | Admin Application |
|---|---|---|
| Primary Domain | inkweave.ink | Private Vercel URL |
| Source Repo | Doberjohn/inkweave | Doberjohn/inkweave-admin |
| Authentication | Public User Login | Vercel Project Login |
| Visibility | Publicly accessible | Private / Restricted |
Sources: README.md:1-3
Access Control
The admin application deploys to a Vercel project. To prevent unauthorized access, the system places the entire project behind a Vercel login requirement. This protects administrative routes and data management tools from public exposure.
Sources: README.md:3, vercel.json
Deployment Process Flow
The sequence diagram below describes the authentication and deployment flow for the admin environment.
The sequence shows how the admin repo fetches submodule code and enforces authentication during the Vercel deployment phase.
Sources: README.md:3, .gitmodules
Summary
The Inkweave architecture achieves security and modularity by isolating management tools in the inkweave-admin repository. By pinning the public application as a submodule, the admin tools maintain consistency with the core codebase while enforcing strict access control through Vercel's private deployment features.
Sources: README.md:1-5