Project 1 - English Dictionary App & Library Book Management System
1A: English Dictionary App
Aim: Create an English Dictionary app that provides definitions of English words.
Components:
- Main Menu with options:
- Add a new word
- Find the meaning
- Update a word
- Exit
Functionality:
-
Add a New Word:
- Prompt the user to enter a word and its meaning.
- Store the word-meaning pair in a file named 'words.txt' using serialization.
-
Find the Meaning:
- Prompt the user to enter a word to search for its meaning.
- Search for the word in 'words.txt'.
- If found, display the meaning; if not found, display an appropriate message.
-
Update a Word:
- Prompt the user to enter a word to update its meaning.
- Update the meaning of the word in 'words.txt'.
-
Exit:
- Gracefully exit the application.
Note: The words and meanings are stored as a dictionary in 'words.txt' using serialization.
1B: Library Book Management System
Aim: Implement a Library Book Management System with a GUI developed using Tkinter and a backend database using SQLite.
Components:
- Single-window Tkinter GUI application with text widgets, buttons, and a text area/list box.
- CRUD operations (Create, Read, Update, Delete) on a 'books' database in SQLite.
Functionality:
-
Create (Add) Operation:
- Allow the user to input book details (title, author, year, ISBN).
- Store the book details in an SQLite database.
-
Read (Display) Operation:
- Display records that match the search criteria (title, author, etc.) in the text area/list box.
-
Update Operation:
- Allow the user to select a record to update.
- Modify the book details and update the database.
-
Delete Operation:
- Allow the user to select and delete a record from the database.
Front-End:
- Use Tkinter to create a GUI with entry fields, text areas, buttons, and labels.
Back-End:
- Use SQLite to implement the database for storing book records.
- Perform CRUD operations using SQL queries.
Completing these projects will involve using various Python concepts and libraries, such as file handling, user interface design with Tkinter, database management with SQLite, and more. These projects provide a structured way to practice and reinforce the skills you've learned during your learning journey.