How gabriellaalubis/if2150-2025-k01-g05-greencloset works
GreenCloset is a Python desktop app for sustainable-fashion shopping, barter, clothing donations, community chat, and news. Users enter through the CustomTkinter application, navigate its views, and use feature controllers to manage domain records in MySQL. The README documents an MVC structure and MySQL persistence; sampled controllers confirm direct SQL access in several areas, while the database connection implementation and most view-to-controller wiring were not sampled, so those links are shown only where supported.
Main entry points: database MySQL database · mainApp.py App navigation · model Domain entities · barterController.py Barter requests
Components 21
Desktop app
- App navigation
src/mainApp.py - Home and news
src/view/home_page.py - Product catalog
src/view/product_catalog.py - Product detail
src/view/product_detail.py - Purchase form
src/view/pembelian_form.py - My transactions
src/view/my_transaction.py - Profile and address
src/view/profile.py
Commerce flows
- Product management
src/controller/produkController.py - Shopping orders
src/controller/pesananController.py - Barter requests
src/controller/barterController.py - Donation records
src/controller/donasiController.py
Community features
- Chat interface
src/view/chat.py - Chat messaging
src/controller/chatController.py - News catalog and detail
src/view/news_catalog.py - News management
src/controller/beritaController.py - Notifications
src/controller/notifikasiController.py
Domain and persistence
- Customer accounts
src/controller/customerController.py - Owner accounts
src/controller/ownerController.py - Domain entities
src/model - MySQL database
src/database
Other components
- Customer or owner
Connections 24
- Customer or owner → App navigation: uses
- App navigation → Home and news: navigates
- App navigation → Product catalog: navigates
- App navigation → Profile and address: navigates
- App navigation → News catalog and detail: opens news
- Product catalog → Product detail: selects item
- Product detail → Purchase form: starts purchase
- Customer or owner → My transactions: reviews activity
- Customer or owner → Chat interface: sends messages
- Home and news → News catalog and detail: opens articles
- Product management → MySQL database: queries products
- Shopping orders → MySQL database: manages orders
- Barter requests → MySQL database: manages barter
- Barter requests → Domain entities: loads entities
- Donation records → MySQL database: manages donations
- Chat messaging → MySQL database: reads and writes
- Chat messaging → Domain entities: maps messages
- News management → MySQL database: queries news
- News management → Domain entities: maps news
- Notifications → MySQL database: stores notifications
- Customer accounts → MySQL database: manages customers
- Customer accounts → Domain entities: maps customers
- Owner accounts → MySQL database: manages owners
- Owner accounts → Domain entities: uses entities