Skip to content

Aykon1203/Pendl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pendl

A mobile commuter app for Belgian train travelers, featuring a clock widget and real-time NMBS/SNCB train information.

Features

  • Clock Widget: Always know the current time
  • iRail Widget: Real-time train departures and delays from NMBS/SNCB stations
  • Built with Vue.js and Capacitor for native Android performance

Building the App

Prerequisites

  • Node.js and pnpm
  • Android Studio (for building APK)

Setup

  1. Install dependencies
   cd frontend
   pnpm install
  1. Build the web app
   pnpm run build
  1. Add Android platform (first time only)
   pnpm add @capacitor/core @capacitor/cli @capacitor/android @capacitor/status-bar
   pnpm exec cap add android
  1. Sync to Android
   pnpm exec cap sync android
  1. Open in Android Studio
   pnpm exec cap open android
  1. Build APK

    In Android Studio:

    • Build → Build Bundle(s) / APK(s) → Build APK(s)
    • APK will be in android/app/build/outputs/apk/debug/app-debug.apk

Making Changes

After editing code:

pnpm run build
pnpm exec cap sync android

Then rebuild the APK in Android Studio.

Data Source

Train data is provided by iRail, a free and open-source API for Belgian railway information.

Note

This is a mobile-only application designed for Android devices. There is no backend server - all data is fetched directly from public APIs.

Because this project is a Capacitor Android app, a .env file is not required. If you do use API keys during local development, keep them in a local, untracked .env file and never commit it.

Note: You can change the default "from" and "to" destinations in frontend/src/components/widgets/IrailWidget.vue by changing these variables:

const fromA = 'Sint-Niklaas'
const toA = 'Gent-Sint-Pieters'

About

This project was built for fun as a personal solution. I found the official NMBS app too bulky for my daily use between just two stations, so I created a lightweight alternative focused on simplicity and speed. It is built in Vue.js, a framework I had never used before and wanted to test.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors