Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Default owner for the repository
* @Wasif-ZA

# UI and documentation ownership
/ui/ @Wasif-ZA
/docs/ @Wasif-ZA
/Arduino/ @Wasif-ZA
/scripts/ @Wasif-ZA
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Report a defect in the bridge UI, API proxy, or firmware integration
---

## Description
Provide a clear, concise explanation of the bug.

## Steps to Reproduce
1.
2.
3.

## Expected vs. Actual Behavior
- **Expected:**
- **Actual:**

## Environment
| Component | Details |
| --- | --- |
| UI | Next.js app in `ui/` |
| Firmware | ESP32 / Arduino sketch version |
| Network | Device IP / SSID (no secrets) |
| Browser / OS | |

## Logs / Screenshots
Include any relevant logs, console output, or images.

## Proposed Fix (optional)
If you already know the likely root cause or fix direction, note it here.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature request
about: Propose an improvement to the bridge control system
---

## Summary
Describe the capability you want to add and why it matters.

## Problem / Motivation
What pain point does this solve? Who benefits (operators, maintainers, demo audience)?

## Proposed Approach
- [ ] UI change
- [ ] Firmware change
- [ ] Networking / protocol change
- [ ] Documentation / tooling change

Outline the key steps or behaviors.

## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3

## Testing Plan
How should this be validated locally (UI, CLI, hardware-in-the-loop)?
22 changes: 22 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Summary
Explain what changed and why.

## Changes
- [ ] UI (`ui/`)
- [ ] API proxy (`ui/src/app/api/`)
- [ ] Firmware (`Arduino/`)
- [ ] Tooling / docs

List the most important edits.

## How to Test
Provide copy/paste commands and manual steps.

## Screenshots / Demo (if UI)
Attach screenshots or link to demo artifacts.

## Checklist
- [ ] `npm run lint` (from `ui/`)
- [ ] `npm run test` (from `ui/`)
- [ ] `npm run build` (from `ui/`)
- [ ] Docs updated (README / docs/)
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

on:
push:
branches: ["main", "work"]
pull_request:

jobs:
ui:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ui
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: ui/package-lock.json

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Test
run: npm run test

- name: Build
run: npm run build
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Node / Next.js
node_modules/
.next/
out/
dist/
build/
coverage/

# caches
.turbo/
.vercel/

# environment files
.env
.env.*
!.env.example

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# OS / editors
.DS_Store
*.pem
*.tsbuildinfo

# Python
__pycache__/
*.pyc
File renamed without changes.
File renamed without changes.
43 changes: 43 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Contributing Guide

Thanks for contributing to the Bridge Opening Project!

## 1) Local setup
```bash
cd ui
npm install
cp .env.example .env.local
npm run dev
```

## 2) Branch naming
Use short, descriptive branch names:
- `feat/control-status-panel`
- `fix/api-timeout-error`
- `docs/readme-architecture`

## 3) Commit message format
Keep commits focused and readable:
- `feat: add control panel heartbeat badge`
- `fix: handle missing ESP32_BASE_URL`
- `docs: document bring-up steps`

## 4) Pull requests
Before opening a PR:
```bash
cd ui
npm run lint
npm run test
npm run build
```

Then open a PR with:
- what changed,
- why it changed,
- how it was tested,
- screenshots for UI changes.

## 5) Expectations
- Keep changes scoped and intentional.
- Prefer deleting dead code over commenting it out.
- Update documentation when behavior or setup changes.
41 changes: 0 additions & 41 deletions Docs/ISSUE_TEMPLATE.md

This file was deleted.

43 changes: 0 additions & 43 deletions Docs/PULL_REQUEST_TEMPLATE.md

This file was deleted.

21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Wasif-ZA

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading