Code Monkey home page Code Monkey logo

ipcoursework's Introduction

Introduction to Programming Coursework

Oliver Wooding

This project specifically targets Python 3.11+

This was my submission for the coursework component of a class called Introduction to Programming at Loughborough, during the first semester of the 2022-2023 academic year. The premise was that we had to produce a 'library tool,' modelling both a database and actions on the database with text files.

Beyond learning Python, this was also a project intended to teach tkinter and matplotlib, by requiring their usage to get the highest possible grade.

ipcoursework's People

Contributors

eikopf avatar

Watchers

 avatar

ipcoursework's Issues

Book titles are misformatted by the string.title() method

Examples

  • "winter's orbit" becomes "Winter'S Orbit" when it should "Winter's Orbit".
  • Words like "a", "to", "the", etc. are being capitalised when they shouldn't be.

The solution is probably just to define a custom book_title() function

Implement In/Out Menu

This task falls into three sections, which are:

  1. Backend implementation in bookReturn.py and bookCheckout.py
  2. GUI implementation in menu.py
  3. Cleanup and bug fixing

Selected item in IO window does not display correctly when pre-rendered

When a new item is added to the selection, or when switching to and from the other viewport options, the selected element is not coloured correctly.

The expected behaviour is that, when the IO window has finished loading, it will check if the global variable specific_selection is not None, and if so will generate the appropriate event to trigger the callback function select_specific_book.

This could be achieved either in render_io_view or update_selection_view, but I'm concerned that placing the relevant command in render_io_view could fail if it occurred before the specific UI component in question was generated by update_selection_view, given that these callbacks are both triggered by events.

Selection entries do not render when exiting and reentering the In/Out menu

Probably an issue with the frame containing selection entries not being always named !frame.

This problem has appeared before, in that case it was solved by iterating over the children of the viewport, and finding the one with the appropriate children โ€” in this case that child would be selection_box.

Implement Search Menu

Partially complete; the remaining steps are:

  1. Resolve bugs on the backend
  2. Properly implement and test the GUI components

Discussion for creative components in the in/out menu

  • Suggesting new purchases based on how old certain copies of books are

  • Suggesting new purchases based on popularity (as per spec)

  • Suggesting new purchases based on underrepresented genres/authors

  • Providing UI for selecting how the budget breaks down

  • Providing UI for ignoring certain parts of the suggestion calculation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.