Início Profile Projeto
Avatar de

Livio Lopes de Alvarenga

Alfood - Consumindo dados de uma API Rest - React/React Hooks - TypeScript - ViteJs - Axios - MUI UI - Área Administração.

  • React
  • React-Router
  • TypeScript
  • Axios
  • ViteJs
  • JavaScript
  • MUI UI
  • HTML5
  • CSS3
  • Prettier
  • Eslint

Alfood - Consumindo dados de uma API Rest - React/React Hooks - TypeScript - ViteJs - Axios - MUI UI - Área Administração.

SobreVitrine DevTecnologiasInstalaçõesFuncionalidadesAutorLicença

 

Alfood-restaurante

 

💻 Sobre o projeto

🚀 O Alfood é um site que lista restaurantes e pratos do menu. Consumimos dados de uma API Rest e transformamos o site estático em dinâmico com área administrativa com CRUD de restaurantes e pratos.

  • React/React Hooks - TypeScript - ViteJs - Axios - MUI UI - Área Administração

 

issue site alfood total amount of programming languages used in the project most used language in the projects repository size

 


 

📺 Vitrine Dev

🪧 Vitrine.Dev
Nome Alfood - Consumindo dados de uma API Rest - React/React Hooks - TypeScript - ViteJs - Axios - MUI UI - Área Administração.
🏷️ Tecnologias React, React-Router, TypeScript, Axios, ViteJs, JavaScript, MUI UI, HTML5, CSS3, Prettier, Eslint

 

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto

 

html 5 badge CSS 3 badge SASS badge TypeScript badge JavaScript badge Node.js badge React badge React Router badge Axios badge site Vite mui ui vscode download code formatter prettier code standardization eslint


 

⚙️ Instalações

Criando projeto com ViteJs e React e TypeScript

npm create vite@latest alfood -- --template react-ts

# Instalando dependências
cd alfood
npm install

# Instalando vite-tsconfig-paths para fazer imports absolutos
npm install -D vite-tsconfig-paths

# Em vite.config.ts adicione import e plugin
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";

export default defineConfig({
  plugins: [react(), tsconfigPaths()],
});

# Em tsconfig.json adicione a baseURL em compilerOptions
"baseUrl": "./src"

# Instalando react-router-dom
npm install react-router-dom

#Instalando biblioteca de Axios para comunicação Http
npm install axios

Configurando ESlint

# Instalando Eslint
npm init @eslint/config

# √ How would you like to use ESLint? · style
# √ What type of modules does your project use? · esm
# √ Which framework does your project use? · react
# √ Does your project use TypeScript? · Yes
# √ Where does your code run? · browser
# √ How would you like to define a style for your project? · prompt
# √ What format do you want your config file to be in? · JSON
# √ What style of indentation do you use? · 2
# √ What quotes do you use for strings? · double
# √ What line endings do you use? · windows
# √ Do you require semicolons? · Yes

# rodando o eslint e forçando os ajustes com --fix
npx eslint ./src --fix

# Adicionar no arquivo .eslintrs.json no campo rules a opção abaixo para não precisarmos importar o react no inicio do arquivo, as versões acima de 17 do react não tem necessidade de realizar a importação
"react/react-in-jsx-scope": "off"

# Adicionar em ident a opção { "SwitchCase": 1 }, para corrigir erro de edentação em switchCase
"indent": ["error", 2, { "SwitchCase": 1 }],

# Adicionar ignorePatterns "*.config.cjs" para ignorar os arquivos de configuração. Ou adicione no top dos arquivos /* eslint-env node */, pois Node é o ambiente real durante a compilação.
"ignorePatterns": ["*.config.cjs"]

Instalações para suporte

# Instalar sass para compilar css
npm install -D sass

# Instalar componentes MUI
npm install @mui/material @emotion/react @emotion/styled
npm install @mui/icons-material

Instalando api em server

# Fazer um build em container docker
cd server
docker-compose build

 


 

⚙️ Funcionalidades

  • Lista de restaurantes com pratos
  • Filtro por restaurante
  • Ordenação de restaurantes
  • Comunicação com API REST

 

Alfood-api-rest

 

  • Area administrativa com CRUD de restaurantes, sem necessidade de dev atualizar dados do site.

 

Alfood-admin-restaurante Alfood-admin-novo-restaurante

 

  • Area administrativa com CRUD de pratos, sem necessidade de dev atualizar dados do site.

  Alfood-admin-pratos Alfood-admin-novo-prato

 

🧭 Rodando a aplicação web (Modo desenvolvimento)

# Clone este repositório
$ git clone https://github.com/livioalvarenga/alfood.git
# Acesse a pasta do projeto no seu terminal/cmd
$ cd alfood
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# A aplicação será aberta na porta:5173 - acesse http://localhost:5173

🧭 Rodando a aplicação server (Modo desenvolvimento)

$ docker-compose up
# A aplicação será aberta na porta:8000 - acesse http://0.0.0.0:8000/

 


 

🦸 Autor

Olá, eu sou Livio Alvarenga, Engenheiro de Produção | Dev Back-end e Front-end. Sou aficcionado por tecnologia, programação, processos e planejamento. Uni todas essas paixões em uma só profissão. Dúvidas, sugestões e críticas são super bem vindas. Seguem meus contatos.

 

portifólio livio alvarenga perfil linkedin livio alvarenga perfil twitter livio alvarenga perfil instagram livio alvarenga perfil facebook livio alvarenga perfil youtube livio alvarenga

perfil vitrinedev livio alvarenga


 

📝 Licença

Este projeto é MIT licensed.

#CompartilheConhecimento