How jose-lameiras/felixbus works
Felixbus is a PHP bus-reservation application supporting public route searches, registration and role-based customer, staff, and administrator management. The main customer path searches city pairs, displays available schedules, then supports ticket purchase and cancellation with wallet and seat updates. The tree also documents profile, wallet, route, user, and ticket administration. Source excerpts show direct MySQL access from page handlers; unsampled modules are represented by their exact paths, but their internal links are omitted where the wiring is not evidenced.
Main entry points: basedados.h MySQL database · PagIniAdmin.php Admin home · PagIniFuncionario.php Staff home · PagIniCliente.php Customer home
Components 27
Public access
- Route search
paginas/index.php - Schedule results
paginas/MostrarRotas.php - Login
paginas/login.php - Registration
paginas/registo.php - Unvalidated account
paginas/PagIniClienteNaoValidado.php
Customer services
- Customer home
paginas/PagIniCliente.php - Ticket management
paginas/ClienteBilhetes.php - Customer wallet
paginas/ClienteGerirCarteira.php - Customer profile
paginas/ClienteGerirPerfil.php - Edit profile
paginas/ClienteEditarPerfil.php
Staff operations
- Staff home
paginas/PagIniFuncionario.php - Staff tickets
paginas/FuncionarioGerirBilhetes.php - Staff routes
paginas/FuncionarioAdicionarRotas.php - Staff wallets
paginas/FuncionarioGerirCarteiras.php - Edit wallet
paginas/FuncionarioEditarCarteira.php - Staff profile
paginas/FuncionarioGerirPerfil.php
Administration
- Admin home
paginas/PagIniAdmin.php - Manage routes
paginas/AdminGerirRotas.php - Add route
paginas/AdminAdicionarRota.php - Edit route
paginas/AdminEditarRota.php - Manage users
paginas/AdminGerirUtilizadores.php - Edit user
paginas/AdminEditarUtilizador.php - Manage wallets
paginas/AdminGerirCarteiras.php - Manage profiles
paginas/AdminGerirPerfil.php - Felixbus balance
paginas/AdminGerirSaldoFelixbus.php
Database
- MySQL database
basedados/basedados.h
Other components
- Visitor
Connections 40
- Visitor → Route search: chooses cities
- Route search → MySQL database: queries schedules
- Route search → Schedule results: redirects
- Visitor → Login: signs in
- Visitor → Registration: registers
- Registration → MySQL database: stores account
- Login → MySQL database: checks credentials
- Registration → Unvalidated account: shows status
- Login → Customer home: routes customer
- Customer home → Ticket management: opens tickets
- Customer home → Customer wallet: opens wallet
- Customer home → Customer profile: opens profile
- Ticket management → MySQL database: reads and updates
- Customer wallet → MySQL database: reads and updates
- Customer profile → MySQL database: reads profile
- Customer profile → Edit profile: opens editor
- Edit profile → MySQL database: updates profile
- Staff home → Staff tickets: opens tickets
- Staff home → Staff routes: opens routes
- Staff home → Staff wallets: opens wallets
- Staff home → Staff profile: opens profile
- Staff tickets → MySQL database: reads and updates
- Staff wallets → MySQL database: reads and updates
- Staff wallets → Edit wallet: opens editor
- Staff routes → MySQL database: manages schedules
- Staff profile → MySQL database: accesses data
- Admin home → Manage routes: opens routes
- Admin home → Manage users: opens users
- Admin home → Manage wallets: opens wallets
- Admin home → Manage profiles: opens profiles
- Admin home → Felixbus balance: opens balance
- Manage routes → Add route: adds route
- Manage routes → Edit route: edits route
- Edit route → MySQL database: updates route
- Manage users → Edit user: opens editor
- Manage users → MySQL database: manages users
- Edit user → MySQL database: updates user
- Manage wallets → MySQL database: manages wallets
- Manage profiles → MySQL database: accesses data
- Felixbus balance → MySQL database: accesses balance