One of Vuesion's core principles is keeping the project structure simple and predictable.
Instead of introducing dozens of top-level directories or deeply nested architectures, Vuesion groups files by responsibility. Once you understand the purpose of each area, navigating the project becomes straightforward.
The most important directories are:
src/
prisma/
tools/
Everything else is either generated, configuration, or project metadata.
The src directory contains the application itself.
It is divided into four major areas:
src/
├── app/
├── server/
├── shared/
└── public/
The app directory contains everything that runs in the browser.
This includes:
If you're building new user-facing features, this is where you'll spend most of your time.
The server directory contains everything that executes on the server.
Typical examples include:
Keeping server code separate from client code makes responsibilities clear and prevents accidental coupling.
The shared directory contains code that can safely be used by both the client and the server.
Typical examples are:
Anything inside shared should remain platform independent.
The public directory contains static assets that are served directly without processing.
Typical examples include:
The prisma directory contains everything related to the database.
prisma/
├── schema/
├── migrations/
└── seed.ts
Unlike many projects that store the entire database schema in a single file, Vuesion organizes Prisma models by domain.
This keeps the schema maintainable as the application grows.
The tools directory contains development tooling that supports the project.
Examples include:
These tools are not part of the application itself but help automate repetitive development tasks.
As your product grows, resist the temptation to introduce additional top-level directories.
Whenever possible, extend one of the existing areas instead.
A predictable project structure helps every developer understand the codebase quickly and keeps long-term maintenance manageable.
Continue with Architecture to learn how these different parts work together to form a complete application.