Skip to content

The idea behind this web-based Coffee Shop app is to offer easy menu browsing and pre-orders for customers while reducing mistakes, increasing sales, and improving efficiency for the coffee shop.

Notifications You must be signed in to change notification settings

spatil1697/Docker-and-CI-CD-based-web-application-with-a-friendly-and-intuitive-user-interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

Docker and CI/CD-based web application with a friendly and intuitive user interface

This is a web-based Coffee Shop application. The idea for this application arose from the popularity of coffee in offices and day to day life. The benifits of these are:

For Customers:

  • Convenient menu browsing
  • Ingredient and nutritional info
  • Loyalty points collection
  • Skip the line with pre-orders

For the Coffee Shop:

  • Fewer order mistakes
  • Increased sales and upsells
  • Efficient order processing
  • Enhanced brand presence
  • Direct customer communication

📦 Technologies

  • React Js
  • Tailwind CSS
  • Redux
  • Context API
  • Figma
  • Django
  • JWT
  • SQLite
  • Docker
  • GitHub Actions
  • NGINX load balancer
  • Selenium Testing

✨ Functionalities

Here is what you can do with the Coffee Shop Web Application:

Sign Up:

  • Users can register on the application using their email, name, and password.
  • To ensure accuracy, users are required to retype their password for verification.
  • Once the user clicks on the sign-up button, the backend generates a hash of the password and stores it in the database.

Login:

  • Users can log in using their credentials, with backend verification using JWT authentication.
  • Upon successful verification, an authentication token is assigned to the user and stored in the browser's local storage for 90 days.
  • Token renewal occurs automatically after 90 days if the user remains logged in.

Products:

  • Users can select different products and add them to their cart.

Profile:

  • Users can access their profile by clicking on their name in the navigation bar, allowing them to view their information.

Cart:

  • Within the cart, users can adjust the quantity of selected items or remove them entirely.
  • The cart dynamically updates to display the total price and quantity of items added.

DevOps:

  • For version control, GitHub is utilized and a CI/CD pipeline is created using GitHub Actions.
  • Whenever code is pushed to GitHub, the pipeline triggers. Initially, Selenium tests ensure that the Login page loads correctly.
  • Subsequently, a new image is generated and deployed to the local server.
  • Two servers are deployed, managed by an NGINX load balancer for optimal load distribution.
  • Watchtower continually monitors for new Docker images and automatically updates running containers with the latest versions.

💭 How can it be improved?

  • Add additional authorization features.
  • Add payment functionality.

🖼️ Screenshots

Home_page

coffee_Menu

Snacks_Menu

Single_Item

Cart

login

About

The idea behind this web-based Coffee Shop app is to offer easy menu browsing and pre-orders for customers while reducing mistakes, increasing sales, and improving efficiency for the coffee shop.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published