A modern restaurant website built with React.js and Node.js, featuring an online reservation system and menu showcase.
- Interactive menu display
- Real-time table reservation system
- Chef profiles
- Contact information
- Responsive design for all devices
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Routing: React Router
- API: RESTful API
erDiagram
TableLocation ||--o{ Table : "has many"
Table ||--o{ Reservation : "assigned to"
TableLocation {
ObjectId _id
String name
}
Table {
ObjectId _id
String tableName
Number seats
Boolean canCombine
ObjectId locationId
}
Reservation {
ObjectId _id
String name
String email
String phone
Date startTime
Date endTime
Number guests
ObjectId[] tableIds
Date createdAt
Date updatedAt
}
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
git clone https://github.com/Tshabalala-Thabo/lobster-clan-react.git
cd lobster-clan-react# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm installCreate a .env file in the backend directory with the following variables:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
cd backend
npm startcd frontend
npm startThe application will be available at:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
- POST
/api/check-time-slots- Check available time slots - POST
/api/check-availability- Check table availability - POST
/api/submit-reservation- Submit a new reservation
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run eject- Ejects from Create React App
npm start- Starts the servernpm run dev- Starts the server with nodemon for development
lobster-clan-react/
├── frontend/
│ ├── public/
│ └── src/
│ ├── components/
│ ├── pages/
│ └── App.js
└── backend/
├── controllers/
├── routes/
├── config/
└── server.js
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request


