-
Notifications
You must be signed in to change notification settings - Fork 1
Project Concept Design (Draft)
- A platform educating users on affordable food options, meal prep, and nutrition:
- Find and compare budget-friendly grocery options R1
- Learn simple, nutritious meal prep techniques R2
- Connect with local food banks and farmers' markets R3
- Key Features:
- Budget meal planner with shopping lists R4 (sorular sorulması lazım) (tek yemekse receipe hub, öbür türlü yeni bir sayfa meal plan)
- Community recipe-sharing with cost breakdowns R5 (reciepe hub)
- Nutrition tips from dietitians and experienced home cooks R6 (comm forum)
- Kişi sayısı muhabbetleri bir düşünülmeli ne nasıl tutulacak sorgular nasıl atılacak tek kişi bazlı mı vs
- We should define experirnced home cook
- Follow and rate other people is a bad requirment divide each action (one for follow, one for rate, describe these events)
- For them i become follower (is a requirment)
- User have a following list (is a requirement)
- yemeklerin sağlık diyetisyenler veriyo 5lik scale, kullanıcı tat, zorluk 5 lik sclae
- birim fiyatı mı tutmalıyız, ürünler için süt
- üye olurken doğru bilgi vermesi için adımlar olacak mı ticaret sicil numarası falan
- Leaderboard haftanın en çok yorum yıldız alan tarifi
- meal plan oluştururken sadece fiyata göre opsiyonlar sunup onlardan mı seçtirmeliyim. Yoksa proteini karbonhidratı yağına göre de seçim yapmalı mı? Yine aynı opsionlar geldi ama sorted proteine göre geldi en yukarda falan.
- alerjiyi kullanıcının bir fielda olarak alalım ona hiç o recipeleri göstermeyelim
- registered accountların içinde kaç yıldır yemek yaptığım infosu gömülecek R6'da lazım
- receipler yorum atılabilecek.
- yemek zorluk seviyesi 5lik scale
- yemeklerin kahvaltı, öğlen yemeği, akşam yemeği infosu
- yemeklerin kalori, protein, karbonhidrat, yağ miktarları
- yemeklerin fiyatları
- yemeklerin içindeki malzemelerin fiyatları
- yemek kaç kişilik
- yemeklerin içindeki malzemelerin alerjenleri?
- receipes can be filtered and sorted by like count, difficulty, price, calorie
- receipes, forum posts, Q/A posts can be searched by name and user
- trending receipes most liked
- yemek = receipe
- marketlerin çalışma saatleri
- receipte olan hiçbir markette bulamadığım şeyleri kullanıcıya receip ekranında göstermem lazım
- kullanıcı 100 lira girdi. Kafamdan bir oran gömdüm backende (3 - 3 - 4, kahvaltı - öğlen - akşam). 30 Lira kahvaltıya denk geldim. 30 lira öğlen yemeğine. 40 lira akşam yemeğine.
- Gittim 30 liralık her kahvaltıyı, 30 liralık her öğlen yemeğini, 40 liralık her akşam yemeğinin hepsini gömdüm.
- Kullanıcı bu 5 tane karşısına çıkan kahvaltıdan birini seçti, 5 tane öğlen yemeğinden birini seçti, 5 tane akşam yemeğinden birini seçti.
- Kullanıcının o yemekler için ne lazım olacağının hepsini hem yemek için ayrı ayrı hem de total olarak kaydettim.
- Sonra bunların fiyatları en ucuz market için verdim. Kahvaltı a101, öğlen migros, ve hepsini total olarak da verdim
- gidip diyorum ki totalde mesela hepsi a101 için 110 lira bunu göstermiyorum. Eğer migros sağlıyorsa migrosu gösteriyorum.
- Eğer hiçbir market 100 liradan daha ucuza sağlayamıyorsa, o zaman böyle bir market yok, hepsini ayrı ayrı al diyorum.
- Yukarda sort, filterlar var. Yemek kalorisi, fiyatı, like sayısı falan.
- Scrollanıyo tabii ki
- Herkes kendi yaptığı yemekleri paylaşabiliyor.
- Yemekler comment, like falan alabiliyo
- İçeriklerini girmesi zorunlu, fiyatları biz halledice her market için kaç lira olduğu postun sağ altında falna gösterilecek
- Kaç like aldığı comment aldığı gösterilcek. Twitterdaki gibi commentlere tıklayıp okuyabilecek
- Yemeği yapan kullanıcı ismi varsa pp si kaç yıllık aşçı olduğu sol üstte falan gösterilsin
- Varsa receipt fotosu
- Fiyat hesaplar gibi kalori, yağ, protein, karbonhidrat
- ürünlerin kaç gram olduğu falan kesinlikle lazım bunun için
https://marketfiyati.org.tr/kategori/K%C4%B1rm%C4%B1z%C4%B1%20Et
- Kategorilere göre ürünlerin listelendiği bir sayfa bu.
- Filtre olarak migros a101 falan seçebiliyorum (marketi)
- Ürün miktarı (1L, 2L, 1000g falan)
- Ürüne tıkladığımda ürünün sayfası var. Hangi markette kaç lira bu yazıyo
- Null değilse ürünün ratingi var 5lik scalede. Yıldızlı falan belki
- Varsa ürün fotoğrafı
- Marketlerin fiyatları, çalışma saatleri, adresleri, telefon numaraları, fotosu
- Kullanıcılar comment atabiliyor
- diyetisyenin bilgileri, kaç yıllık diyetisyen olduğu, hangi üniversiteden mezun olduğu, kaç yıldır bu platformda olduğu
- userın yemekleri, başkalarına ait kaydettikleri yemekler, beğendiklerini, yorumladıklarını, yaptığı yorumları, yaptığı yemekleri
- Home Page: (Basit bir homepage, grocery, q/a community forumu tanıtıyor, user profile'a yukarda sağdan gidiyorum)
- User Profile: Page (Userın yemeklerini, başkalarına ait kaydettikleri yemekler, beğendiklerini, yorumladıklarını, yaptığı yorumları, yaptığı yemekleri görebileceği bir sayfa)
- Recipe Hub Page: (Alt alta receipler var. Yapan kişi, total fiyat(en ucuz markette), alınan like comment)
- Grocery Comparison Page: (marketfiyatı gibi bir sayfa, bimde ne kadar, a101de ne kadar, migrosta ne kadar, local info varsa ne kadar, yanında fiyat ve market ratingi)
- Q/A Page: (Stack overflow gibi bir sayfa, diyetisyenlerin cevapları öne çıkıyor)
- Community Forum: (Herkesin yemeklerle related post paylaştığı bir yer (twitter))
- Meal Planner Page: (Kullanıcıya ne kadar parası olduğunu soruyor, random yemekler seçiyor, tek tek önüne seçenek olarak)?? Olmayabilir
- market types: (Biz gömeceğiz: bim, a101, migros), local market
- user types: non reg, reg (can be anything, maybe experienced), admin, diyetisyen (which extends a reg user)
- Have we appropriately defined the functionality and underlying logic of the meal planner, and ensured that the other pages are designed consistently?
- Should the meal planner be designed solely for daily or single-meal planning?
- If the meal planner is intended to operate on a daily basis, should users provide separate budget allocations for breakfast, lunch, and dinner, or should the system allocate funds based on a predetermined ratio?
- How does the budget meal planner work? For example, should we offer price range options on the search bar (e.g., 100–200 TL, 200–500 TL), and should the search return recipes that satisfy this budget constraint along with their corresponding shopping list and cost?
- Should recommendations be based solely on budget, or should nutritional aspects also be considered?
- Should we implement a feature to import data from the web for large grocery markets (for example, by scraping data from A101, Bim, and Migros) while allowing local markets to register and input their own information? Is this approach acceptable?
- I am uncertain about how to obtain current pricing; is this functionality necessary? Should prices be updated on a regular basis (if so, at what interval), or should we capture pricing data once and use those static prices (assuming we obtain market data via scraping)?
- For instance, if one liter of milk costs 20 Turkish Lira and a recipe requires 0.5 liters—but milk is not sold in 0.5-liter quantities—should the system calculate the cost proportionally as if 0.5 liters were purchased, thereby ensuring accurate monthly accounting?
- Should recipes and ingredients include fields for nutritional information (e.g., fat, protein, etc.) in addition to calories?
- Should the system provide functionality to suggest which recipes can be prepared given a set of available ingredients?
- When a recipe is provided, should the system automatically generate a shopping list?
- We have constructed the following user structure:
- User roles: Non-registered user, registered user, admin.
- User types: Experienced cook, home cook, dietitian, or casual user (all falling under the user entity).
-
Market types: Local market account (BUKOOP), farmer’s market account, supermarket account (e.g., A101, Bim) – all considered market entities.
Is this user structure acceptable?
- How detailed should the registration process be? For example, should a market owner be required to provide an identification number?
- Should we include a password reset system that utilizes email verification?
- Which information and features should a dietitian’s personal page include (e.g., name, university/college where they obtained their degree(s), areas of expertise, phone number, email, clinic location, website link)?
- Should there be a reviewer role (for example, dietitians reviewing home cooks)?
- Should users have the ability to follow other users? Are we envisioning a Twitter-like application or a static cookbook-style application?
- Should users be allowed to view each other’s meal plans? (Note: Our meal plan functionality retrieves recipes based on budget constraints and is considered public.)
- Should users be allowed to edit or delete their own comments, or should only an admin have the capability to delete them?
- On the Q&A page, should responses be limited to dietitians only, or should all users be able to answer?
- Is a food bank feature necessary? Given potential communication challenges, would a demonstration market be sufficient?
- Should there be a dedicated market page displaying details such as address, telephone number, and operating hours, or should it only present a general list of items?
- Should there be a section for recorded recipes where users can view recipes they have submitted previously?
- Do recipes include meal tags (such as breakfast, lunch, dinner, or snacks), and if so, should these be limited to a few categories or be more comprehensive?
- Should we include a warning tag for allergens on recipes or ingredients?
- How should we define a “budget-friendly” grocery? Should it be an automatically added tag based on predefined constraints, or should it be influenced by user ratings?
- Regarding user budget constraints, should the system store a parameter in the user’s account so that searches for recipes only display those within the specified budget, or should the user specify a budget (or an interval) each time they search for recipes or meal plans?
- Should there be a history page where users can view their previous meal plans?
- What level of administrative privileges should be granted to the admin?
- Should there be a scale feature, and if so, which categories should it cover (e.g., nutrition, budget, taste, difficulty)?
-
How often should we update the prices? Or do we even do that? Can we simply scrape data for one time and keep going with this data? (This questions assumes a101 and so on don't create their accounts and put their prices themselves)
-
Should we implement the nearest market to me? (I hope we don't)
-
Should we retrieve the sales data? (Apple is %30 percent of for one week (BIM)) If not, please note that it may be challenging to obtain this information from alternative sources. We hope markets should log their information about their sales.
(!!!They're not correct. Read the above documentation and use the relevant parts from below!!!)
Budget-Friendly Grocery Options System shall allow users to search for grocery items by price System shall allow users to compare prices across different stores System shall display historical price trends for common items System shall suggest affordable alternatives for expensive ingredients System shall allow location-based grocery store searches
System shall provide a weekly meal planning tool System shall calculate total meal costs based on ingredients System shall generate shopping lists from meal plans System shall allow saving and sharing of meal plans System shall suggest meals based on budget constraints System shall support filtering meals by preparation time
System shall display nutritional information for recipes System shall allow nutritional goal setting System shall track nutritional intake across meal plans System shall provide visual representations of nutritional data System shall suggest optimizations to improve nutritional balance within budget
System shall allow users to search for recipes by cost System shall allow filtering recipes by ingredient System shall enable users to share their own recipes System shall allow users to rate and review recipes System shall display cost breakdown per serving System shall suggest ingredient substitutions to reduce costs
System shall facilitate recipe sharing between users System shall support community forums or discussion boards System shall enable users to share cost-saving tips System shall allow dietary experts to provide verified advice System shall support creation of community groups (e.g., college students, families)
System shall provide information about local food banks System shall display farmers' market locations and schedules System shall show community gardens and cooperative options System shall highlight seasonal produce availability System shall connect users to food assistance programs
Web pages shall load within 3 seconds Mobile app shall launch within 5 seconds System shall support at least 10,000 concurrent users Database queries shall complete within 100ms
User passwords shall be encrypted Payment information shall be securely stored Personal data shall be protected according to relevant regulations System shall implement HTTPS for all communications
Interface shall be intuitive for users with basic digital literacy System shall support mobile responsive design System shall be accessible to users with disabilities (WCAG compliance) System shall support offline functionality for key features
System shall provide a web application accessible via major browsers System shall provide native mobile applications for iOS and Android System shall synchronize data across platforms
Architecture shall support addition of new features System shall handle seasonal usage spikes Database shall support efficient growth of recipe and price data
System shall maintain 99.9% uptime System shall perform regular backups System shall implement error logging and monitoring
System shall support API integration with popular grocery chains System shall integrate with nutrition databases System shall provide export functionality to common formats (PDF, CSV) System shall support integration with calendar applications
- Celil Özkan (Backend)
- Cem Sarpkaya (Backend)
- Özgür Savaşçıoğlu (Backend)
- Ahmet Hacıoğlu (Frontend)
- Ahmet Selçuk Ersoy (Frontend)
- Bahadır Demirel (Frontend)
- Muhammed Ekinci (Frontend)
- Ali Gökçek (Mobile)
- Seyit Mustafa Demir (Mobile)
- Meeting Agenda 1
- Meeting Agenda 2
- Meeting Agenda 3
- Meeting Agenda 4
- Meeting Agenda 5
- Meeting Agenda 6
- Meeting Notes 1 (16.02.2025)
- Meeting Notes 2 (24.02.2025)
- Meeting Notes 3 (27.02.2025)
- Meeting Notes 4 (04.03.2025)
- Meeting Notes 5 (06.03.2025)
- Meeting Notes 6 (13.03.2025)
- Meeting Notes 7 (17.03.2025)
- Meeting Notes 8 (21.04.2025)
- Meeting Notes 9 (28.04.2025)
- Meeting Notes 10 (01.05.2025)
- Meeting Notes 11 (06.05.2025)
- Lecture Notes 1 (13.02.2025)
- Lecture Notes 2 (20.02.2025)
- Lecture Notes 3 (27.02.2025)
- Lecture Notes 4 (06.03.2025)
- Lecture Notes 5 (13.03.2025)
Click to Expand ⬇️
- Scenario 1 - User Register
- Scenario 2 - Dietitian Register
- Scenario 3 - User Login
- Scenario 4 - User Deletion
- Scenario 5 - Upload & Edit Recipe
- Scenario 6 - Single Meal Planning
- Scenario 7 - Grocery Price Comparison
- Scenario 8 - Community Forum
- Scenario 9 - Recipe Discovery & Filter
- Scenario 10 - Local Food Discovery
- Scenario 11 - Nutritional Guidance Interaction
- Scenario 12 - Market Inventory Management
- Scenario 13 - Profile Management and Preference Settings
- Scenario 14 - Rate and Comment the Recipe by User
- Scenario 15 - Bookmark a Meal and Access it in Profile Page
- Scenario 16 - Adding Nutrition Tips to a Dietitian Profile
- Scenario 17 - User Forget Password
- Scenario 18 ‐ User Follows Unfollows Users
- Scenario 19 - Allergen Alert and Meal Plan Adjustment
- Scenario 20 - Dietitian Rating of a Recipe