How omerktk/demo-api-python-application works
This repository pairs a Kivy client with a PHP/MySQL REST API for authentication, user and transaction management, and logs. The main workflow is a user opening the app, signing in, and using its screens to manage API data; API clients can also call the documented endpoints directly. The sampled transaction screen confirms API requests for transaction CRUD, while README documents the other endpoint families. Wiring from the remaining screens is not shown in sampled source, so those links are omitted.
Main entry points: config.php PDO configuration · app.py Screen manager · transactions_screen.py Transactions screen · index.php Create transaction
Components 23
Kivy client
- Screen manager
app_on_api/app.py - Login screen
app_on_api/pages/login_screen.py - Dashboard
app_on_api/pages/dashboard_screen.py - Users screen
app_on_api/pages/users_screen.py - Transactions screen
app_on_api/pages/transactions_screen.py - Logs screen
app_on_api/pages/logs_screen.py
Authentication
- Token authentication
api/auth/index.php - PDO configuration
api/config/config.php
User management
- Create user
api/users/create/index.php - Read users
api/users/read/index.php - Update user
api/users/update/index.php - Delete user
api/users/delete/index.php - Find by token
api/users/findtoken/index.php
Transactions
- Create transaction
api/transactions/create/index.php - Read transactions
api/transactions/read/index.php - Update transaction
api/transactions/update/index.php - Delete transaction
api/transactions/delete/index.php
Logging
- Create log
api/logs/create/index.php - Read logs
api/logs/read/index.php
Other components
- App user
- API consumer
- API documentation
index.php - MySQL database
demo.sql
Connections 37
- App user → Screen manager: opens
- Screen manager → Login screen: registers
- Screen manager → Dashboard: registers
- Screen manager → Users screen: registers
- Screen manager → Transactions screen: registers
- Screen manager → Logs screen: registers
- Transactions screen → Create transaction: posts create
- Transactions screen → Read transactions: posts read
- Transactions screen → Update transaction: posts update
- Transactions screen → Delete transaction: posts delete
- API consumer → Token authentication: posts token
- API consumer → Create user: posts user
- API consumer → Read users: posts query
- API consumer → Update user: posts update
- API consumer → Delete user: posts delete
- API consumer → Find by token: posts lookup
- API consumer → Create transaction: posts create
- API consumer → Read transactions: posts query
- API consumer → Update transaction: posts update
- API consumer → Delete transaction: posts delete
- API consumer → Create log: posts create
- API consumer → Read logs: posts query
- Token authentication → PDO configuration: loads config
- Create user → PDO configuration: loads config
- Read users → PDO configuration: loads config
- Update user → PDO configuration: loads config
- Delete user → PDO configuration: loads config
- Find by token → PDO configuration: loads config
- Create transaction → PDO configuration: loads config
- Read transactions → PDO configuration: loads config
- Update transaction → PDO configuration: loads config
- Delete transaction → PDO configuration: loads config
- Create log → PDO configuration: loads config
- Read logs → PDO configuration: loads config
- PDO configuration → MySQL database: queries
- API documentation → PDO configuration: checks token
- API consumer → API documentation: views docs