Skip to content

Project Structure

Dat Adithya edited this page Aug 1, 2020 · 5 revisions

A guide to get you started on the workings of the Eisen's Tickets project.

Starting out with Eisen's Tickets

The Eisen's Tickets project is one which is directed to become a package, and contains the main.py, for the centralizing of the entire project, and the modules, which contain all the utilized programs for the project to work.

The goal of the main.py is to be the one program required to be selected, to perform all of the operations, including,

  • Adding the tickets into the database.
  • Displaying the tickets from the database based on category.
  • Deleting/removing the tickets from the database.

All using one interface.

However, at this stage in the project, GUI is available only for displaying the tickets. CLI is available for the addition of the tickets into the system.

Main.py

The main.py file was created as a sort of hub from where the users could run a multitude of operations through one interface, relying on the backend mechanisms present in the modules folder.

Acting as a initializer, the main.py utilizes the method imported from db_main the table_initialization.

Table Initialization

A selection screen providing options through the option_screen from db_option_screen, prompting the user to select an option from either,

  • Adding a ticket
  • Displaying the tickets

Depending on the user's choice, either display_info_category is used for displaying the tickets present in a certain category, or selection, and insertion_row, for the creation and insertion of a ticket into the database respectively.

Project flow

Displaying the tickets using a GUI

The GUI for displaying the tickets can be used by running the python script display_tickets.py, which opens up the GUI menu leading up to the displaying of the tickets for each category seperately.

This is acheived through utilising frames in tkinter, and by switching the frames from one to another, and using a method called ticket_display in order to set up all the labels in the new window created for displaying the ticket properties.

Each page is essentially just another frame and are all created from the same template, and contain all the required buttons.

Home talks about what the project is all about.
Project Workings section talks about how the project as a whole functions.
Tickets as a section talks about how the tickets are made and brought to life inside the project.

The wiki will be updated as per the changes made in case any other feature need be explained.

Clone this wiki locally