Svelte Commerce
A standalone open-source storefront built with SvelteKit, headless across 26 commerce backends. MIT licensed.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Sistema de pedidos da cantina do COTEMIG. O aluno vê o cardápio, monta o carrinho, paga com o saldo da carteira e retira o pedido no balcão com um código. A administração acompanha os pedidos e cuida do cardápio e dos alunos.
| Nome | Matrícula |
|---|---|
| Caio Antunes Guedes Alves da Silva | 12501719 |
| Davi Pimentel de Moraes | 12502120 |
| Ana Julia Gois do Nascimento | 22401369 |
| João Vitor Marques de Sampaio | 22400540 |
| Felipe Ferreira da Fonseca | 12502537 |
| Maria Eduarda Fidelis Correa | 12401595 |
| Parte | Tecnologia |
|---|---|
| Front-end | HTML, CSS, JavaScript e Bootstrap 5.3 |
| Back-end | Python, Flask (API JSON), Flask-SQLAlchemy e Flask-Login |
| Banco | MySQL, com stored procedures (SQLite para testar sem MySQL) |
| Servidor | AWS EC2 |
Existem três perfis: aluno, admin e mestre. O primeiro cadastro do sistema vira mestre.
Aluno
Admin
Mestre (tudo do admin, e mais)
Status de um pedido: Pendente (em preparo) → Pronto (pronto para retirar) → Concluído (entregue). Antes de ser entregue, o pedido pode ser Cancelado.
flowchart LR
T["Tela<br/>(HTML + JS)"] -->|"fetch: HTTP + JSON"| C["Controller<br/>(rotas)"]
C --> S["Service<br/>(regras)"]
S --> M["Model<br/>(CRUD)"]
S --> R["Repository<br/>(consultas especiais)"]
M --> DB[("MySQL")]
R -->|"CALL sp_..."| DB
| Camada | Pasta | Papel |
|---|---|---|
| Controller | backend/controllers/ | Recebe a requisição, chama o service e devolve JSON |
| Service | backend/services/ | Um caso de uso por classe, com as regras de negócio |
| Model | backend/models/ | Uma classe por tabela, com o CRUD |
| Repository | backend/repositories/ | Consultas não-CRUD, feitas por stored procedures |
Exemplo, o aluno finaliza o pedido:
cardapio.js → POST /api/carrinho/finalizar → item_pedido_controller → FinalizarPedidoService → Pedido / ItemPedido → banco
O diagrama de classes está em docs/diagrama-de-classes.md.
| Procedure | Usada em |
|---|---|
sp_produtos_por_categoria | Filtro por categoria |
sp_produtos_por_faixa_de_preco | Filtro por preço |
sp_produtos_ordenar_por_preco / sp_produtos_ordenar_por_nome | Ordenação |
sp_repetir_ultimo_pedido | "Repetir último pedido" |
sp_combinacoes_mais_pedidas | Combos mais pedidos |
Elas são criadas pelo backend/database/create-database.sql.
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python app.py
Abra http://127.0.0.1:5000.
Sem configuração, o projeto usa SQLite (cantina.db). Para usar o MySQL, rode o create-database.sql e crie um .env na raiz:
DATABASE_URL=mysql+pymysql://usuario:senha@localhost/cantina_db?charset=utf8mb4
SECRET_KEY=um-texto-longo-e-aleatorio
FLASK_DEBUG=False
| Pasta | O que tem em cada pasta |
|---|---|
backend/ | A API: camadas, app.py e login |
backend/database/ | Script do MySQL (tabelas e procedures) |
front-end/ | As páginas |
front-end/js/ | Um JavaScript por página |
backend/imagens-produtos | Fotos dos produtos |
docs/ | Diagrama de classes |
preco_atual.RateioPagamento e a tabela existem, mas ainda não têm tela nem rota.