VilaTaly is a modern hotel management system designed to streamline room package management, booking, inventory, employee, and feedback management for both administrators and guests. The system enables hotel staff to efficiently manage accommodation packages, discounts, inventory, employees, and events, while providing guests with a seamless experience to explore, compare, and book rooms that fit their preferences and budget.
| Name with Initials | Reg. Number | Module Responsibility | |
|---|---|---|---|
| W.G.K. Sandith | IT23305182 | [email protected] | Room Package and Discount Management |
| Alahakoon P B | IT23405240 | [email protected] | Booking and Reservation Management |
| Wanniarachchi L K S | IT23145252 | [email protected] | Inventory Management System |
| Kodithuwakku P R M | IT23491526 | [email protected] | Employee Management System |
| C J Thilakawardana | IT23247840 | [email protected] | User & Feedback Management System |
- W.G.K. Sandith: Room Package and Discount Management – Admin tools for packages/discounts, guest browsing, real-time updates, reporting.
- Alahakoon P B: Booking & Reservation Management – Guest booking, admin booking oversight, notifications, reporting, billing.
- Wanniarachchi L K S: Inventory Management – Real-time stock, item management, reporting, analytics, kitchen supply transfer.
- Kodithuwakku P R M: Employee Management – Staff records, attendance (QR), admin/employee profile management.
- C J Thilakawardana: User & Feedback Management – Registration, login, profile, password, account deletion, feedback system.
-
Room Package Management
- Add, update, and remove room packages with details like room type, price, features, guest limits, and availability.
- Upload images for each package.
- Instantly update package information for guests.
- Related Page:
frontend/src/components/admin/ManagePackages.jsx
-
Discount & Offer Management
- Create, update, and remove discounts (percentage or fixed amount).
- Apply discounts to specific packages or all packages.
- Set validity periods for seasonal or promotional offers.
- Related Page:
frontend/src/components/admin/ManageDiscounts.jsx
-
Inventory Management
- Add, update, view and remove inventory items (e.g., food, beverages, supplies).
- Track stock levels, expiration dates, and reorder points.
- Export inventory data as CSV or PDF.
- Visualize inventory analytics with charts.
- Related Page:
frontend/src/components/admin/ManageInventory.jsx
-
Employee Management
- Add, update, and remove employee records.
- Assign departments, track star points, and manage achievements.
- Upload employee images and generate QR codes for attendance.
- Export employee and attendance data as CSV or PDF.
- Related Page:
frontend/src/components/admin/ManageEmployees.jsx
-
Event/Booking Management
- View, update, and delete all guest bookings.
- Change booking status (pending, confirmed, cancelled).
- Automatic email notifications sent to customers when booking status changes.
- Export booking data as CSV.
- View total confirmed booking revenue.
- Related Page:
frontend/src/components/admin/ManageEvents.jsx
-
Feedback Management
- View all guest feedback with ratings and comments.
- Export feedback as CSV or PDF reports.
- Analyze feedback statistics and rating distributions.
- Related Page:
frontend/src/components/admin/ManageFeedbacks.jsx
-
Reporting
- Generate and export PDF reports for packages, discounts, inventory, employees, bookings, and feedback.
-
Browse Packages
- View all available room packages with clear descriptions, images, prices, features, and guest limits.
- Search, filter, and sort packages by various criteria.
- Related Page:
frontend/src/pages/PackagePage.jsx
-
View Offers
- See all current and upcoming discounts and special offers.
- View which packages are eligible for each offer.
- Related Page:
frontend/src/pages/Offers.jsx
-
Book Rooms
- Book packages directly from the system.
- See real-time updates to package availability and pricing.
- Related Page:
frontend/src/pages/PackageView.jsx
-
Feedback
- Submit feedback and ratings for their stay and services.
- Frontend: React, Ant Design, Axios, Moment.js, Recharts
- Backend: Node.js, Express, MongoDB, Mongoose
- PDF Generation: jsPDF
- Other: React Router, Webpack
- Node.js (v14+ recommended)
- npm or yarn
- MongoDB
- Gmail account (for email notifications)
-
Clone the repository:
git clone https://github.com/yourusername/VilaTaly.git cd VilaTaly -
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd ../frontend npm install -
Set up environment variables:
- Create a
.envfile in thebackenddirectory with your MongoDB URI and email configuration:
MONGODB_URI=your_mongodb_connection_string [email protected] GMAIL_PASSWORD=your_app_password
Note: For Gmail, you'll need to use an App Password if you have 2FA enabled.
- Create a
-
Start the backend server:
npm start
-
Start the frontend development server:
cd ../frontend npm start -
Access the app:
- Open your browser and go to
http://localhost:3000
- Open your browser and go to
VilaTaly/
├── backend/
│ ├── models/
│ ├── routes/
│ ├── controllers/
│ └── ...
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── admin/
│ │ │ │ ├── ManagePackages.jsx
│ │ │ │ ├── ManageDiscounts.jsx
│ │ │ │ ├── ManageInventory.jsx
│ │ │ │ ├── ManageEmployees.jsx
│ │ │ │ ├── ManageEvents.jsx
│ │ │ │ └── ManageFeedbacks.jsx
│ │ ├── pages/
│ │ │ ├── PackagePage.jsx
│ │ │ ├── PackageView.jsx
│ │ │ ├── Offers.jsx
│ │ │ └── ...
│ │ └── ...
│ └── ...
└── README.md
- Admin: Log in to access the admin dashboard for managing packages, discounts, inventory, employees, events, and feedback.
- Guest: Browse packages and offers, book rooms, and submit feedback directly from the website.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write tests for new features
- Update documentation for any changes
- Use clear, descriptive commit messages
- Provide a clear description of changes in pull requests
See CONTRIBUTORS.md for a list of all contributors.
This project is licensed under the MIT License.
For questions or support, please contact [email protected].