Ensure you have downloaded the .txt file and the main python file in the same directory so the program runs smoothly. This is a GUI and console-based program, so keep in mind that you will have to switch between these two interfaces when running the program.
We all have books that are just lying around our homes, collecting dust. They usually just end up in the basement or with someone who doesn't even use them. With this platform, you can easily give your books to people in your community who are genuinely interested in reading them. Think of it as a virtual book exchange!
This app allows users to do two things: publish their unused books to a database for donation, and browse the database to find books they are interested in. When adding a book, users would provide the title, author, genre, and page length. When looking for a book to checkout, users can either search by genre, or page length. (Update: After filming the demo, we also added a 'search by author' feature to make browsing for specific books easier.) Once they select a book, the user will be provided with the book owner's contact information, and upon successful transaction, the book will no longer be available to receive.
We built this program with Python, and used a text file for storing the list of books. We also used the Python Tkinter GUI Package to build our basic navigation window, to provide a sense of how an example frontend for this app would look like. Of course, the final product would be a full-stack application that interacts with a Cloud database and has a much cleaner UI. Due to time constraints, we chose to use this Python approach as a simulation/proof-of-concept.
- Building the Python GUI to be functional and visually appealing
- Formatting the tables in which we output the books
- Appropriate input validation to handle all negative cases
- Successful demonstration of functionality
- Effective browsing system
- Successful GUI incorporation with Tkinter
- Structured, well-organized book database
- Writing reusable code for better readability
- Using Python Tkinter to create a sample UI
- Importance of fileIO and how it relates to more scalable database storage
- Writing more reusable code
- Creating input validation system for all cases
- Effective use of dictionaries
- Create a login system for verifying emails
- In-app messaging system for easy communication between book owner and receiver
- Include more browsing options (author, title, age group, etc.)
- Convert this into a full-stack application with a better UI
- Use a Cloud Database
- Expand social media connections