feat: professional repo cleanup + community infrastructure
- README: remove Recent Updates section, clean roadmap (pending only), replace Screenshots with demo link, add 6 new badges (stars, last commit, contributors, discussions, CI), invite GIF contributions - CHANGELOG: translate all Italian entries to English, add v1.7.13 (DB fresh-install crash fix) - database.php: add missing 'undone' column to transactions schema; wrap ALTER TABLE calls in try/catch to prevent race-condition errors on concurrent first requests - Wiki: Android-Kiosk v1.5.0 → v1.6.0, Step 5 rewritten (BLE scan, no external APK), removed gateway troubleshooting section - Wiki: Scale-Gateway promoted to deprecated with redirect banner - Wiki: Home What's New updated to v1.7.12 / v1.7.13 - Wiki: Features.md, kiosk README Italian UI strings translated - .github: add bug_report.yml, feature_request.yml issue templates, config.yml (blank issues off, links to FAQ/Discussions/Security), PULL_REQUEST_TEMPLATE.md with checklist - .github: FUNDING.yml (Ko-fi), dependabot.yml (monthly action updates) - .github/workflows/security.yml: Trivy docker + fs scan, SARIF upload - .github/workflows/build-scale-gateway.yml: disabled (deprecated) - SECURITY.md: responsible disclosure policy, supported versions, scope - CODE_OF_CONDUCT.md: Contributor Covenant 2.1 - Settings UI: About section with version display, Report Bug button, Changelog and GitHub links; reportBugManual() + _loadAboutSection() - Translations: added 'about' key group (9 keys × 3 languages)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
ko_fi: dadaloop82
|
||||
@@ -0,0 +1,114 @@
|
||||
name: Bug Report
|
||||
description: Report a bug or unexpected behavior in EverShelf
|
||||
title: "[BUG] "
|
||||
labels: ["bug"]
|
||||
assignees: ["dadaloop82"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to report a bug! Please fill in the details below.
|
||||
Before submitting, check the [FAQ](https://github.com/dadaloop82/EverShelf/wiki/FAQ) and [existing issues](https://github.com/dadaloop82/EverShelf/issues?q=is%3Aissue+label%3Abug).
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: EverShelf Version
|
||||
description: Found in Settings → About, or in the footer of the web app.
|
||||
placeholder: "e.g. 1.7.13"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: component
|
||||
attributes:
|
||||
label: Component
|
||||
description: Which part of EverShelf is affected?
|
||||
options:
|
||||
- Web app (browser / PWA)
|
||||
- Android Kiosk app
|
||||
- API / PHP backend
|
||||
- Docker setup
|
||||
- Bring! integration
|
||||
- AI features (Gemini)
|
||||
- Smart Scale
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Bug Description
|
||||
description: A clear and concise description of the bug.
|
||||
placeholder: "What went wrong?"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: How can we reproduce this?
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Tap '...'
|
||||
3. See error
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What should have happened?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: actual
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: What actually happened? Include error messages, screenshots, or console output.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: browser
|
||||
attributes:
|
||||
label: Browser / OS
|
||||
placeholder: "e.g. Chrome 124 on Android 13, Safari on iOS 17, Firefox on Ubuntu 22.04"
|
||||
|
||||
- type: input
|
||||
id: php
|
||||
attributes:
|
||||
label: PHP Version (if relevant)
|
||||
placeholder: "e.g. 8.2.12 — run: php -v"
|
||||
|
||||
- type: dropdown
|
||||
id: install
|
||||
attributes:
|
||||
label: Installation Method
|
||||
options:
|
||||
- Docker (docker compose)
|
||||
- Manual (Apache/Nginx)
|
||||
- Other
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant Logs
|
||||
description: PHP error log, browser console output, or `data/error_reports.log` snippet.
|
||||
render: text
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I searched existing issues and this is not a duplicate
|
||||
required: true
|
||||
- label: I checked the FAQ
|
||||
required: true
|
||||
- label: I am on the latest version (or this bug exists on the latest version)
|
||||
required: false
|
||||
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 📖 Wiki & FAQ
|
||||
url: https://github.com/dadaloop82/EverShelf/wiki/FAQ
|
||||
about: Check the FAQ — your question may already be answered there.
|
||||
- name: 💬 Discussions — Q&A
|
||||
url: https://github.com/dadaloop82/EverShelf/discussions
|
||||
about: General questions, show-and-tell, ideas — use Discussions, not Issues.
|
||||
- name: 🔒 Security Vulnerability
|
||||
url: mailto:evershelfproject@gmail.com
|
||||
about: Please report security vulnerabilities privately via email, not as a public issue.
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature or improvement
|
||||
title: "[FEATURE] "
|
||||
labels: ["enhancement"]
|
||||
assignees: ["dadaloop82"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for the idea! Check the [Roadmap](https://github.com/dadaloop82/EverShelf/blob/main/README.md#-roadmap) and [Discussions](https://github.com/dadaloop82/EverShelf/discussions) first — it may already be planned or discussed.
|
||||
|
||||
- type: dropdown
|
||||
id: category
|
||||
attributes:
|
||||
label: Category
|
||||
options:
|
||||
- Inventory management
|
||||
- Shopping list
|
||||
- AI / Gemini features
|
||||
- Cooking mode
|
||||
- Dashboard / stats
|
||||
- Kiosk app
|
||||
- Smart Scale
|
||||
- Integrations (Bring!, HA, etc.)
|
||||
- Performance / developer experience
|
||||
- Translations / i18n
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: Problem / Motivation
|
||||
description: What pain point does this address? Why do you need this?
|
||||
placeholder: "I'm always frustrated when..."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Proposed Solution
|
||||
description: Describe what you'd like to see added or changed.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives Considered
|
||||
description: Any workarounds you've tried, or other solutions you considered?
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Screenshots, mockups, links to similar features in other apps, etc.
|
||||
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I checked the Roadmap and this is not already planned
|
||||
required: true
|
||||
- label: I searched existing issues and discussions — this is not a duplicate
|
||||
required: true
|
||||
@@ -0,0 +1,47 @@
|
||||
## Description
|
||||
|
||||
<!-- What does this PR do? Link the related issue: "Closes #123" or "Relates to #123" -->
|
||||
|
||||
Closes #
|
||||
|
||||
---
|
||||
|
||||
## Type of Change
|
||||
|
||||
- [ ] Bug fix (non-breaking change that fixes an issue)
|
||||
- [ ] New feature (non-breaking change that adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
|
||||
- [ ] Refactor / cleanup (no functional change)
|
||||
- [ ] Documentation update
|
||||
- [ ] Translation update
|
||||
|
||||
---
|
||||
|
||||
## Testing
|
||||
|
||||
<!-- How was this tested? -->
|
||||
|
||||
- [ ] Tested locally (PHP built-in server or Docker)
|
||||
- [ ] Tested on mobile browser
|
||||
- [ ] Tested with Docker Compose: `docker compose up --build`
|
||||
- [ ] PHP syntax: `php -l api/index.php && php -l api/database.php`
|
||||
- [ ] JS syntax: `node --check assets/js/app.js`
|
||||
|
||||
---
|
||||
|
||||
## Translation
|
||||
|
||||
- [ ] New user-visible strings added → translation keys added to **all three** files: `translations/it.json`, `en.json`, `de.json`
|
||||
- [ ] No user-visible strings changed
|
||||
|
||||
---
|
||||
|
||||
## CHANGELOG
|
||||
|
||||
- [ ] Entry added to `CHANGELOG.md` under `## [Unreleased]` or the correct version
|
||||
|
||||
---
|
||||
|
||||
## Screenshots / Video
|
||||
|
||||
<!-- If this is a UI change, add before/after screenshots. Delete this section if not applicable. -->
|
||||
@@ -0,0 +1,10 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
commit-message:
|
||||
prefix: "ci"
|
||||
labels:
|
||||
- "dependencies"
|
||||
@@ -1,13 +1,14 @@
|
||||
name: Build & Release Scale Gateway APK
|
||||
name: Build & Release Scale Gateway APK (DEPRECATED)
|
||||
# ⚠️ This workflow is disabled. The Scale Gateway is deprecated since Kiosk v1.6.0.
|
||||
# BLE scale support is now built into the EverShelf Kiosk app.
|
||||
# Kept for reference — re-enable manually via workflow_dispatch if needed for legacy setups.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- develop
|
||||
paths:
|
||||
- 'evershelf-scale-gateway/**'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
confirm:
|
||||
description: "Type 'yes' to confirm you want to build the deprecated gateway APK"
|
||||
required: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Security Scan (Trivy)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
paths:
|
||||
- 'Dockerfile'
|
||||
- 'docker-compose.yml'
|
||||
- 'api/**'
|
||||
schedule:
|
||||
# Run weekly on Monday at 07:00 UTC
|
||||
- cron: '0 7 * * 1'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
trivy-docker:
|
||||
name: Trivy — Docker image scan
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
security-events: write
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t evershelf:scan .
|
||||
|
||||
- name: Run Trivy vulnerability scanner
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
image-ref: 'evershelf:scan'
|
||||
format: 'sarif'
|
||||
output: 'trivy-results.sarif'
|
||||
severity: 'CRITICAL,HIGH'
|
||||
exit-code: '0' # don't fail the build, just report
|
||||
|
||||
- name: Upload Trivy SARIF to GitHub Security tab
|
||||
uses: github/codeql-action/upload-sarif@v3
|
||||
with:
|
||||
sarif_file: 'trivy-results.sarif'
|
||||
category: 'trivy-docker'
|
||||
|
||||
trivy-fs:
|
||||
name: Trivy — Filesystem scan
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
security-events: write
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Run Trivy filesystem scanner
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
scan-type: 'fs'
|
||||
scan-ref: '.'
|
||||
format: 'sarif'
|
||||
output: 'trivy-fs-results.sarif'
|
||||
severity: 'CRITICAL,HIGH'
|
||||
exit-code: '0'
|
||||
|
||||
- name: Upload Trivy FS SARIF
|
||||
uses: github/codeql-action/upload-sarif@v3
|
||||
with:
|
||||
sarif_file: 'trivy-fs-results.sarif'
|
||||
category: 'trivy-fs'
|
||||
Reference in New Issue
Block a user