Python Project: Properties Maintenance System P1

October 17, 2021 Leave a comment

Subject: Writing a Full Application for Properties Maintenance System
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

In one of last week posts I mentioned that i am working on a New Project, and that we may start doning a “Properties Maintenance System” also I Draft-Down some points and brain-storming session [READ THE ARTICLE HERE]. In this Part -1 of the Properties Maintenance System

In this Post, we will see the Tables and the Fields, and will write the first Function to create the Data-Base and the tables, also Inserting the Zero-Records and the (some) Data in-to lookup tables. Also I will try to list-down all the Functions we may write in our Application. All the codes will be available in the Download Page.

Tables and Fields

  • Name: Job Status Table (job_s_t). Type: Lookup.
  • Name: Payment Method Table (pay_meth_t). Type: Lookup.
  • Name: Property Type Table (prop_type_t). Type: Lookup.
  • Name: Maintenance Job List Table (main_job_list_t). Type: Lookup.
  • Name: Properties Table (properties_t).
  • Name: Maintenance Request Table (maint_request_t)
  • Name: Receipt Table (receipt_t)

[Any other Table we may add more tables if we need latre]


Function: Here i am listing all the Functions we will create, this list will be the Main Menu.

… [ PROPERTIES MENU ] …

  • Add New Property.
  • Edit a Property.
  • Delete a Property.
  • Show Properties.

… [ LIST MANAGER ] …

  • Payment Method. [Add, Edit, Delete]
  • Job Status. [Add, Edit, Delete]
  • Property Type. [Add, Edit, Delete]
  • Maintenance List. [Add, Edit, Delete]
    … [ SETTING ] …

  • Create the Data-Base and the Tables.
  • Delete the Data-Base.
  • Export to Excel.


Function Exalmple: For each Function we have, this will be the template of the Function Name and the first three lines

 # Sample of: Add Job Status Function

def add_job_status():
    os.system('clear')
    line2 = "Add Job Status"
    header(line2, 9,14)  # Calling the header Function. 


Table Creation and Zero-Records
I am always start writing the ideas in the Python Editor as comments, and coding in the same time, so by the time i collect all this article the Part-1 of the project was done with Tow or Three Functions that Creating the Tables and Inserting the data into lookup-Tables. Here I am posting some screen shots of the code..

Property Maintenance System python code project ali radwani Property Maintenance System python code project ali radwani
Property Maintenance System python code project ali radwani Property Maintenance System python code project ali radwani


In Part-2 In Part-1 [This Article] We create the Data-Base and Tables, also Insert some Data into the lookup-tables and we create the Main-Menu Function. In Part-2 we will start writing some Functions to manage the lookup tables.

:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4

..:: Have Fun with Coding ::.. ๐Ÿ™‚

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Nikon S9900 Shot 13

October 13, 2021 Leave a comment


Subject: Nikon S9900 in Souq-Waqif Journey

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: In one of most beautifully ‘Old Bazaar’ in Qatar called “Souq-Waqif” you may find lot’s of Vestibules, here is one that will take you to a Mosque, I take the shot using Nikon S9900.

…Click Image to Enlarge…
photo photography ali radwani doha qatar Souq-Waqif old bazaar Nikon Coolpix S9900
Camera in Hand, F:3.7, ISO:125, Shutter:1/400s, Focal-Point:5mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption P10

October 11, 2021 Leave a comment

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this Last part (Part-10) of Coffee Consumption App, we will write a Function to Export the Data to an Excel Fiel, So this will be the Last part of this application and any other Enhancement will be added as new version of the application.

Exporting The Data: To Export the data to or say “writing into” Excel file we need to import New library Named: xlsxwriter [if you don’t have the library then you need to install it first, using this command: pip install xlsxwriter]. After installing we will call it into our python file using this command: import xlsxwriter. The Excel file [in this case] will have four Sheets, named as follow:
coffee_con, coffee_name, coffee_type, coffee_size
each sheet will contains the table header and the date.
File Name: The file name will be as: coffee_consumption_[Current Date & Time].xlsx, the date and time will be formated as: yyyymmdd_HM, the python code to generate this is:
now = datetime.now()
date_t = now.strftime(“%Y%m%d_%H%M”)

Also we need to know that the file will be saved in the same directory of the application or (python .py file)


New Function: from our back_up function we will call another Function called: write_data(data_set,col_list,the_sheet): this Function will write the data-set into Excel file sheet, so we need to pass the data_set, column list and the Sheet Name as arguments to the function and it will use the command: write(row,col,data) to write the row to the sheet. Here is the code

# Writing the data into the sheet

def write_data(data_set,col_list,the_sheet):
    """
    Function to write the data-set into Excel file sheet.
    
    Argument:
        data_set:
        col_list: List of the columns in the data_set.
        the_sheet: the Sheet Name.      
    
    """    
    # write the Table Header
    for x in range (0,len(col_list)):
        the_sheet.write(0,x,col_list[x])
        
    rows = len(data_set)
    for row in range (1,rows) :
        for col in range (0,len(col_list)) :
            the_sheet.write(row,col,data_set[row][col])


In our main back-up function, we prepare the data-set and column list, then we call the new Function write_data passing the variable. Here is two parts of the code, first one is generating the file name, and calling the datetime function, second part is dealing with the data tables in the database, fetching the data, listing the columns and passing this to write_data function.. Here is the code

python project coffee ali doha radwani
python project coffee ali doha radwani

… Done. We finish the Coffee Consumption Application using Python and Sqlite. Next Week we will start New Application ..


..:: Have Fun with Coding ::.. ๐Ÿ™‚


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part 7 Part 8 Part 9 Part 10


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Property Mainenance System

October 6, 2021 1 comment

Project Name: Property Mainenance System
By: Ali Radwani
First-Draf: 5.10.2021 [Brin Storming]


I start writing the outline for a New Project about Renting System, one of the Functions in the system was Property Maintenance Service, then I notes that this Function can be a Stand-Alone System because of it’s Size and Requerment, so i decide to transfer the Property Maintenance Service into an Application.

Here are some Brain-Storming ideas [Not sorted, Not checked, Need to been Reviewed]

  • Submit Maintenance Request (by Tenant) : (For What?: [Bathroom, kitchen, WaterSystem[Colling, Heating], Windoews and Doors, Paints, TV & Aoudio,Insects and Bugs, Roof, Others (If other please write.. )]
  • Request Date,time
  • Property address.
  • Maintenance Suggested Date (by Tenant) [Need Maintenance team appoval]
  • Cost Evaluation. [Tenant Approval Requear]
  • IF Approved. Do Payment,[Cash, cheque, card] Set the Date and Time for the Maintenance.
  • Start the job after payment.()
  • After Maintenance Finsh Close the case.
  • Print Report if requered.
  • —> Tables:
    • Properties: ID, Address[Zone, Street, Building],Type[Villa, Appartment], Bedroom(numbers), Bathroom(numbers), Kitchen(numbers),Car_garage(numbers), Intercome, TV_Cable, Internet, contract_period
    • Maintenance_request: property ID, maintenance for, date_time status[pending, inprogress, complete],
    • Payments: Total Cost, Date, Payed_by, Payment Method[cash,cheuq], Property ID, receipt id.
    • completed: data, property ID, maintenance for, cost,
    • —> look-up tables:
      • job status: [pending, inprogress, complete, ]
      • payment methods: [Cash, Card, cheque,]
      • Maintenance List: [Bathroom, kitchen, WaterSystem[Colling, Heating], Windoews and Doors, Paints, TV & Aoudio, Insects and Bugs, Roof, Others (If other please write.. )]
  • Functions:
    • Main Menu.
    • Add, Edit, Delete [For each Section/Function in the tables/Application]
    • Show Data/Records.
    • Reports
    • submin_request.

… More to be added .. Needs:[Tables Name, ] .. Tables or functions may Merged or Deleted.

Nikon S9900 Shot # 12

October 3, 2021 Leave a comment


Subject: A Photo from Souq-Waqif with Nikon S9900

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: I was walking in Souq-Waqif one the most famous ‘Bazaar’ in Qatar
I fond this Restaurant, and I take the shot using my Nikon S9900, camera In-Hand.

…Click Image to Enlarge…

Camera in Hand, F:4 , ISO:125 , Shutter:1/640s
Focal-Point:6mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here


::.. Other Photos From Qatar Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption P9

September 30, 2021 1 comment

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this part (Part-9) of Coffee Consumption App, we will write a Function to Edit a Record in the Main Table of the Coffee Consumption System. Because we are using Lookup tables for some of the data [Coffee Name, Type and Size] editing code may be longer that we will use the SQL Select commands several time to retrieve the data from those Tables. So first we will look to the steps we need to do (will do) in the Function:

1. Calling the show_records(inside = ‘yes’) function to display all the records on the screen.

2. In while True loop we will ask the user to Select the Record ID that want to Edit. We will do a Validation if the user select a valid ID using check_availabilty(‘coffee_con’,’c_id’, int(edit_rec_id)) != None)

3. Using SQL Command, We will Select the main record for Coffee_con Table, then again we will use the SQL to do the following:
— > SQL Command to get the Coffee Name for coffee_name Table using foreign key in coffee name cell.
— > SQL Command to get the Coffee Type for coffee_type Table using foreign key coffee type cell.
— > SQL Command to get the Coffee Size for coffee_size Table using foreign key coffee size cell.
Then we will display the Record and ask the use to confirm that this is the record to be edit.
4. After the user confirmation of Editing the Record, we will run three blocks of while True loop code for Coffee Name, Coffee Type and Coffee Size in each one we will display the data in the lookup Table, ask the user to Select ID from the List, if the user press on enter without writing any number then we will keep the current data, also we will do a validation on user input. Also will ask the user for Gender and Rank.
5. Now we have all the New Edited Date, we will display it on the screen asking the user [again] to confirm the “Saving The Changed” by Pressing the [S] (any thing else will be as “NO Don’t Save”).

Coding Now let’s see some parts of the code we use, the Source File of extention .py is available in the Download Page.


Here the user Selecting the ID of the Record to be Edit.

python project code coffee consumption ali radwani



The while True loop to edit the coffee Type.

python project code coffee consumption ali radwani



Last code part is to display the new edited record on the screen and the SQL command to UPDATE the DataBase.

python project code coffee consumption ali radwani



What’s Coming: In Part-10 we will write the Function to backup the data as Excel file.


..:: Have Fun with Coding ::.. ๐Ÿ™‚


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part 7 Part 8 Part 9 Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Nikon S9900 Shot # 15

September 28, 2021 Leave a comment


Subject: A Photo from Souq-Waqif with Nikon S9900

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: I was walking in Souq-Waqif one the most famous ‘Bazaar’ in Qatar
I fond this beautifull side wall of a restaurant, and I take the shot using my Nikon S9900, camera In-Hand almost at ground level.

…Click Image to Enlarge…
Doha Qata photo photography Nikon s9900 ali radwani ahradwani.com
Camera in Hand, F:4 , ISO:125 , Shutter:1/640s
Focal-Point:6mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here


::.. Other Photos From Qatar Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python: Coffee Consumption P8

September 26, 2021 2 comments

Learning : Python, SQlite3, Dataset, Pandas,
Subject: Create Coffee Consumption Application.

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]

[ IF THE IS FIRST TIME DOWNLOADING THE CODE FILE, SELECT OPTION 7 FROM MAIN-MENU TO CREATE THE DATABASE]


In this part (Part-8) of Coffee Consumption App, we will write a Function to Delete a Record from the Main Table of the Coffee Consumption System.

Deleting a record is an easy SQL command having the Table Name and the Record ID that we want to Delete. In our Function First we wil display all the Records on the screen and asking the user to Select the ID of the Record, then we will display that record (again) on the screen and ask to Confirm the action by Entering [Y].
If the user Enter [Y] the Record will be Deleted, any thing else it wil be as No and the user will returned to the Main-Menu.

Coding: We will start the Function by displaying the header, then we will call the Function that will display all the Records in the data-base.. Here is the code..
show_records(inside = ‘yes’)
and asking the user to Select the ID.
NEXT: We will check the Availability of the ID, so if the user Enter an ID that not in the Data-Base or Empty space or just press Enter we will ask to re-enter the ID again. … Here is the code ..
while True:

del_rec_id = input (‘\n\n Select the Record ID to be Deleted > ‘)

if del_rec_id in [‘e’,’E’]:

input(‘ You Select [E to Exit].. Press any Key. > ‘)

return

elif (del_rec_id ==” “) or (del_rec_id ==””) or (check_availabilty(‘coffee_con’,’c_id’, int(del_rec_id)) != None):

break

If the ID is available, then we will display the Record and will ask the user to Confirm the Delete Command. This is the code for all the Delete Function ..


What’s Coming: In Part-9 we will Writing the Function to Edit a Coffee Record.


..:: Have Fun with Coding ::.. ๐Ÿ™‚


Part 1 Part 2 Part 3 Part 4 Part 5
Part 6 Part 7 Part 8 Part – Part –


To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Drafting New System

September 22, 2021 Leave a comment

Start to write down some notes and ideas for a new system/application using a self-brainstorming session.

I am always using the MindJet Maps app to draw the basic outlines of the application I want to work on.

Here is the first Draft of a Payroll System that I want to do in coming weeks. Not sure if I will use Python or MS-Excel to do this project.

Nikon S9900 # 11

September 21, 2021 Leave a comment

Title: Nikon S9900 # 11

Subject: Drawer Side with Nikon S9900

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. [:. Read more about my cameras and lenses Here .:]

This Shot: In one of my indoor photo-session i take this shot of an old drawer in my living room, using Black and White option, lights coming from the window & Camera in hand

…Click Image to Enlarge…
Nikon s9900 coolpix camera Ali radwani ahradwani.com photo Photography
Camera in Hand, F:4 , ISO:400 , Shutter:1/10s
Focal-Point:6mm



::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here




ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani