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
|
||||
|
||||
- name: Install dependencies
|
||||
run: apk add pnpm
|
||||
run: apk add make jq pnpm
|
||||
|
||||
- name: Install packages
|
||||
run: pnpm install --frozen-lockfile
|
||||
working-directory: ./web
|
||||
|
||||
- name: Run prettier
|
||||
run: pnpm exec prettier -w **/*
|
||||
working-directory: ./web
|
||||
run: make web-format
|
||||
|
||||
- name: Commit formatting changes
|
||||
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 */
|
||||
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