/kivy_rest

A Kivy based CRUD demo application

Primary LanguagePythonMIT LicenseMIT

Kivy REST API Demo Application

A Kivy based CRUD demo application that makes use of a full REST API (via HTTP GET, POST, PUT, and DELETE)

Features

  • Uses KivyMD v1.0.0-dev Material Design inspired widgets
  • Connects to a deployed version of the IEPUG demo REST API 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

Project Organization

  • All application code is in the src/ folder
  • Build files and folders are in the project root
  • 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 (where the ScreenManager is)
  • The 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 module is just a simple but handy convenience utility for updating the project version on demand

Screenshots

App screen - List  App screen - Login  App screen - Edit  App screen - About  App screen - Settings

Android APK

The APK for the most recent debug build can be downloaded from the GitHub Workflow section. Look for the artifacts from the most recent build. The APK will be in a file called package.zip