Skip to content

KevinCamos/VueJS_Laravel_Golang-Gin-Go-MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VueJS_Laravel_Golang-Gin-Go-MySQL

Por Juanmi Bellot Tolsà y Kevin Camos Soto

Table of Contents

  1. Starbars
  2. Instalar
  3. Tecnologias

¡StarBars! 💻

Bienvenidas y bienvenidos a Starbars

¿Qué es VueJS_Laravel_Golang-Gin-Go-MySQL?

Starbars es el segundo proyecto del curso 2º de DAW. Realizado en equipo por jubelltols y KevinCamos con:

  1. Login: VueValidation, modo Administrador (que desde Go se conecta a Laravel para revalidar información), composable, watch para saltar de página tras guardar en store el resultado.

  2. Workers: AuthGuard para entrar solo siendo administrador y poder gestionar un CRUD de la resta de trabajadores. (Solo para administradores)

  3. Products & Categories: AuthGuard para trabajadores, estos tienen permiso para gestionar el CRUD de productos. FileUpload que permite subir imágenes al servidor de Laravel.

  4. Ver Pedidos: AuthGuard para trabajadores, gestión de CRUD de pedidos con componente "Modal" reutilizado con el componente reutilizado "Card-Product"

  5. Mesas: AuthGuard para trabajadores, gestión de CRUD de mesas con componente "Modal" reutilizado con el componente reutilizado "Card-Product", además de poder crear y deshabilitar mesas (si no está ocupado), cancelar el pedido o editar el pedido con referencia a su mesa.

  6. Realizar Pedidos: AuthGuard para trabajadores, gestiona un pedido nuevo o anterior pudiendo editar cantidades de los productos de cada categoría, reutilizando doblemente "Card-Products" para la elección de cada producto y para la previsualización y editación de todo el pedido actual.

  7. Dashboard: Permite ver una serie de estadísticas.

Instalar 💿


Requisitos

Tener instalado las siguientes herramientas:

  • MySQL

  • PHP v8.0

  • Composer v2.1.12 o superior

    $ curl -sS https://getcomposer.org/installer | php
    
    $ sudo mv composer.phar /usr/local/bin/composer
    
  • Go V1.17.3

    $ wget https://dl.google.com/go/go1.16.3.linux-amd64.tar.gz
    
    $ sudo tar -xvf go1.16.3.linux-amd64.tar.gz
    
    $  sudo mv go /usr/local
    
    $ echo "export PATH=$PATH:/usr/local/go/bin" >> $HOME/.profile
    
  • Node v16.13.1.

  • Vue v3

    $ npm install -g @ionic/cli
    

Tras clonar este repositorio con git clone (por ejemplo), ejecutar el siguiente comando en los siguientes repositorios:

npm install

./frontend/Vue

$ php artisan key:generate
$ php artisan route:list
$ sudo service apache2 start

./backend/Laravel

$ go mod init starbars
$ go mod tidy
$ go run main.go

./backend/Go

Tecnologías 👨‍💻


Lista de tecnologías utilizadas en este proyecto:

Backend 🏗️

  • Go: V1.17.3

    • Golang
    • Routes General
    • Module
      • Routes
      • Models
        • UUID
      • Requests
      • Controller
      • Validators
      • Serializers multiple
      • Middlewares (JWT)
      • Middleware
      • Token JWT
      • Connect with Laravel
  • Laravel: V1.17.3

    • Models
    • Migrations
    • RelationShips
    • Triggers
    • FileUpload
    • Traits
    • Repositories
    • Policies and Gates
    • Policies
    • Exceptions
    • Routes
    • Controllers
    • Requests
    • Resources and Collections
    • Middleware

Frontend 🏛️

  • Vue3: V3

    • Javascript
    • Store estructurado en modulos
    • Componentes reutilizables
    • Composables
    • Api Services
      • Servicios de peticiones al servidor
      • Authentication JWT enviado por Headers
    • AuthGuards
    • Funciones reactivas y asyncronas
      • Reactive
      • Computed
      • DefineAsyncComponent
      • Watch y Emmits
      • Suspense (Librería y propio)
      • Lazy Load BBDD💾
  • MySQL

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published