This is a Next.js starter project for LoungeOS, a comprehensive management solution for lounges and restaurants. For more detailed documentation, please check the docs/ folder.
First, install the dependencies:
npm installThen, run the development server:
npm run devOpen http://localhost:9002 with your browser to see the result.
The main application logic is in the src/ directory.
This application is designed to run in a local environment without internet access, using an SQLite database for data persistence. The current state of the code uses mock data providers but is structured to easily integrate with a real database.
The better-sqlite3 package is already included in package.json. Running npm install will set it up.
Run the following command to create all necessary tables in your loungeos.db file:
npm run db:initThis will set up the full schema automatically. You do NOT need to manually create tables.
To get started quickly, populate the database with a default user for each role:
npm run db:seedThis will create the following user accounts with the password password for all of them:
superadmin@lounge.com(Super Admin)manager@lounge.com(Manager)stock@lounge.com(Stock Manager)chef@lounge.com(Chef)waiter-main@lounge.com(Waiter, Main Floor)waiter-vip@lounge.com(Waiter, VIP Lounge)cashier@lounge.com(Cashier)bartender@lounge.com(Bartender)
For more details on roles and permissions, see docs/authentication.md.
To populate the inventory tables with sample data, run:
npm run db:seed-inventoryThe project contains a src/lib/db directory with files that abstract data operations. You will need to replace the mock logic in these files with actual database queries using better-sqlite3. An example is provided in docs/database.md.
The application is set up to handle image uploads for staff avatars and meal pictures. The logic assumes that images are not stored in the database. Instead, only the path to the image is stored. For full implementation details, see docs/features.md.