This project is part of Mashgin Software Engineer assignment.
You can access the deployed projecy on https://mashgin.victorbalbo.com/ hosted by Vercel.
vue 3
as main frameworkvue-router
for routingPinia
for state management between componentsTypeScript
for variables typingPrimeVue
for basic componentssass-loader
as extension language for CSS
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).
This project depends on a backend api running. The project for the backend api can be found here. Also the published API can be found at https://mashgin-api.victorbalbo.com/.
If needed to change the url for the api, you can change the default value for the variable serverUri
on the file src/constants.ts
; Or create a .env
file defining the variable value like the exempla bellow:
VITE_SERVER_URI=http://localhost:3000
This project can run in two ways, using Docker
or using Node
commands
To run this project using Docker you will need to have a Docker Engine
and Docker CLI
installed and running.
docker build . -t mashgin-webapp
docker run -p 8080:80 mashgin-webapp
This will run the webapp locally though Docker
using port 8080. The app will run on http://localhost:8080/
To run this project using Node you will need to have a Node 18+
installed. You can check your node version using the command node -v
.
npm install
npm run dev
This will run the webapp locally using port 8080 (if the port is already been used, the next available port will be used). To make sure wich port will be used, check the output of the npm run dev
command.
This WebApp fetches a menu from the Mashgin API project, display the menu itens as cards, allows user to add itens to the cart and to checkout the cart, simulating a e-comerce flow. The cart items are stored locally.