I have deployed the project on AWS, view at https://bit.ly/LittleLemon
This is my modified capstone project for Meta Back-End Developer Certification where I developed a full-stack website for restaurant management.
● Developed a full-stack website for restaurant management with user-friendly interface with HTML, CSS, and JavaScript and Django partials ensuring a responsive and engaging user experience.
● Utilized Django Modelforms, Generics to build robust back-end functionalities, including menu display, table reservation system and live updates of reservation details.
● Implemented interactive UI components for users to easily book reservations, select preferred dining times, and view availability and prevent duplicate reservations using REST API’s, DOM manipulation and localstorage.
● Deployed and configured application on AWS Cloud leveraging EC2 and RDS(MySQL); Oversaw the security aspects by isolating sensitive data as environment variables, setting up security groups and VPC in AWS.
Python, Django, HTML, CSS, JavaScript, AWS EC2, RDS(MySQL)
Website features homepage for restaurant, menu display, make reservations, view all reservations, get directions and about page.
$ mkdir LittleLemon-FullStack
$ cd LittleLemon-FullStack
$ pip3 install virtualenv
$ virtualenv myprojectenv
$ source myprojectenv/bin/activate
$ git clone https://github.com/rasi5050/LittleLemon-FullStack.git
$ cd LittleLemon-FullStack
create .env file
$ vi littlelemon/.env
paste below configuration with your values, refer for setting up env variables, create django secret key
SECRET_KEY=1*sf%cpjo7sst6n@%l-le0@+*v_z8uff2in051@mc-auc^9z4m
DATABASE_NAME=reservations
DATABASE_USER=db_user
DATABASE_PASS=strongPass349f*(
DATABASE_HOST=localhost
save file using :wq!
$ brew install mysql
refer create mysql database, user and password
login to mysql
$ mysql -u root -p
$ create database reservations
$ CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'strongPass349f*(';
$ GRANT PRIVILEGE ON reservations.* TO 'db_user'@'localhost';
exit mysql
Note: install if required, these packages were required for AWS EC2 linux 2
$ sudo yum install gcc
$ sudo yum install python3-devel
$ pip3 install -r requirements.txt
$ python3 manage.py createsuperuser
provide username, email, password of your choice
$ python3 manage.py makemigrations
$ python3 manage.py migrate
$ python3 manage.py runserver 8000
Navigate your browser to http://127.0.0.1:8000/. That's it!
go to http://127.0.0.1:8000/admin
login with superuser credentials created before
go to Menus -> ADD MENU
add title, price and description. Place an image with <title>.jpg at /restaurant/static/img/<title>.jpg
Displays menu items list and detailed page on clicking with images. Images are mapped from /restaurant/static/img/<title>.jpg, where <title> is the title added for the Menu item using Django admin
date picker and shows existing bookings for the selected date
--
Let me know what you feel about this project. Happy to connect on Linkedin
Happy learning!