Kiosk System of PeraVerse


Team

Table of Contents

  1. Introduction
  2. Solution & Impact
  3. Features & Architecture
  4. How to Run (Local)
  5. Deployment & Recommendations
  6. Links

Introduction

This repository (KIOSK) is a digital kiosk system for displaying campus information, events, maps, heatmaps, notifications and more. It is a lightweight full-stack project composed of a Vite + React frontend and several Node.js Express backends (per feature), backed by PostgreSQL databases in some services.

The following report summarizes the system, key features, architecture, how to run it locally, and deployment recommendations so you can upload it to the project Git repository.

Solution & Impact

KIOSK consolidates multiple campus services into a single kiosk UI. The system provides:

Impact:

Features & Architecture

Key Features

Architecture Overview

How to Run (Local)

These instructions assume a Windows PowerShell environment (this repo also contains convenience scripts). Adjust for your environment as needed.

  1. Prerequisites
    • Node.js (v16+ recommended)
    • npm
    • PostgreSQL (for services that require a DB)
  2. Clone repository
    git clone https://github.com/cepdnaclk/e21-co227-PeraVerse-Kiosk-System.git
    cd KIOSK
    
  3. Configure environment variables
    • Project root .env controls the frontend base API URL. Example (edit as needed):
      VITE_API_URL=http://localhost:3036
      
    • For each backend (e.g., backend_events/.env) set DB credentials and PORT:
      PORT=3036
      DB_USER=postgres
      DB_HOST=localhost
      DB_NAME=event_db
      DB_PASSWORD=your_password
      DB_PORT=5432
      
  4. Install dependencies and start backends Open separate PowerShell tabs for each backend or use the provided start_backends.bat if you prefer.

Example (events backend):

cd .\backend_events
npm install
npm start    # or: node server.js

Repeat for other backends you need (e.g., backend_map, backend_heatmap, backend_notifications, backend_aboutpage).

  1. Install and run frontend
    cd ..\frontend
    npm install
    npm run dev   # starts Vite dev server (default port 5173)
    
  2. Verify
    • Ensure each backend logs that it started successfully on its configured PORT (e.g., Server running on port 3036).
    • Visit the frontend (http://localhost:5173 by default). The frontend will fetch from the VITE_API_URL — ensure it points to the backend serving /api/events and other APIs.
  3. Quick API test (PowerShell)
    # Example: test events endpoint
    (Invoke-WebRequest -Uri 'http://localhost:3036/api/events' -UseBasicParsing).Content
    

Deployment & Recommendations

Tags

React, Vite, Express.js, Node.js, PostgreSQL, Full-Stack, Kiosk, Local Deployment


Developed for CO227 Computer Engineering Project, University of Peradeniya