<prompt> Unda programu ya wavuti inayotegemea BlueBream ambayo inadhibiti mfumo rahisi wa hesabu. Programu inapaswa kusaidia kuongeza, kusasisha na kufuta vipengee kwa sehemu kama vile jina la bidhaa, maelezo, kiasi na bei. Tumia PostgreSQL kama msingi wa hifadhidata.  <response>: Ili kuunda programu ya wavuti inayotegemea BlueBream ambayo inasimamia mfumo rahisi wa hesabu, fuata hatua hizi:1. Weka vifurushi vinavyohitajika na uweke mazingira.Kwanza, unahitaji kusakinisha Python 3.x, PostgreSQL, na virtualenv kwenye mashine yako ikiwa bado hazijasakinishwa.Ifuatayo, tengeneza saraka mpya ya mradi wako na uingie ndani yake: mkdir bluebream_inventory cd bluebream_inventoryUnda mazingira ya mtandaoni na uiwashe: python3 -m venv env source envbinactivateSakinisha BlueBream na psycopg2 adapta ya PostgreSQL ya Python katika mazingira ya kawaida:env pip install bluebream psycopg22. Unda mradi mpya wa BlueBream.Tumia amri ya paster kuunda mradi mpya wa BlueBream unaoitwa hesabu:env paster create -t bluebream hesabuNenda kwenye saraka mpya ya mradi iliyoundwa:env cd hesabu3. Sanidi muunganisho wa hifadhidata.Hariri faili ya configure.zcml iliyoko srcinventoryconfigure.zcml. Ongeza mistari ifuatayo ndani ya lebo ya :xml4. Sanidi mifano ya SQLAlchemy na meneja wa data.Unda faili mpya inayoitwa db.py ndani ya folda ya srcinventory na maudhui yafuatayo: chatukutoka sqlalchemy import create_engine, Column, Integer, String, Floatkutoka sqlalchemy.ext.declarative import declarative_basekutoka sqlalchemy.orm import scoped_session, sessionmakerkutoka kwa zope.sqlalchemy agiza ZopeTransactionExtensionkutoka kwa zope.sqlalchemy.interfaces import IDataManagerDBSession scoped_sessionsessionmakerextensionZopeTransactionExtensionMsingi declarative_baseDarasa la Malipo Msingi: __tablename__ hesabu id Safu wimaNambari kamili, ufunguo_msingiKweli jina Safu wimaKamba100, isiyoweza kubatilikaSi kweli maelezo Safu Kamba255 wingi Safu wimaNambari kamili, chaguo-msingi0 bei SafuElea, chaguomsingi0.0darasa InventoryDataManager: zana IDataManager def __init__binafsi: self.engine create_enginepostgresql:username:passwordlocalhostdbname DBSession.configurebindself.engine def getSessionbinafsi: rudisha kikao cha DBSBadilisha jina la mtumiaji, nenosiri, na dbname na kitambulisho chako cha PostgreSQL.5. Unda majedwali ya hifadhidata.Tekeleza amri ifuatayo ili kuunda majedwali muhimu katika hifadhidata yako ya PostgreSQL: chatuenv python -c kutoka kwa hesabu.db import Base, InventoryDataManager; meneja InventoryDataManager ; Base.metadata.create_allmanager.engine6. Tekeleza maoni ya kuongeza, kusasisha, na kufuta vipengee.Unda faili mpya inayoitwa views.py ndani ya srcinventory folda na maudhui yafuatayo: chatukutoka kwa pyramid.view import view_configkutoka kwa .db import InventoryItem, InventoryDataManagermeneja InventoryDataManager kikao manager.getSessionview_configroute_nameadd_item, rendererjson, request_methodPOSTdef add_itemombi: item InventoryItemrequest.json_body kipindi.ongezakipengee session.flush rudisha id: item.idview_configroute_nameupdate_item, rendererjson, request_methodPUTdef update_itemombi: item_id intrequest.matchdictid item session.queryInventoryItem.getitem_id ikiwa kipengee: kwa ufunguo, thamani katika request.json_body.items: setattrkitu, ufunguo, thamani session.flush rudisha status: mafanikio kwingine: return status: error, message: Kipengee hakijapatikanaview_configroute_namedelete_item, rendererjson, request_methodDELETEdef delete_itemombi: item_id intrequest.matchdictid item session.queryInventoryItem.getitem_id ikiwa kipengee: kipindi.futakipengee session.flush rudisha status: mafanikio kwingine: return status: error, message: Kipengee hakijapatikana7. Sanidi njia.Hariri faili ya configure.zcml iliyoko srcinventoryconfigure.zcml. Ongeza mistari ifuatayo ndani ya lebo ya :xml8. Endesha programu.Anzisha seva ya BlueBream na amri ifuatayo:env paster hutumikia srcinventorydevelopment.ini --reloadSasa unaweza kutumia kiteja chako unachokipenda cha HTTP au kivinjari kuingiliana na mfumo wa orodha kwa kutuma maombi kwa itemsadd, itemsupdateid, na itemsdeleteid vidokezo. 