Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Silivri Municipality Kiosk

Desktop kiosk browser and administration backend developed for controlled access to approved municipal web services.

The project is split into two layers:

  • Frontend: Electron-based kiosk application
  • Backend: PHP + MySQL administration/API layer

Architecture

silivribel-kiosk/
├── frontend/
│   ├── index.html
│   ├── assets/
│   ├── package.json
│   └── package-lock.json
└── backend/
    ├── admin.php
    ├── api.php
    ├── db.php
    ├── config.example.php
    └── silivri_kiosk.sql

Frontend

The desktop client uses Electron and is configured for Windows and Linux packaging.

Available scripts:

npm start
npm run build:win
npm run build:linux

Build targets include:

  • Windows NSIS installer
  • Linux AppImage

Backend

The backend provides a management interface and JSON API for the kiosk client.

API actions

Action Purpose
?action=urls Returns active, approved service URLs in configured display order
?action=log Records a kiosk URL access event
?action=settings Returns renderer-safe kiosk settings

The API uses prepared database statements, restricts supported HTTP behavior, applies basic security headers and limits CORS to configured origins.

Data model

The included SQL schema supports core kiosk data such as:

  • allowed service URLs
  • display ordering and service metadata
  • access logs
  • kiosk settings

Configuration

  1. Import backend/silivri_kiosk.sql into MySQL/MariaDB.
  2. Copy backend/config.example.php to your local configuration file and provide environment-specific database values.
  3. Serve the backend through PHP.
  4. Install frontend dependencies:
cd frontend
npm install
npm start
  1. Configure the kiosk frontend/backend endpoint and approved origins for your deployment environment.

Security notes

  • Keep environment-specific credentials out of source control.
  • Review the CORS allowlist before deployment.
  • Expose only required backend routes.
  • Use HTTPS for production traffic.
  • Apply least-privilege database permissions.
  • Treat access logs as operational data and protect them accordingly.

Project purpose

The system is intended to provide a controlled kiosk experience for accessing approved municipal services while keeping service configuration and usage records centrally manageable.

Licensing

The repository currently contains licensing metadata in more than one location. Review the root LICENSE and application package metadata before reuse or redistribution and ensure they reflect the intended ownership and licensing policy.

Author / Project

Developed in the context of T.C. Silivri Belediyesi Bilgi İşlem Müdürlüğü operations.

About

Municipal kiosk software with Electron frontend and PHP/MySQL management backend for controlled public-service access.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages