Compare commits
13 Commits
6c0ca89fd2
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d05072d52 | ||
|
|
81ff34e16a | ||
|
|
0240efe911 | ||
|
|
a481044c43 | ||
|
|
8c1f041fa0 | ||
|
|
7671a2cd03 | ||
|
|
ad9f708f69 | ||
|
|
e24debfc74 | ||
|
|
c7901688a5 | ||
|
|
7b371c1378 | ||
|
|
48e2008b5c | ||
|
|
aa11d79bf2 | ||
|
|
ccfdf414a5 |
52
.gitea/workflows/build.yml
Normal file
52
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: sh
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
if: gitea.event_name == 'push' || gitea.event.pull_request.merged == true
|
||||||
|
runs-on: lts-alpine
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: apk add make jq pnpm
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
|
working-directory: ./web
|
||||||
|
|
||||||
|
- name: Build web
|
||||||
|
run: make web-build
|
||||||
|
|
||||||
|
- name: Package web
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Create package directory
|
||||||
|
mkdir -p package
|
||||||
|
|
||||||
|
# Copy built files to package
|
||||||
|
cp -r ./web/dist package/
|
||||||
|
cp -r ./schema package/
|
||||||
|
cp ./license package/
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
path: ./package/*
|
||||||
|
retention-days: 15
|
||||||
@@ -23,15 +23,14 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: apk add pnpm
|
run: apk add make jq pnpm
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: pnpm install --frozen-lockfile
|
run: pnpm install --frozen-lockfile
|
||||||
working-directory: ./web
|
working-directory: ./web
|
||||||
|
|
||||||
- name: Run prettier
|
- name: Run prettier
|
||||||
run: pnpm exec prettier -w **/*
|
run: make web-format
|
||||||
working-directory: ./web
|
|
||||||
|
|
||||||
- name: Commit formatting changes
|
- name: Commit formatting changes
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
BIN
media/Screen Shot 2025-10-24 at 19.06.12-fullpage.png
Normal file
BIN
media/Screen Shot 2025-10-24 at 19.06.12-fullpage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
BIN
media/Screen Shot 2025-10-24 at 19.11.06-fullpage.png
Normal file
BIN
media/Screen Shot 2025-10-24 at 19.11.06-fullpage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
BIN
media/Screen Shot 2025-10-24 at 19.18.46-fullpage.png
Normal file
BIN
media/Screen Shot 2025-10-24 at 19.18.46-fullpage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 89 KiB |
BIN
media/Screen Shot 2025-10-24 at 19.21.03-fullpage.png
Normal file
BIN
media/Screen Shot 2025-10-24 at 19.21.03-fullpage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
90
readme.md
Normal file
90
readme.md
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# Kiosk
|
||||||
|
|
||||||
|
A modern office/building information display system built with React and PocketBase. Provides an interactive interface for building navigation, company directory, and bulletin notices.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Interactive Floor Plans** - Navigate multi-story buildings with annex filtering, room highlighting, and company logo positioning
|
||||||
|
- **Company Directory** - Browse tenant companies with contact information and visual cards
|
||||||
|
- **Bulletin Board** - Display important notices and announcements
|
||||||
|
- **Static Hosting Ready** - Hash-based routing for deployment anywhere
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
### Bulletin Board
|
||||||
|

|
||||||
|
|
||||||
|
### Company Directory
|
||||||
|

|
||||||
|
|
||||||
|
### Floor Plan Navigation
|
||||||
|

|
||||||
|
|
||||||
|
### About Page
|
||||||
|

|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- **pnpm** 8+ (package manager)
|
||||||
|
- **PocketBase** (backend database)
|
||||||
|
|
||||||
|
### PocketBase Setup
|
||||||
|
|
||||||
|
1. Download PocketBase from [pocketbase.io](https://pocketbase.io)
|
||||||
|
2. Initialize the database:
|
||||||
|
```bash
|
||||||
|
./pocketbase serve
|
||||||
|
```
|
||||||
|
3. Import the schema from `schema/pb_schema.json` via the PocketBase admin UI (_Settings > Import collections_)
|
||||||
|
|
||||||
|
### Web Frontend
|
||||||
|
|
||||||
|
Install dependencies:
|
||||||
|
```bash
|
||||||
|
cd web
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Development Mode
|
||||||
|
|
||||||
|
Run the development server:
|
||||||
|
```bash
|
||||||
|
make web-dev
|
||||||
|
# or
|
||||||
|
cd web && pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
|
The app will be available at `http://localhost:5173`
|
||||||
|
|
||||||
|
#### Production Build
|
||||||
|
|
||||||
|
Build for production:
|
||||||
|
```bash
|
||||||
|
make web-build
|
||||||
|
# or
|
||||||
|
cd web && pnpm build
|
||||||
|
```
|
||||||
|
|
||||||
|
Built files will be in `web/dist/` - ready for static hosting.
|
||||||
|
|
||||||
|
### Additional Commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make web-lint # Run ESLint
|
||||||
|
make web-format # Format code with Prettier
|
||||||
|
make web-preview # Preview production build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
- **Frontend**: React 19, TypeScript, Vite, Tailwind CSS
|
||||||
|
- **UI Components**: shadcn/ui
|
||||||
|
- **Routing**: Wouter (hash-based)
|
||||||
|
- **Backend**: PocketBase
|
||||||
|
- **Build**: Vite with Rolldown (beta)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT License - Copyright © 2025 "NABLA" d.o.o. Zenica
|
||||||
@@ -22,7 +22,7 @@ const getPocketBaseUrl = (): string => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Production URL - configure via build process or use relative URL */
|
/* Production URL - configure via build process or use relative URL */
|
||||||
return import.meta.env.VITE_POCKETBASE_URL || "https://api.yourdomain.com";
|
return import.meta.env.VITE_POCKETBASE_URL || "http://localhost:8090";
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user