0% found this document useful (0 votes)
40 views4 pages

DEVOIDA - Second Interview - Recipe Sharing Application

DEVOIDA - Second Interview - Recipe Sharing application

Uploaded by

a.hamoud6161
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views4 pages

DEVOIDA - Second Interview - Recipe Sharing Application

DEVOIDA - Second Interview - Recipe Sharing application

Uploaded by

a.hamoud6161
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

‭Tools Required‬

‭ .‬ F
1 ‭ ree account on‬‭FlutterFlow‬‭(optional)‬
‭2.‬ ‭Access to GitHub‬
‭3.‬ ‭Local development environment for Flutter‬

‭Part 1: App Development‬


‭ ask‬‭: Develop a‬‭Recipe Sharing‬‭application using Flutter.‬‭The app should include the following‬
T
‭features:‬

‭1.‬ ‭User Authentication‬

‭○‬ U ‭ sers should be able to sign up, log in, and log out using your preferred‬
‭authentication provider (e.g., Firebase Auth, Supabase Auth).‬
‭○‬ ‭A basic user profile (e.g., username, profile picture) is optional but‬
‭recommended.‬
‭2.‬ R
‭ ecipe Feed‬

‭○‬ D ‭ isplay a scrollable feed of recipes posted by users, each with a title, short‬
‭description, image, and basic stats (e.g., likes, comments count).‬
‭○‬ ‭Allow searching or filtering recipes by category (e.g., “Vegan,” “Dessert,”‬
‭“Gluten-Free”).‬
‭3.‬ R
‭ ecipe Creation‬

‭○‬ U ‭ sers should be able to create a new recipe with fields such as title, ingredients,‬
‭instructions, and an optional image.‬
‭○‬ ‭Store and retrieve the data from a backend database (e.g., Firebase Firestore,‬
‭Supabase).‬
‭4.‬ ‭Interactions (Likes, Comments, Favorites)‬

‭ ‬ I‭mplement the ability for users to like or comment on a recipe.‬



‭○‬ ‭Provide an option to mark a recipe as a ‘favorite’ so it can be saved and quickly‬
‭accessed later.‬
‭5.‬ B
‭ ackend Integration‬

‭‬ U
○ ‭ se your choice of database to store recipe data, user profiles, and interactions.‬
‭○‬ ‭Manage recipe creation and updates via CRUD operations.‬
‭○‬ ‭Implement basic state management to handle user sessions, recipe listing, and‬
‭recipe details.‬
‭Part 2: Decision-Making‬

‭a.‬‭for Media Storage‬


‭ ask‬‭: Write a short report (1–2 pages) explaining‬‭how you plan to store and retrieve images‬
T
‭in your application. Address the following:‬

‭1.‬ ‭Selection Criteria‬

‭○‬ W ‭ hy did you choose a particular storage solution (e.g., Firebase Storage,‬
‭Amazon S3, Supabase Storage)?‬
‭○‬ ‭Discuss factors like ease of integration, pricing, scalability, and region availability.‬
‭2.‬ C
‭ omparison‬

‭○‬ C ‭ ompare the chosen solution with at least one alternative, highlighting pros and‬
‭cons.‬
‭○‬ ‭For example, compare Firebase Storage vs. Amazon S3 in terms of cost,‬
‭performance, and developer tools.‬
‭3.‬ ‭Implementation Plan‬

‭○‬ D ‭ escribe how you will integrate the chosen storage service into your Flutter app‬
‭(e.g., using official SDKs).‬
‭○‬ ‭Outline the data flow for uploading images, storing references in your database,‬
‭and retrieving images in the recipe feed.‬

‭b.‬‭for Database‬
‭ ask‬‭: Write a short report explaining your choice of database for this application. Address the‬
T
‭following:‬

‭1.‬ ‭Selection Criteria:‬


‭○‬ ‭Explain the criteria you used to choose the database.‬
‭2.‬ ‭Comparison:‬
‭○‬ ‭Compare the chosen database with at least one alternative, discussing the pros‬
‭and cons.‬
‭3.‬ ‭Implementation Plan:‬
‭○‬ ‭Describe how you plan to implement the database in your app, including data‬
‭structure and integration.‬
‭Part 3: Custom Code‬
‭Task‬‭: Implement‬‭one‬‭of the following custom features:‬

‭1.‬ ‭Custom Widget‬‭:‬

‭‬ D
○ ‭ evelop a‬‭Star Rating Widget‬‭that lets users rate‬‭a recipe (e.g., 1–5 stars).‬
‭○‬ ‭Use an existing pub.dev package (e.g.,‬‭ flutter_rating_bar‬ ‭)‬‭and extend it‬
‭with custom styling or additional logic.‬
‭○‬ ‭Store the user’s rating in the database, and show an average rating per recipe.‬

‭OR‬

‭2.‬ ‭Custom Action‬‭:‬

‭○‬ I‭mplement a‬‭Push Notification or Email Notification‬‭system that sends‬


‭notifications when:‬
‭■‬ ‭A user’s recipe is liked or commented on.‬
‭■‬ ‭A user you’re following posts a new recipe.‬
‭○‬ ‭Use a relevant pub.dev package (e.g.,‬‭ firebase_messaging, mailer‬ ‭) to‬
‭handle push or email notification and display.‬

‭Submission Guidelines‬
‭●‬ ‭If using FlutterFlow‬‭:‬

‭ .‬ S
1 ‭ ubmit the‬‭FlutterFlow project link‬‭.‬
‭2.‬ ‭Add Eng. Ahmed Darwish ([email protected]) to your FlutterFlow‬
‭project.‬
‭3.‬ ‭Send the‬‭decision making report‬‭(Part 2) and any‬‭technical explanations‬‭via‬
‭email.‬
‭ ‬ ‭If submitting Flutter code‬‭:‬

‭1.‬ ‭Submit a‬‭GitHub repository link‬‭containing:‬


‭■‬ ‭The‬‭Flutter code‬‭for your Recipe Sharing app.‬
‭■‬ ‭A‬‭README‬‭with instructions on how to run your app.‬
‭■‬ ‭The‬‭decision making report‬‭(Part 2).‬
‭■‬ ‭An‬‭explanation‬‭of your custom widget or custom action (Part 3).‬
‭2.‬ ‭Include any additional documentation or comments that clarify your solution.‬
‭ eel free to expand on details (e.g., add more categories, enable user profile editing) or use‬
F
‭different libraries as needed. Good luck 🙂‬

You might also like