Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jennasys/kivy_rest
A Kivy based CRUD demo application
https://github.com/jennasys/kivy_rest
android kivy kivymd python rest-api
Last synced: 3 months ago
JSON representation
A Kivy based CRUD demo application
- Host: GitHub
- URL: https://github.com/jennasys/kivy_rest
- Owner: JennaSys
- License: mit
- Created: 2022-07-28T06:02:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-17T20:34:20.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T06:23:30.172Z (3 months ago)
- Topics: android, kivy, kivymd, python, rest-api
- Language: Python
- Homepage:
- Size: 413 KB
- Stars: 16
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Kivy REST API Demo Application
A [Kivy](https://kivy.org) based CRUD demo application that makes use of a full REST API (via HTTP GET, POST, PUT, and DELETE)### Features
- Uses [KivyMD](https://kivymd.readthedocs.io/en/latest/) v1.0.0-dev Material Design inspired widgets
- Connects to a deployed version of the [IEPUG demo REST API](https://github.com/IEPUG/2022_07_REST-API_2) by default
- The REST API endpont can be changed via settings in the app if you want to run the REST server locally
- Data additions/edits/deletions are only allowed with an authenticated session
- Can run as-is on any platform that supports Python
- Android (see below) and iOS (not tested) builds can be compiled with [buildozer](https://buildozer.readthedocs.io/en/latest/index.html)### Project Organization
- All application code is in the _src/_ folder
- Build files and folders are in the project root
- _[main.py](src/main.py)_ holds the Kivy App instance and the application menu.
- Each view screen consists of a _py_ file and a _kv_ file as a Python package located in the _src/View/_ folder
- The Kivy screens are all imported directly from the **View** package in [_mainapp.kv_](src/mainapp.kv) (where the ScreenManager is)
- The [_apputils.py_](src/apputils.py) module has a few convenience functions for making REST API requests, loading kv files, and using the Snackbar (yes, it's a junk drawer, don't @ me)
- The [_version_util.py_](version_util.py) module is just a simple but handy convenience utility for updating the project version on demand### Screenshots
### Android APK
The APK for the most recent debug build can be downloaded from the [GitHub Workflow section](https://github.com/JennaSys/kivy_rest/actions/workflows/main.yml). Look for the artifacts from the most recent build. The APK will be in a file called _package.zip_