# Folder Structure

```text
NexaVPN/
├── README.md
├── docs/
│   ├── api.md
│   ├── architecture.md
│   ├── deployment.md
│   ├── enrollment.md
│   ├── folder-structure.md
│   ├── gateway.md
│   └── schema.md
├── backend/
│   ├── cmd/api/
│   │   └── main.go
│   ├── internal/
│   │   ├── apiutil/
│   │   ├── app/
│   │   ├── audit/
│   │   ├── auth/
│   │   ├── config/
│   │   ├── db/
│   │   ├── device/
│   │   ├── gateway/
│   │   ├── httpserver/
│   │   ├── ipam/
│   │   ├── policy/
│   │   ├── profile/
│   │   ├── user/
│   │   └── wireguard/
│   ├── migrations/
│   │   └── 000001_init.sql
│   ├── seed/
│   │   └── 001_seed.sql
│   ├── Dockerfile
│   └── go.mod
├── admin-web/
│   ├── src/
│   │   ├── api/
│   │   ├── app/
│   │   ├── components/
│   │   ├── features/
│   │   │   ├── audit/
│   │   │   ├── dashboard/
│   │   │   ├── devices/
│   │   │   ├── gateways/
│   │   │   ├── policies/
│   │   │   ├── settings/
│   │   │   └── users/
│   │   └── styles/
│   ├── Dockerfile
│   ├── index.html
│   ├── package.json
│   ├── tsconfig.app.json
│   ├── tsconfig.json
│   └── vite.config.ts
├── desktop-client/
│   ├── src/
│   │   ├── App.tsx
│   │   ├── main.tsx
│   │   └── styles.css
│   ├── src-tauri/
│   │   ├── src/
│   │   │   ├── lib.rs
│   │   │   └── main.rs
│   │   ├── build.rs
│   │   ├── Cargo.toml
│   │   └── tauri.conf.json
│   ├── index.html
│   ├── package.json
│   ├── tsconfig.app.json
│   ├── tsconfig.json
│   └── vite.config.ts
└── deploy/
    ├── .env.example
    ├── docker-compose.yml
    ├── nginx/
    │   ├── admin.conf
    │   └── reverse-proxy.conf
    └── scripts/
        ├── bootstrap-admin.sh
        └── gateway-entrypoint.sh
```
