Skip to content

GuiFrancini/Restaurante-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ Sistema de Gerenciamento de Restaurant

Um sistema para o gerenciamento de restaurante,: Banco de Dados, Back-end (API) e Front-end (UI).

O projeto implementa um CRUD (Create, Read, Update, Delete) com exclusão lógica (Soft Delete) para 7 entidades fundamentais: Clientes, Categorias, Formas de Pagamento, Garçons, Cardápio, Pedidos e Itens do Pedido.


🎥 Apresentação do Projeto

👉 apresentação do sistema (Google Drive)


🏗️ Arquitetura e Repositórios

  • 🗄️ BD-RESTAURANTE Contém toda a modelagem de dados, incluindo o Modelo Entidade-Relacionamento (MER), scripts de criação das tabelas, inserção de dados iniciais e as Stored Procedures .

  • ⚙️ Restaurante-api Back-end RESTful desenvolvido em Node.js, Express e TypeScript. Organizado no padrão MVC/Service, consome o banco de dados executando as Procedures e devolve respostas padronizadas via JSON.

  • 💻 Restaurante-front Aplicação cliente desenvolvida em React, TypeScript e Vite. Consome a API através do Axios e possui uma interface minimalista


🚀 Tecnologias Utilizadas

Front-end:

  • React + TypeScript + Vite
  • React Router DOM
  • Axios (Requisições HTTP)
  • Lucide React

Back-end:

  • Node.js + Express
  • TypeScript
  • MySQL2
  • CORS

Banco de Dados & Infraestrutura:

  • MySQL (via Docker)
  • Stored Procedures SQL

🛠️ Como rodar o projeto localmente

Pré-requisitos

Passo 1: Subindo o Banco de Dados (Docker + MySQL)

  1. Clone o repositório do banco de dados:
    git clone [https://github.com/GuiFrancini/BD-RESTAURANTE.git](https://github.com/GuiFrancini/BD-RESTAURANTE.git)
    cd BD-RESTAURANTE
    Inicie um contêiner MySQL mapeando para a porta 3307 (para evitar conflitos com instalações locais):
    

Bash

2. Configuração do Banco de Dados (MySQL)

2.1 Iniciar o Contêiner MySQL

Execute o comando abaixo para criar e iniciar um contêiner MySQL utilizando a porta 3307, evitando conflitos com instalações locais:

docker run --name mysql-restaurante -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 -d mysql:latest

2.2 Conectar ao Banco de Dados via (terminal)

Parâmetro Valor
Host localhost
Porta 3307
Usuário root
Senha root

2.3 Executar os Scripts SQL

Após estabelecer a conexão, execute os scripts na seguinte ordem:

2.3.1 Criação da Estrutura do Banco

01_create.sql

2.3.2 Inserção dos Dados Iniciais

02_insert.sql

2.3.3 Criação das Procedures

03_procedures.sql

3. Executando o Back-end (API)

3.1 Clonar o Repositório

Abra um novo terminal e execute:

git clone https://github.com/GuiFrancini/Restaurante-api.git
cd Restaurante-api

3.2 Instalar as Dependências

npm install

3.3 Iniciar o Servidor

npm run dev

3.4 Acessar a API Em:

http://localhost:3001

4. Executando o Front-end

4.1 Clonar o Repositório

git clone https://github.com/GuiFrancini/Restaurante-front.git
cd Restaurante-front

4.2 Instalar as Dependências

npm install

4.3 Iniciar a Aplicação React

npm run dev

4.4 Acessar o Sistema Em:

http://localhost:5173

About

back-end do sistema de restaurante em typescript + Express + Mysql2 + Cors + Dotenv

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors