
Explore building desktop apps with Python by installing MongoDB, creating models with CRUD, designing the user interface, and implementing authentication, fake data, downloading fake images, and pagination.
Demonstrate building a Python desktop contact management app with login, encrypted passwords, and three menus—contacts, users, and text—featuring user and contact creation, search, deletion, and pagination for navigating contacts.
Install PySimpleGUI with pip, create a new desktop project named contact managers, and test by running a test file. Use MongoDB Compass to connect to the database and verify installation.
Download and extract the course source code, and copy it to the desktop. Configure the project interpreters and install the required packages used in the source files.
Learn to build desktop apps with Python using PySimpleGUI, including popups, windows, messaging, text input, and file or folder selection.
Explore how to build a PySimpleGUI window by declaring a layout, adding text, input, and buttons, and reading events and values to handle user interactions.
Build a PySimpleGUI login dialog with keys for username and password, run a persistent event loop, validate inputs, and display error or success messages.
Explore desktop apps with PySimpleGUI by structuring layouts as lists of lists, implementing file browse and image display with resizing, and adding combo boxes and checkboxes driven by events.
Learn how to customize a PySimpleGUI desktop app by applying themes and colors, building a multi-column layout with combo boxes and checkboxes, and adding a menu with event handling.
Create and manage a mongoengine-based user model for MongoDB, defining username, password, and email fields with required and unique validation, and perform connect, save, query, update, and delete operations.
Create the contact model by inheriting from the document plus, define fields for first name, last name, address, phone, email, gender, occupation, age, and photo, with required and unique constraints.
Create MongoDB user CRUD operations in a separate file: create_user, query_user, list_users, delete_user. Encrypt passwords with the Decrypt package, store them as binary, and implement a login function.
Build MongoDB CRUD operations for a contact model via cloud functions. Create, list, query, and delete with fields like first name, last name, address, phone, email, gender, occupation, and age.
Design a simple user interface for older models using labeled text fields for username, password, and email, followed by ok and cancel buttons, guiding user input efficiently.
Create a Python desktop interface by building a main window with a 300x300 background image, an icon, a multi-entry menu for contacts and users, plus an event loop.
Create a gooey-based user management interface by defining a user model with username, password, and email, and implement create, list, and delete workflows with checkbox selection and masked passwords.
Implement delete user functionality and define a create admin function in a Python desktop app, validating a username against the database and handling existence checks.
Design a two-column contact interface with left text fields and a gender combo box, and a right image control with browse input for name, address, age, and image.
Create a Python-based desktop contact form with a two-column layout, including inputs for first name, last name, address, phone, email, occupation, age, a gender select, and image picker.
Create a contact in a desktop Python app by collecting name, address, contact details, and photo; save the image to a folder, resize to 300x300, and reset form after adding.
Implement a desktop contact list UI by creating a list of contacts with checkboxes, handling edit, delete, and cancel events, and updating the window layout and data accordingly.
Create fake contacts with faker and download unique images from this person does not exist using aiohttp, hash the data for filenames, and save to images and image db.
Learn to delete contacts in a Python desktop app, ensure the UI updates after deletions, manage pagination on the last page, and handle selected items cleanup and error messages.
Implement an add/edit contact flow in a Python desktop app, loading selected contact data into the form, updating fields and image data, and refreshing the contact list on save.
Implement find contact and delete contact workflows in the desktop app, handling input emails, listing contacts, prompting for confirmation, and testing create and delete operations.
Create a login function with username and password fields, validate credentials, show errors, and support user and contact management in the desktop app.
Python is the fastest-growing programming language in the industry, and among the most popular programming languages in the world.
It's not a hard language for beginners to pick up and for intermediate or advanced programmers to advance, which is why the need to learn this language has increased exponentially over the past few years.
Python is a scripting language which means that you will write some code and run it in the terminal or command line. Running the code in the command-line will make it harder for the users to adopt your applications, so what if you want your application to have a fancy user interface this requires that your applications have a GUI.
In simple terms, GUI is a desktop app that provides you with an interface that helps you to interact with the script and enriches the user experience.
My name is Yasser Abbass. I'm a software engineer and I will be your instructor for this course
I have been in programming for the past 30 years and specifically in python for the past decade.
This course assumes that you have previous Python knowledge for instance (data types, conditional logic, loops, collections, etc) and it will teach you how to create a professional python GUI by creating a contact management application
The course is divided into multiple sections that will teach everything you need to create python desktop applications
This course will take you on a journey to learn how to create desktop applications, including design of the interface, creating database models, and the necessary CRUD operations
During this course, you will learn:
- How to install MongoDB on your computer
- How to install the PySimple GUI.
- How to create and work with PySimpleGUI elements.
- How to create and work with Windows.
- How to create and work with Layouts.
- How to create dynamic Layouts.
- How to create MongoDB models
- How to authenticate users
- How to create fake data
- How to download images from the internet
and much much more
Finally, if you are stuck you can drop a question in the Q&A and me, or one of my teaching assistants will answer you promptly