fake-store.mp4
π― FletXShop β A minimalist e-commerce showcase app built with Flet and FletX.
ποΈ Sell items like stickers, t-shirts, hoodies, and caps in a clean, responsive interface β deployable on desktop, web, and mobile β all using Python only!
π₯ This app was developed as an advanced example of FletX usage and will be presented at PyCon Togo 2025 as part of a live demo.
π¦ Key features:
- Multi-platform support (Web, Desktop, Mobile)
- Dynamic routing & state management with FletX
- Clean UI built with Flet controls
- Easy-to-extend project structure
This is a FletX application built with FletX a GetX-like tiny framework for Python and Flet. FletX provides state management, dependency injection, and routing capabilities similar to GetX in Flutter.
- π Fast Development: Hot reload and rapid prototyping
- ποΈ Clean Architecture: Separation of concerns with controllers, views, and services
- π Dependency Injection: Automatic dependency management
- π State Management: Reactive state management with automatic UI updates
- πΊοΈ Routing: Declarative routing with named routes
- π± Cross-platform: Run on web, desktop, and mobile
fakeShop/
βββ app/
β βββ controllers/ # Business logic controllers
β βββ services/ # Business services and API calls
β βββ models/ # Data models
β βββ components/ # Reusable widgets
β βββ pages/ # Application pages
β βββ routes.py # App routing modules
βββ assets/ # Static assets (images, fonts, etc.)
βββ tests/ # Test files
βββ .python-version # Python dependencies
βββ pyproject.toml # Python dependencies
βββ README.md # Quick start README
βββ main.py # Application entry point- Python 3.12+
- pip (Python package manager)
- Clone or download this project
- Install dependencies:
# Using pip pip install -r requirements.txt # NOTE: you can use your favorite python package manager (uv, poetry, pipenv etc...)
# Run with FletX CLI (recommended)
fletx run
# Or run directly with Python
python main.py
# Run in web mode
fletx run --web
# Run in desktop mode
fletx run --desktop
# Run with custom host and port
fletx run --host 0.0.0.0 --port 8080# Create a new controller
fletx generate controller UserController
# Create a new Page (Screen)
fletx generate page UserView
# Create a new service
fletx generate service ApiService
# Create a new Widget (Component)
fletx generate component TaskItempro2015
0.1.0