GithubHelp home page GithubHelp logo

sdg-local-delights's Introduction

SDG-Local-Delights

Welcome to SDG-Local-Delights! This is a project that aims to build a platform for local businesses to showcase their products and services. This project is part of TAAS course of Computer Science Maaster's Degree at University of Turin.

Indice

Used Technologies

In this project are used the following technologies:

Frontend is built with:

  • Vue.js - The Progressive JavaScript Framework
  • Vite - Next generation frontend tooling
  • Tailwind CSS - A utility-first CSS framework
  • Axios - Promise based HTTP client for the browser and node.js
  • Vue Router - The official router for Vue.js
  • Vuex - State management pattern + library for Vue.js applications
  • Flowbite - Tailwind CSS components and templates
  • Openstreetmap - Interactive Map integration
  • Leaflet - JavaScript library for mobile-friendly interactive maps and reverse geocoding

Backend

Miscellaneous

  • Apidog - API documentation and design
  • Git - Version control system

Get started

First of all, you need to have installed the following tools:

You can choose to run the project in two ways:

In both cases, you need first to clone the repository:

git clone https://github.com/dipada/SDG-Local-Delights.git

Run the project with Docker

Using Docker Compose, you can run the project with the following command:

docker-compose up -d

(Use -d flag to run it in detached mode)

If you want to build the project from scratch, you can use the following command:

docker-compose build --parallel --no-cache && docker-compose up -d

(Use -d flag to run it in detached mode)

Run the project on Kubernetes

As sayd at begin you have to enable Kubernetes on Docker Desktop.

miniKube users

Switching to Docker Desktop Due to QEMU Driver Limitations in Minikube In our journey of developing and testing applications within a local Kubernetes setup, we have navigated through various challenges and limitations. One such challenge arises from the limitations associated with using the QEMU driver for Minikube. These limitations primarily involve networking complexities and the inability to seamlessly expose services for external access, critical aspects for real-time application testing and development. This section provides a concise explanation of the motivations behind choosing Docker Desktop over Minikube due to specific limitations encountered with the QEMU driver, focusing on the aspects of networking and service exposure.

If you want to use minikube you have to change the kubernetes context. Ensure you installed kubernetes extension for docker desktop. You can find instructions here.

After all, check the available contexts with the following command:

kubectl config get-contexts

Then you can switch to docker-desktop context with the following command:

kubectl config use-context docker-desktop

All users - start

Here we assume you have installer docker desktop and enabled kubernetes on it. Or you have installed minikube and switched to docker-desktop context. And cloned the repository.

Start

After satisfying the previous requirements, you can run the project executing the following script:

./k8s-up.sh

Stop

If you want to stop the project, you can execute the following script:

./k8s-down.sh

Delete pvcs

And if you want to delete the pvcs, you can execute the following script:

kubectl delete -f all-pvcs.yaml

How to use the application

After running the project on Docker or Kubernets, you can access the application at the following URL:

http://localhost:30073

Here you will find the landing page of the application. When login with google account or after creating a new user you can:

  • Create a new shop
  • Add some products with images, description, price and category etc
  • View the shops and products on the map
  • Make some orders
  • Mark order for delivery
  • Take and deliver some orders

This a subset of the functionalities that the application provides, just to give you an idea of what you can do with it.

sdg-local-delights's People

Contributors

dipada avatar sofiamaolo avatar

Watchers

 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.