How tan-sd/makan-boleh works
MakanBoleh is a food-sharing web application: people discover nearby surplus-food posts, while logged-in users can share food, manage their profile, and participate in a forum. The Vue app sends requests to Flask services; the sampled backend code shows food_management coordinating user verification, food/forum services, and activity logging. Food and user persistence are represented by their SQLAlchemy services and database schemas. README and excerpts support the main product areas, but do not establish the wiring of every notification or messaging module, so those connections are omitted.
Main entry points: index.js Page routing · food_management.py Food coordination · App.vue Vue application · FoodList.vue Food discovery
Components 21
Web application
- Vue application
my_app/src/App.vue - Page routing
my_app/src/router/index.js - Food discovery
my_app/src/components/FoodList.vue - Food map
my_app/src/components/Map.vue - Registration
my_app/src/views/SignUpPage.vue - User profile
my_app/src/views/UserProfile.vue - Forum interface
my_app/src/views/Forum.vue - Session state
my_app/src/store/index.js
API coordination
- Food coordination
food_management.py - Food API
manage_food.py - Forum API
manage_forum.py
Product services
- Food posts
food_info.py - User accounts
user_info.py - Forum content
forum_info.py - Activity logging
activity_log.py
Persistent data
- Food database
database/food_db.sql - User database
database/user_info.sql - Forum database
database/forum_db.sql
Other components
- Food sharer or seeker
- Firebase Storage
- Google Maps
Connections 23
- Food sharer or seeker → Vue application: uses
- Vue application → Page routing: renders routes
- Page routing → Food discovery: opens discovery
- Page routing → Food map: opens map
- Page routing → Registration: opens signup
- Page routing → User profile: opens profile
- Page routing → Forum interface: opens forum
- Vue application → Session state: installs state
- Food discovery → Food coordination: requests nearby food
- Food map → Food coordination: requests food markers
- Food map → Google Maps: renders map
- Food discovery → Firebase Storage: loads food images
- Registration → Food API: submits registration
- User profile → User accounts: updates profile
- Forum interface → Forum API: creates forum content
- Forum interface → Forum API: loads forum posts
- Food coordination → User accounts: verifies user
- Food coordination → Food posts: fetches food
- Food coordination → Forum content: creates forum post
- Food coordination → Activity logging: records activity
- Food posts → Food database: reads and writes
- User accounts → User database: reads and writes
- Forum content → Forum database: reads and writes