Skip to content

Find the cheapest and quickest food delivery option

Notifications You must be signed in to change notification settings

Totalvery/totalvery

Repository files navigation

Totalvery

Totalvery helps you compare the price, the estimated time of arrival, and offers between the top food delivery services such as UberEats, DoorDash, and GrubHub.

Instruction

First of all, you need a US IP because some apps where Totalvery crawls data in real-time may not be available in your country other than the US. You can set a US IP with VPN. Then, you have to install Docker in order to build the environment.

To run this app:

$ git clone https://github.com/Totalvery/totalvery.git
$ cd totalvery
$ docker-compose down -v
$ docker-compose up --build

Open the new terminal and check your CONTAINER ID of the totalvery_web IMAGE:

$ docker ps

It will be like this:

$ docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS          PORTS                    NAMES
7468f0fe33d5   totalvery_web        "python manage.py ru…"   19 minutes ago   Up 19 minutes   0.0.0.0:8000->8000/tcp   totalvery_web_1
ca269c4f4a10   totalvery_frontend   "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   0.0.0.0:3000->3000/tcp   totalvery_frontend_1
016f221cbb3b   totalvery_my_db      "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   27017/tcp                totalvery_my_db_1

Replace [CONTAINER ID] with the most top ID that you checked above:

$ docker exec -it [CONTAINER ID] python manage.py makemigrations
$ docker exec -it [CONTAINER ID] python manage.py migrate

For exeample:

$ docker exec -it 7468f0fe33d5 python manage.py makemigrations
$ docker exec -it 7468f0fe33d5 python manage.py migrate

Then you can see the demo web page with your local computer:

👉🏼 http://localhost:3000/

* Logging will be on your terminal. If you think the program's not working, check your terminal.

Usage of Google Cloud

  • Google Places API
    • Used for address autocomplete at search bar
  • Google Maps Javascript API
    • Used to show map for the searched location

Uniqueness Compared to Other Similar Apps

  • Includes promotion deals
  • Offers user to filter restaurants based on their preference
  • Also, we plan to show membership-applied fees and offers by connecting accounts

Result

Result1 Result2 Result3 Result4 Result5 Result6 Result7 Result8

Learning Outcomes

  • Coding with team
  • Using Docker to code in equal environments
  • Using React to build frontend
  • Using Bootstrap for frontend design and development
  • Learning how to use Javascript, HTML and CSS
  • Using Django REST Framework to build API
  • Connecting MongoDB with Django for better performance
  • Using Python Requests library to send query and fetch data from external websites or APIs

To-do

  • Create a Totalvery API that returns a restaurant list around the user and the information of a restaurnat by aggregating data from all the delivery apps
  • Connect a MongoDB
  • Implement functionality to filter restaurants based on the user preference
  • Function that enable users adjust their expected cart size
  • Implement functionality to enable users to link their account with UberEats, Doordash and GrubHub, which helps Totalvery provide more reliable information about estimated fees

Author

Hyoseo Kwag / @REJIHA

Hyunju Song / @Sarahssong98

Sooyoung Moon / @symoon94