Skip to content

Folder structure

Here is an opiniated view of how your app can scale.

This is just a suggested approach to help you project yourself.

your-app
├── app
│   ├── assets
│   │   ├── ts
│   │   │   └── main.ts
│   │   ├── sass
│   │   │   └── main.sass
│   │   └── img
│   │       └── logo.png
│   ├── controllers
│   │   ├── post
│   │   │   ├── create.v
│   │   │   ├── edit.v
│   │   │   ├── store.v
│   │   │   └── update.v
│   │   └── login
│   │       ├── create.v
│   │       └── store.v
│   ├── routes
│   │   ├── guest.v
│   │   └── authenticated.v
│   ├── tests
│   │   └── controllers
│   │       └── post
│   │           ├── create_test.v
│   │           ├── edit_test.v
│   │           ├── store_test.v
│   │           └── update_test.v
│   ├── views
│   │   ├── components
│   │   │   ├── footer.v
│   │   │   └── navbar.v
│   │   ├── layouts
│   │   │   ├── guest.v
│   │   │   └── authenticated.v
│   │   └── pages
│   │       ├── login
│   │       │   └── create.v
│   │       └── post
│   │           ├── create.v
│   │           └── edit.v
│   └── main.v
├── build
│   ├── js
│   │   └── main.js
│   ├── css
│   │   └── main.css
│   ├── img
│   │   ├── logo-sm.png
│   │   └── logo-xl.png
│   └── main
├── .browserslistrc
├── .editorconfig
├── .env
├── .env.prod
├── .gitignore
├── docker-compose.yml
├── package.json
├── package-lock.json
├── tsconfig.json
├── v.mod
└── vite.config.js
  • app: Contains all your source files.
  • build: Built version of your source files (to be deployed to your server).
    • main: The executable of your server.