/pandama

šŸ‘µšŸ» Pandama online store created by Django and deployed by Docker.

Primary LanguageCSS

Gitbook Badge Django Badge

Website Preview

preview

Vision

As Chinese students, we hope to buy all kinds of Chinese goods in Pittsburgh. Usually, we choose to buy at Lotus Supermarket, but the online shopping platform of Lotus is not good. When purchasing various daily necessities and food, we found that there were various problems with the interface of the Lotus website. For example, its recharge button may fail. If you click the button several times in a row, you will be charged more than once. Its account management is also very problematic, and the password of an account can be changed without verification. Our group wants to build a shopping platform like Lotus supermarket to provide groceries for Chinese students.

The meaning of the project name

Pandama = Panda + ma. "Panda" is the symbol of China, it represents the Chinese featured products on our websites. The pronunciation of "DaMa" is the same as the Chinese character "大妈" which means the grandmother in English. The name gives homesick Chinese students a feeling of sweet home and their own lovely grandmother. So, visiting the Pandama is just like coming back home and taking a tasty dinner made by your grandmother.

Contributors

This project came from my team project in CMU course 17637 taught by Jeffrey Eppinger and Sujata Telang, team members are shown below. And later I add more monitoring features and docker configuration into this project.

Name Department Contributions
Ninglin Liu CMU Heinz College - MISM Lead Team / Develop / Deployment / Docker Configuration
Jianbing Gong CMU Heinz College - MISM Develop
Shu Wu CMU Heinz College - MISM Develop
Xiaoting Wang CMU Heinz College - MISM BIDA Develop

Acknowledgement

All product data crawled from Lotus Food.

Future Works

  • Transform to Django REST framework
  • Using Kubernetes to implement a microservices architecture
  • Deploy apps into Kubernetes cluster in AWS
  • Add management features
  • (Optional) Try Service Mesh

Features

preview

Tech Arch

preview

Getting started

Steps for Running Pandama in Local Docker:

  1. Configuration
    1. Put your custom env file under the env folder
    2. Set your secret key and access key for your AWS account
    3. Change your S3 access URL
  2. Run by docker compose
    docker-compose up
    docker compose
  3. Create products from Pittsburgh chinese lotus online store
    curl -x POST localhost/operation/spider_execute
  4. Access Pandama with the mobile mode in the browser(Chrome)
    http://localhost
    
  5. Stop docker compose Click "Ctrl" + "C" to force stop, then type the commands below
    docker-compose down
    docker compose

URL for Pandama