Recreating my first CRUD in python, but now more professional

Overview

🐍 PYTHON_COSTUMER_BASE 🐍

recreating my first CRUD in python, but now more professional

What technology and methodology were used?

At first, and I think the most obvious, I used python language to construct all the system. Now, going beyond the obviously I would like to demonstrate the Orientation Object (OO) system, was created in the base two classes which one is instantiated to create Menu object, and the other one is the Client which one is instantiated to create the object Client with name and birth date, the age is calculated automated by the class. In addition, the project was made thinking by the Test Drive Development (TDD) method and all the code was thought for the easy and quick maintenance.

About class Client

The class' constructor and "name" attribute

This object is made by a constructor with two instances, name and birth date. At first, in the input field the information typed by the user receive a small treatment eliminating all the spaces in the begging and in the end by the .strip() function, at the same moment other small treatment is applied for the Title() function, after that the input content is conducted to the object constructor to be instantiated. The name is validated automatically, if the user types a number among the string array the object will not be create and an error gone be raised to the user informing the problem, after the validation if everything is ok so the object receives the attribute name.

The class constructor, the "birthdate" and "age" attributes

The attribute birth date in the constructor work for two information. At first the date typed in the input field goes to a validator, an intern method to verify if the date format in in the standard and if it's valid, cause if the input field content "30/02/2002", for example, an error gone be raised to the user informing this kind of date is invalid (because February goes until 28th or 29th). After the validation, if everything is ok the date in the format dd/mm/yyy gone be returned to the "self.bith_date" attribute. After this validation the same information is donated to other inter method, the age generator. This inters method uses the birth date information and the actual date to calculate the age in the construction of the object. An important point is, if the attribute be invocated in other moment the age calc is made again, so the age will not be the same of the construction, for this this attribute receive a getter method, the first to protect and avoid being instantiated out of the class; all time this getter is invocated, the getter use the intern method to calculate based in the birth date, which is static.

👷 🚧 CAUTION! ⚠️ Area in construction 🚧 👷

About class Menu

The methods responsibilities

The files division

Owner
Ricardo Deo Sipione Augusto
Studying and developing my skills in python, HTML5, CSS3, JS, React, Angular and other software technologies
Ricardo Deo Sipione Augusto
A Linux program to create a Windows USB stick installer from a real Windows DVD or image.

WoeUSB-ng A Linux program to create a Windows USB stick installer from a real Windows DVD or image. This package contains two programs: woeusb: A comm

Longinus 1 Nov 19, 2021
Learning with Peter Norvig's lis.py interpreter

Learning with lis.py This repository contains variations of Peter Norvig's lis.py interpreter for a subset of Scheme, described in (How to Write a (Li

Fluent Python 170 Dec 15, 2022
Metal Gear Rising: Revengeance's DAT archive (un)packer

DOOMP Metal Gear Rising: Revengeance's DAT archive (un)packer

Christopher Holzmann Pérez 5 Sep 02, 2022
TrainingBike - Code, models and schematics I've used to interface my stationary training bike with PC.

TrainingBike Code, models and schematics I've used to interface my stationary training bike with PC. You can find more information about the project i

1 Jan 01, 2022
Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources.

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources. It provides the necessary user stream data and order book data for trading in a

litepresence 5 May 08, 2022
Quanser Labs Robotic Arm With Python

Quanser-Labs-Robotic-Arm As a team, we programmed a Robotic-Arm in Python on the

1 Jul 11, 2022
A Python software implementation of the Intel 4004 processor

Pyntel4004 A Python software implementation of the Intel 4004 processor. General Information Two pass assembler using the original mnemonics, directiv

alshapton 5 Oct 01, 2022
For when you really need to rank things

Comparisonator For when you really need to rank things. Do you know that feeling when there's this urge deep within you that tells you to compare thin

Maciej Wilczyński 1 Nov 01, 2021
LTGen provides classic algorithms used in Language Theory.

LTGen LTGen stands for Language Theory GENerator and provides tools to implement language theory. Command Line LTGen is a collection of tools to imple

Hugues Cassé 1 Jan 07, 2022
SciPy library main repository

SciPy SciPy (pronounced "Sigh Pie") is an open-source software for mathematics, science, and engineering. It includes modules for statistics, optimiza

SciPy 10.7k Jan 09, 2023
Scientific Programming: A Crash Course

Scientific Programming: A Crash Course Welcome to the Scientific Programming course. My name is Jon Carr and I am a postdoc in Davide Crepaldi's lab.

Jon Carr 1 Feb 17, 2022
Python meta class and abstract method library with restrictions.

abcmeta Python meta class and abstract method library with restrictions. This library provides a restricted way to validate abstract methods. The Pyth

Morteza NourelahiAlamdari 8 Dec 14, 2022
sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character.

ꦱꦮ sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character. sawa iku

Rony Lantip 307 Jan 07, 2023
200 LeetCode problems

LeetCode I classify 200 leetcode problems into some categories and upload my code to who concern WEEK 1 # Title Difficulty Array 15 3Sum Medium 1324 P

Hoang Cao Bao 108 Dec 08, 2022
Render your templates using .txt files

PizzaX About Run Run tests To run the tests, open your terminal and type python tests.py (WIN) or python3 tests.py (UNX) Using the function To use the

Marcello Belanda 2 Nov 24, 2021
A simple app that helps to train quick calculations.

qtcounter A simple app that helps to train quick calculations. Usage Manual Clone the repo in a folder using git clone https://github.com/Froloket64/q

0 Nov 27, 2021
Another Provably Rare Gem Miner 💎 (for Raritygems)

Provably Rare Gem Miner Go (for Rarity) Pull Request is strongly welcome as I don't know anything about Golang/Python/Web3. Usage Install Python 3.x i

朱里 6 Apr 22, 2022
Basic infrastructure for writing scripts in Python

Base Script Python is an excellent language that makes writing scripts very straightforward. Over the course of writing many scripts, we realized that

Deep Compute, LLC 9 Jan 07, 2023
A working roblox account generator it doesnt bypass the capcha stuff cuz these didnt showed up in my test runs

A working roblox account generator (state 11.5.2021) it doesnt bypass the capcha stuff cuz these didnt showed up in my test runs

TerrificTable 22 Jan 03, 2023
API for SpeechAnalytics integration with FreePBX/Asterisk

freepbx_speechanalytics_api API for SpeechAnalytics integration with FreePBX/Asterisk Скопировать файл settings.py.sample в settings.py и отредактиров

Iqtek, LLC 3 Nov 03, 2022