- This project is written in Python and uses the
mysql-connector
module to connect to the MySQL database and perform queries, and thetkinter
module to create the GUI (Graphical User Interface).
- Customers should be able to browse and search for books by title, author, or ISBN
- Customers should be able to add books to their cart and proceed to checkout
- The bookstore should be able to manage their inventory and update it when new books arrive
- The bookstore should be able to keep track of customer information and order history.
- One customer can place many orders and the customer does not have to create an order.
- An order can only be created by one customer. A customer needs to be there for an order to be created. (1-to-many relationship)
- An order can be finalized by a transaction. An order must have a transaction. A transaction is needed for an order to be completed. There needs to be an order for the transaction to take place. (1-to-1 relationship)
- An order can request for many books. An order needs to have at least one book in it. A book can be requested by many orders. A book need not be in any order. (many-to-many relationship)
- An order contains many order items. An order needs to have at least one order item. Order items can only be in one order. Order items must be in an order for it to exist. (1-to-many relationship)
- An order item contains a book in it. An order item must have a book in it. A book can be a part of an order item. A book does not have to be in an order item. (1-to-many relationship)