A comprehensive Asset and Booking Management System designed for organizations to efficiently manage resource allocation, employee bookings, and asset inventory. Built with modern Vue.js technologies and powered by Supabase.
Z-Volta is a web application that allows organizations to:
- Manage Assets - Register and track office assets (desks, meeting rooms, parking spaces)
- Handle Bookings - Create and manage resource reservations with date ranges
- Control Access - Role-based access control for different user types
- Monitor Usage - Generate reports and analytics on asset utilization
- DIPENDENTE (Employee): View and book available assets
- COORDINATORE (Coordinator): Manage employee bookings and monitor team resource usage
- GESTORE (Manager): Generate reports and view booking analytics
- ADMIN: Full system management including asset configuration and admin access
- Create bookings with custom date ranges
- View active and completed bookings separately
- Modify or cancel active bookings (completed bookings are read-only)
- Real-time availability checking
- Coordinator oversight of team bookings
- Add, update, and delete assets
- Track asset status (DISPONIBILE / OCCUPATO)
- Categorize assets (desks, meeting rooms, parking spaces)
- View asset location and booking history
- Asset utilization reports
- Top user bookings statistics
- Recent booking activity tracking
- Booking status breakdown by asset type
- Italian and English interfaces
- Language toggle in all views
- Full dark mode support across all views
- Theme toggle in header
- Frontend Framework: Vue 3.5 with Composition API
- State Management: Pinia 3
- Routing: Vue Router 4
- Styling: Tailwind CSS 3.4
- Icons: Lucide Vue Next
- Backend: Supabase (PostgreSQL + Real-time)
- Build Tool: Vite
- Package Manager: npm
- Node.js (v16 or higher)
- npm or yarn
- Supabase account and project (see SUPABASE_SETUP.md)
npm installSee SUPABASE_SETUP.md for Supabase configuration and connection details.
npm run devThe application will be available at http://localhost:5173
npm run buildnpm run preview├── public/ # Static assets
├── src/
│ ├── assets/ # CSS and styling
│ │ └── main.css # Global styles
│ ├── lib/ # Utility libraries
│ │ └── supabase.js # Supabase client configuration
│ ├── router/ # Vue Router configuration
│ │ └── index.js # Route definitions
│ ├── services/ # API and database services
│ │ └── database.js # Supabase queries and operations
│ ├── stores/ # Pinia state management
│ │ ├── auth.js # Authentication store
│ │ ├── theme.js # Theme (dark mode) store
│ │ ├── lang.js # Language preference store
│ │ └── counter.js # Example store
│ ├── views/ # Page components
│ │ ├── HomeView.vue # Home & booking management
│ │ ├── MyBookingsView.vue # User's personal bookings
│ │ ├── EmployeeBookingsView.vue # Coordinator employee management
│ │ ├── ReportsView.vue # Analytics and reports
│ │ ├── AdminAssetsView.vue # Asset management (admin only)
│ │ └── LoginView.vue # Authentication
│ ├── i18n.js # Internationalization configuration
│ ├── App.vue # Root component
│ └── main.js # Application entry point
├── index.html # HTML entry point
├── vite.config.js # Vite configuration
├── tailwind.config.js # Tailwind CSS configuration
├── postcss.config.js # PostCSS configuration
└── package.json # Project dependencies
- View all available assets
- Create personal bookings
- View, modify, and cancel their own active bookings
- Access "Le mie prenotazioni" (My Bookings) section
- All employee capabilities
- Access "Prenotazioni Dipendenti" (Employee Bookings) section
- View and manage bookings of their direct reports
- Modify or cancel employee bookings (only for their team members)
- All employee capabilities
- Access "Report" (Reports) section
- View analytics and utilization reports
- Track booking trends and asset usage patterns
- All capabilities of other roles
- Access "Gestione asset" (Asset Management) section
- Create, update, and delete assets
- Modify asset status and details
- System-wide oversight and configuration
- Prenotazioni (Home) - Browse and manage available assets
- Le mie prenotazioni (My Bookings) - View personal bookings
- Prenotazioni Dipendenti (Employee Bookings) - Coordinator only - Manage team bookings
- Report (Reports) - Manager+ only - View analytics
- Gestione asset (Asset Management) - Admin only - Manage inventory
- Navigate to "Prenotazioni" (Home)
- Select an available asset
- Choose date range for the booking
- Submit the booking request
- View in "Le mie prenotazioni"
- Go to "Prenotazioni Dipendenti"
- View all active bookings of your employees
- Edit dates or cancel bookings as needed
- Changes reflect immediately
- Access "Report" section
- View asset utilization breakdown
- See top users and booking trends
- Download reports if needed
- Access "Gestione asset"
- Add new assets with type and location
- Update asset status (DISPONIBILE / OCCUPATO)
- Delete obsolete assets
- Role-Based Access Control (RBAC): Each user type has restricted access
- Row-Level Security (RLS): Database policies enforce data isolation
- Coordinator Filtering: Employees visible only to their assigned coordinator
- Read-Only Completed Bookings: Past bookings cannot be modified
- Secure Authentication: Supabase authentication with session management
The application supports multiple languages:
- Italian (IT) - Default
- English (EN)
Toggle language using the Globe icon in the header of any view.
- Responsive Design: Works on desktop, tablet, and mobile devices
- Dark Mode Support: Full dark mode theme with smooth transitions
- Intuitive Navigation: Consistent sidebar navigation across all views
- Status Indicators: Visual cues for booking status (Active/Completed/Occupied)
- Modal Forms: Easy inline editing of bookings and details
- See
SUPABASE_SETUP.mdfor database schema and configuration instructions - Active bookings are displayed with orange status badge
- Completed bookings are displayed with emerald status badge and are read-only
- Occupied assets show red status indicator
- Available assets show green status indicator