Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nkosi-tauro/contactlist
https://github.com/nkosi-tauro/contactlist
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/nkosi-tauro/contactlist
- Owner: nkosi-tauro
- License: mpl-2.0
- Created: 2022-04-28T12:21:22.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-08-06T19:43:48.000Z (over 1 year ago)
- Last Synced: 2023-08-06T20:43:04.463Z (over 1 year ago)
- Language: Python
- Size: 385 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Rubiks Contact List
About |
Technologies |
Requirements |
Usage |
License |
Author
## :dart: About ##
Welcome to the Rubiks Contact List!
This is a simple contact list GUI application with basic CRUD functionality built using python and tkinter.
It allows the user to add, sort, edit, delete and search for contacts. There is no persistent storage, a dictionary is used to temporarily store the contacts in Key(contact name) and Value(contact number) pairs.## :rocket: Technologies ##
The following tools were used in this project:
- [Python](https://www.python.org/)
- [tKinter](https://www.tkinter.org/)## :white_check_mark: Requirements ##
Before starting :checkered_flag:, you need to have [Python 3.8+](https://www.python.org/) and [git](https://git-scm.com/) installed.
Note : tKinter comes with Python 3.8+ by default. If you are using an older version of Python or if tkinter is not found, you need to install tKinter separately.
```bash
Linux:
$ sudo apt-get install python3-tkMac:
$ python3 -m pip install tkinterWindows:
$ pip install tkinter
```## :checkered_flag: Using the Application ##
Rubiks Contact List is a simple contact list GUI application with basic Create/Add Read/Display Update/Edit Delete/Remove (CRUD) functionality built using python and tkinter.
To start using the application, follow the instructions below to first install and run the application, then you can add, sort, edit, delete and search for contacts.(See related instructions below)📸DEMO Image with Captions
![Demo](images/guic.jpeg)
1. Input Fields
2. Display List
3. Add Contact button
4. Search button
5. Remove Contact button
6. Edit Contact Button
7. Sort Contact Button
8. Clear Input Button
9. Exit Program Button
**Instructions**:
Installing and Running the application
```bash
# Clone this project
$ git clone https://github.com/nkosi-tauro/contactlist# Access the project folder
$ cd contactlist# Run the project in the terminal
Linux/Mac:
$ python3 contactlist.pyWindows:
$ python contactlist.py
```
Adding New Contacts
To Add a new contact :1. Enter value in the Contact Name and Contact Number fields at the top of the application window
2. Select theAdd Contact
button located next to the Contact Number field.
3. Accept the prompt to add the new contact by clicking theOK
button when prompted or decline to add by clickingCancel
.
Editing Contacts
To Edit a contact : (contact needs to be selected from the displayed list)1. Select a contact from the displayed list
2. Edit the Contact Number Value using the Contact Number field.
3. Click theEdit Contact
button.
4. Accept the prompt to edit the contact by clicking theOK
button when prompted or decline to edit by clickingCancel
.
Deleting Contacts
To Delete a contact : (contact needs to be selected from the displayed list)1. Select a contact from the displayed list
2. Click theRemove Contact
button.
3. Accept the prompt to delete the contact by clicking theOK
button when prompted or decline to delete by clickingCancel
.
Searching for Contacts
To Search for a contact :1. Enter a value in the Search field. (Needs to be the contact name (case sensitive))
2. Click the Search Button.
3. Accept the prompt to search the contact name by clicking theOK
button when prompted or decline to search by clickingCancel
.
Sorting Contacts
To Sort the contacts : (contacts will be sorted alphabetically)1. Click the Sort Contacts button.
2. Accept the prompt to sort the contacts by clicking theOK
button when prompted or decline to sort by clickingCancel
.
Exiting The Application
To Exit the application :1. Exit the application by clicking the
Exit Program
button.
2. Accept the prompt to exit the program by clicking theOK
button when prompted or decline to exit by clickingCancel
.### 🧪 Testing ###
The
unittest
module is used to test the application. It is part of the Python standard library.
The following is a list of the tests that were performed on the application:
1. Functional Tests - used to test the core application functionality such as the validation methods, the display of the list, the addition of new contacts, the removal of contacts, the editing of contacts, the search of contacts and the sorting of contacts.
2. Unit Tests - used to test the individual components of the application. In this case, the unit tests were performed on theadd_contact
anddelete_contact
functions.Testing the application (Unit Tests)
After installing and running the application, you can test it by opening the application in the terminal and typing the following command:
```bash
# Run the Unit Tests
Linux/Mac:
$ python3 -m unittest testWindows:
$ python -m unittest test
```
## ✍️ References ##
The following references were used in this project:
* Tkinter :
Amos, D. (Mar 30, 2022) Python GUI Programming With Tkinter. _Real Python_. Available from: [Python GUI Programming With Tkinter](https://realpython.com/python-gui-tkinter/) [Accessed 11 May 2022]* Testing :
Shaw, A. (Oct 22, 2018) Getting Started With Testing in Python. _Real Python_. Available from: [Getting Started With Testing in Python](https://realpython.com/python-testing/) [Accessed 14 May 2022]## :memo: License ##
This project is under license from Mozilla Public License. For more details, see the [LICENSE](LICENSE.md) file.
Made with :heart: by Nkosilathi Tauro