rms/readme.md
2025-05-08 22:07:58 +06:00

46 lines
2.1 KiB
Markdown

## Restaurant Management System
A very basic and bare-bone but still pretty useful restaurant management system
with only the following features:
1. Dashboard for tracking sales and favorite dishes
2. Menu management system for adding and removing dishes from menu
3. Invoice management system for generating and printing invoices
Clearly not meant to automate the entirety of the restaurant with hundreds of
features. But frankly if I had a small to mid size restaurant, I wouldn't go
any further then this as that can cause more problems then it would've solved.
For example, let's say a customer steps in on our moderate sized restaurant,
then he sits down on a table and calls a waiter and orders a fried rice. Pretty
average thing to do for a customer I'd say. If I had an enormous restaurant
management system, it would've required the staff members to login to it and
manage a plethora of things like table reservation, order tracking, raw
ingredients track, etc. But do we really need things like table reservations in
a small to mid sized restaurants where we can know just by taking a look?
That's why I've chosen to keep things simple where it will actually be helpful
and not get in the way. In our country, we have more small to mid sized
restaurants than enormous ones. Therefore this piece of software will prove to
be very useful to my opinion.
## Project Structure
The frontend and backend are totally seperated in this project and is kept
under a frontend and backend folder respectively.
The frontend is very simple utilizing only the following tech:
1. HTML5 for markup
2. Tailwindcsss for styling
3. Alpine.js for easing the Javascript part
And the backend part is also very simple using only php and mysql. Be aware
that pdo_mysql php extension must be enabled as it's used to communicate with
the mysql database server.
The frontend and backend communicates by utilizing restful api. The frontend
makes HTTP requests to the php backend. Upon getting the request, the backend
then fetches some data from the database using pdo_mysql and returns a response
to the frontend with some json data. The frontend then represents and aids to
interact with this data.