How mah3456/wasfati works
This is a Flutter recipe-sharing app backed by a Flask API. The main workflow is user sign-in, browsing or filtering recipes, opening recipe details, and optionally creating a recipe with an image; users can also comment, favorite recipes, and manage their profiles. The graph separates mobile presentation/state/API access from backend route domains and persistence. Flutter source excerpts were not provided, so client-side links follow the README’s documented architecture; backend links reflect sampled route and app-factory code.
Main entry points: __init__.py App factory · routes.py Recipe routes · providers State providers · extensions.py Database extension
Components 19
Flutter app
- App entry
app/lib/main.dart - Authentication
app/lib/presentation/view/auth - Recipe browsing
app/lib/presentation/view/home.dart - Recipe screens
app/lib/presentation/view/recipes - User screens
app/lib/presentation/view/user - State providers
app/lib/presentation/providers - API clients
app/lib/services/api
Flask API
- API server
api backend/api/app.py - App factory
api backend/api/src/__init__.py - User routes
api backend/api/src/User/routes.py - Recipe routes
api backend/api/src/Recipe/routes.py - Comment routes
api backend/api/src/Comments/routes.py - Favorite routes
api backend/api/src/User/Favorites/routes.py
Persistence and media
- Domain models
api backend/api/src/models.py - Database extension
api backend/api/src/extensions.py - SQL database
- Image processing
api backend/api/src/Recipe/removImageBackgroudn.py - Recipe uploads
api backend/api/src/uploads/images
Other components
- App user
Connections 27
- App user → App entry: uses
- App entry → Authentication: opens
- App entry → Recipe browsing: opens
- App user → Recipe screens: creates and views
- App user → User screens: manages account
- Authentication → State providers: updates state
- Recipe browsing → State providers: reads state
- Recipe screens → State providers: updates state
- User screens → State providers: updates state
- State providers → API clients: requests data
- API clients → API server: sends requests
- API server → App factory: creates app
- App factory → User routes: registers
- App factory → Recipe routes: registers
- App factory → Comment routes: registers
- App factory → Favorite routes: registers
- User routes → Database extension: queries and commits
- Recipe routes → Database extension: queries and commits
- Comment routes → Database extension: queries and commits
- Favorite routes → Database extension: queries and commits
- User routes → Domain models: uses user model
- Recipe routes → Domain models: uses recipe model
- Comment routes → Domain models: uses domain models
- Favorite routes → Domain models: uses favorite model
- Database extension → SQL database: persists records
- Recipe routes → Image processing: processes uploads
- Recipe routes → Recipe uploads: stores images