Giter Site home page Giter Site logo

foodie's Introduction

Welcome to Team Foodies! ๐Ÿ•๐Ÿ

But what is Foodies?

Foodies is a distributed system that uses Akka Actors to carry out the necessary functionalities of a food delivery system. It has 5 core services, which are

  • user
  • order
  • restaurant
  • payment
  • delivery

Each member of our group was responsible for one of the services. A user can log in, choose a restaurant by its ID and insert menu items into their basket, also by their IDs. Then, they can proceed with the order. Once the order is finalized, they can choose to pay by Card or Cash. This information is verified by payment service and upon successful transaction, the restaurant and the delivery services are notified of the order.

Our front-end dashboard receives live updates from the server and shows the health and status of the entire system in real-time! This was done thanks to SSE technology.

cover

How to run the system:

  1. Go into the project folder and type:
mvn clean install
docker compose up --build

this will run 4 of the service containers (excluding user).

  1. Next, go to user service folder to run this service:
cd userService
docker buildx build -t 'user-service' .

If you encounter network error, type:

docker network create foodie_foodie-network

then run the user service:

docker run -it -p 2552:2552 -p 8082:8082 --network foodie_foodie-network user-service
  1. Voila!

Instruction on Kubernetes deployment

  1. You need to make sure you have appropriate Kubectl installation and create Kubernetes cluster with Kind/Kubeadm or any other similar tools.

  2. Going to the userService folder. Change all the 'order-system@order-service' in both Main class and UserActor class to 'order-system@localhost'

  3. Go to the project root folder and type:

mvn package
docker compose build

All the images required for Kubernetes deployment will be made in this step.

  1. Go to the folder 'k8s-config'.
kubectl apply -f *.yaml
  1. All other thing should just like dockerization the user service, but do not need to specify a network for it.

  2. Enjoy~

๐ŸŽฅ Watch our video

Unlisted YouTube Video ๐ŸŒŸ Google Drive ๐ŸŒŸ

๐Ÿ“– Read our report here ๐ŸŒ 

foodie's People

Contributors

itgelganbold98 avatar lou1s-chan avatar minahhh666 avatar fyshark avatar minhlynguyen avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.