Sistema completo de cardápio digital para lanchonetes com foco mobile, desenvolvido em PHP usando Slim Framework 4.
- Design Mobile First - Interface otimizada para dispositivos móveis
- Personalização de Açaí - Sistema estilo iFood para escolher tamanhos e ingredientes
- Painel Administrativo - CRUD completo para produtos, categorias e ingredientes
- Responsivo - Utiliza TailwindCSS para interface moderna
- Arquitetura Limpa - Código organizado e orientado a objetos
- Backend: PHP 8.0+ com Slim Framework 4
- Banco de Dados: MySQL 8.0+
- Frontend: HTML5 + TailwindCSS + JavaScript Vanilla
- Dependências: Composer para gerenciamento de pacotes
- PHP 8.0 ou superior
- MySQL 8.0 ou superior
- Composer
- Servidor web (Apache/Nginx)
git clone <url-do-repositorio>
cd menu.linksbio.me
composer install
- Crie um banco de dados MySQL ou PostgreSQL:
CREATE DATABASE db_menu_digital;
- Execute o script de criação das tabelas:
mysql -u root -p acaiteria_cardapio < database/setup.sql
- Copie o arquivo de exemplo:
copy .env.example .env
- Edite o arquivo
.env
com suas configurações e adicione mais variaveis se necessário:
DB_HOST=localhost
DB_NAME=acaiteria_cardapio
DB_USER=seu_usuario
DB_PASSWORD=sua_senha
APP_ENV=development
Certifique-se de que o mod_rewrite está habilitado e aponte o DocumentRoot para a pasta public/
.
Exemplo de VirtualHost:
<VirtualHost *:80>
ServerName acaiteria.local
DocumentRoot /caminho/para/cardapio_base/public
<Directory /caminho/para/cardapio_base/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
server {
listen 80;
server_name acaiteria.local;
root /caminho/para/cardapio_base/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
- Acesse o cardápio público (domínio exemplo):
http://acaiteria.local/
- Acesse o painel admin:
http://acaiteria.local/admin
- Lista todos os produtos por categoria
- Filtros por categoria
- Modal de personalização para açaís
- Cálculo automático de preços
- Interface mobile responsiva
- Dashboard com estatísticas gerais
- Produtos - CRUD completo com configurações específicas para açaí
- Categorias - Visualização das categorias
- Ingredientes - Visualização dos ingredientes disponíveis
- categories - Categorias dos produtos
- products - Produtos do cardápio com configurações especiais para açaí
- ingredients - Ingredientes disponíveis para personalização
size_ml
- Tamanho do açaí em mililitrosmax_ingredients
- Limite de ingredientes por açaísize_order
- Ordem de apresentação dos tamanhos
- Insira novos ingredientes no banco:
INSERT INTO ingredients (name, type, additional_price)
VALUES ('Novo Ingrediente', 'novo_tipo', 2.50);
- O sistema agrupará automaticamente por tipo no modal de personalização.
- Adicione um novo produto de açaí:
INSERT INTO products (name, description, price, category_id, size_ml, max_ingredients, size_order)
VALUES ('Açaí Gigante', 'Para os famintos!', 35.00, 1, 1500, 15, 5);
menu.linksbio.me/
├── config/ # Configurações da aplicação
├── database/ # Scripts SQL
├── public/ # Ponto de entrada web
├── src/ # Código fonte PHP
│ ├── Controllers/ # Controladores
│ ├── Models/ # Modelos de dados
│ └── Services/ # Serviços auxiliares
├── templates/ # Templates PHP
│ ├── admin/ # Templates do painel admin
│ └── menu/ # Templates do cardápio público
└── vendor/ # Dependências do Composer
Desenvolvido por Júnior Santos