Skip to content

University project: desktop app for online bookstore - supplies manager.

License

Notifications You must be signed in to change notification settings

adniec/bookmeister

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bookmeister

Application is part of university project. Idea was to create online bookstore. Module presented here is responsible for connection with database REST API. It allows to store, load, update and delete records from books collection. Main goal of this part was to design simple and intuitive GUI for bookstore employees. Description below walks through its features.

Menu

Features

  • form validation before sending values to database
  • search by one or many parameters
  • easy edit of data: form autofill when record chosen from search results
  • upload / view of book cover
  • display of notification after performing action

Installation

$ git clone https://github.com/ethru/bookmeister.git
$ pip install bookmeister/.

Build

$ git clone https://github.com/ethru/bookmeister.git
$ cd bookmeister
$ pip install -r requirements.txt
$ python build.py

Description

Each form field must be validated by application before sending value to database. Generally length is checked, but fields listed below have additional conditions:

  • ISBN : is 13 digits number validated by formula described here
  • Release : year when book was published (number)
  • Language : two characters code according to ISO 639-1
  • Pages, Quantity, Discount (%) : value need to be integer
  • Price : is float number

When provided data are other than expected proper notification will be displayed, e.g.

Notification

Same type of notifications is used in case of database connection errors.

When operation is performed successfully user is informed by pop-up window aswell.

Usage

Use $ bookmeister or $ python -m bookmeister to launch installed application from terminal.

  • add new record to database
    • fill the form with book description
    • tick box when book has hardcover
    • press "Add" button
    • when error notification occurs correct field and try again
  • search record in database
    • fill one or many form fields and press "Search" button
    • "Search results" list will be populated by records matching criteria
    • first matching result will be loaded to application form
  • update record
    • use search option to find and select record first
    • change fields in form and press "Revise" button
  • delete record
    • use search option to find and select record first
    • press "Delete" button
  • add record cover image
    • use search option to find and select record first
    • press "Add cover" button
    • pick image in pop-up window and confirm with "Open" button
  • view record cover image
    • use search option to find and select record first
    • press "View cover" button
    • image or error notification will be displayed
  • clear form
    • press "Clear" button
    • all values from fields and "Search results" will be removed

Project Information

Documentation

Generated by pdoc3 and included in docs directory. Open it here.

Requirements
Running tests
  • Tests are included in tests directory.
  • Configuration file is available here.
  • To run them use: $ tox
  • Click to see coverage report.
Author

Adrian Niec

License

This project is under the MIT License

About

University project: desktop app for online bookstore - supplies manager.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages