c4110z.1-2023-team-5's People
c4110z.1-2023-team-5's Issues
Product name is empty when automatically added
Proposed Solution
The placeholder text of the autocomplete input in the AddProductScreen needs to be updated to show the product name after it's added from the scanner.
Task List
- Update the AddProductScreen component to retrieve the product name after it's added from the scanner.
- Modify the placeholder text of the autocomplete input to display the product name.
- Test the updated component to ensure that the placeholder text is displayed correctly.
Additional Information
Currently, when a product is added from the scanner, the placeholder text of the autocomplete input is empty. This can be confusing for users as they may not be sure if the product has been successfully added. By updating the placeholder text to show the product name, users will have a clear indication of the product that has been added.
Come up with a less generic name
Problem
The application currently does not have a name, which makes it difficult to refer to it.
A unique and memorable name is essential for effective marketing and user acquisition.
Proposed Solution
The team should come up with a name for the application that is distinctive, easy to remember, and accurately represents the purpose and functionality of the application.
Task List
- Brainstorm potential names that align with the application's purpose and values
Additional Information
It is essential to choose a name that accurately represents the application's features and value proposition to ensure effective branding and user acquisition.
Check for internet connectivity
Description
As a user, I want to be able to check if my device is connected to the internet or not. This will help me troubleshoot any issues related to connectivity and take necessary actions accordingly.
Task List
- Add the
expo-network
package to the project - Implement the
getNetworkStateAsync
function from theexpo-network
package to check internet connectivity - Display an error message if there is no internet connection
- Handle changes in internet connectivity and update the UI accordingly
- Test the feature on various network types (Wi-Fi, cellular, offline) to ensure it works as expected
Additional Information
We can use the expo-network
package to check internet connectivity in a React Native application. The getNetworkStateAsync
function returns an object with the current network state, which includes information about the type of connection (e.g., Wi-Fi, cellular) and whether there is internet connectivity or not. By implementing this function, we can check for internet connectivity and update the UI accordingly.
Design a Logo for the Application
Problem
The application currently lacks a logo, which makes it difficult to identify and visually differentiate from other applications. A logo is an important part of branding and can help establish a recognizable visual identity for the application.
Proposed Solution
The team should design a logo for the application that is visually appealing, memorable, and accurately represents the purpose and functionality of the application. The logo should be scalable and easily recognizable across various platforms and devices.
Task List
- Brainstorm potential design ideas and concepts for the logo
Additional Information
Having a unique and recognizable logo will help establish brand recognition and awareness for the application, making it more appealing to potential users.
Create Flowchart
Description
We need to create a flowchart to explain the functionality of the app in a easy and understandable way.
The chart should not be too complex and in detail, the target are common users without technical knowledge.
Tasklist
- Identify all major components of the project and their relationships.
- Create a draft of the flowchart.
- Review the draft with the team to ensure all components and relationships are accurately represented.
- Finalize the flowchart and ensure it is properly documented.
Test Application on Physical Android Device
Proposed Solution
We need to test the application on a physical Android device to ensure that it is functioning correctly and that there are no issues that are specific to the device. Testing on a physical device is important because it allows us to identify issues related to device compatibility, performance, and usability that may not be present on an emulator or virtual device.
Task List
- Obtain a physical Android device for testing
- Set up the development environment on the device
- Install the application on the device
- Test the application thoroughly to ensure that it is functioning correctly
- Identify any issues that are specific to the device and prioritize them for fixing
- Repeat the testing process on multiple devices with different configurations
Additional Information
Currently, we are testing the application on emulators and virtual devices, but this may not provide an accurate representation of the application's performance and compatibility with different devices. Testing on a physical device is important to identify any issues that are specific to the device's configuration, such as screen size, resolution, and device specifications. This issue aims to ensure that the application is tested on a physical device to identify and address any issues that may not be present on an emulator or virtual device.
Fixing Dark Mode and Light Mode Bugs
Proposed Solution
We need to review the current implementation of the dark and light modes and fix the bugs. Specifically, we need to address issues related to color contrast, inconsistent styling, and incorrect theme switching.
Task List
- Review the current implementation of dark and light modes
- Identify bugs related to color contrast
- Address inconsistent styling across different components
- Ensure that the correct theme is being applied at all times
- Test the updated implementation thoroughly across different devices
Additional Information
Currently, there are several bugs related to the dark and light modes in the project. These bugs are affecting the usability and accessibility of the project, and we need to address them as soon as possible. This issue aims to fix these bugs and improve the overall user experience of the project.
Create FoodBanks Screen
Proposed Solution
The team should create a FoodBanks screen that displays all the foodbanks from Feeding America on an interactive map. The screen should allow users to view their current location and the location of nearby foodbanks. When a user clicks on a foodbank, the screen should display relevant information about the foodbank, such as its name, address, and contact information.
Task List
- Design a prototype for the FoodBanks screen
- Implement the FoodBanks screen in the application
- Integrate the FoodBanks screen with the Feeding America API to display accurate and up-to-date information
- Test the FoodBanks screen to ensure it displays all relevant information accurately
- Make necessary adjustments based on user feedback
Additional Information
The FoodBanks screen is an important component of the application, as it helps users access foodbanks and other resources to combat food insecurity.
We should also research if there is any similar service to Feeding America also in Switzerland.
Financial and Business Considerations
Additional information
-Cost of producing the prototype?
-How much might a consumer be willing to pay (mass produced)?
-Will your product affect other businesses positively/negatively?
Missing error message for recipe creation
Description
In the application we need to add an error message that is showed when an error occurs while generating a recipe.
Task List
- Create error message and show it when an error occurs.
Additional Information
The error message should be easy to understand from a user and should not show technical information.
Test Application on Physical iOS Device
Proposed Solution
We need to test the application on a physical iOS device to ensure that it is functioning correctly and that there are no issues that are specific to the device. Testing on a physical device is important because it allows us to identify issues related to device compatibility, performance, and usability that may not be present on a simulator.
Task List
- Obtain a physical iOS device for testing
- Set up the development environment on the device
- Install the application on the device
- Test the application thoroughly to ensure that it is functioning correctly
- Identify any issues that are specific to the device and prioritize them for fixing
- Repeat the testing process on multiple devices with different configurations
Additional Information
Currently, we are testing the application on simulators, but this may not provide an accurate representation of the application's performance and compatibility with different devices. Testing on a physical device is important to identify any issues that are specific to the device's configuration, such as screen size, resolution, and device specifications. This issue aims to ensure that the application is tested on a physical iOS device to identify and address any issues that may not be present on a simulator.
General Testing
Proposed Solution
To ensure that the application is of high quality and meets the needs of our users, it is essential that the entire team participates in testing and providing feedback. This will help us identify any issues or areas for improvement before the application is released to our users.
Task List
- Review and prioritize the feedback and suggestions provided by the team
- Implement changes based on the feedback and suggestions, where appropriate
Additional Information
Testing and feedback are critical components of the development process, and we appreciate the team's participation in this effort. By working together, we can ensure that the application meets the needs of our users and exceeds their expectations.
Prototype of Smart Phone or Web based App
Additional information
-Explain your plan or programming strategy.
-If hardware to incorporated into prototype sample, explain how.
Create Fridge Screen
Proposed Solution
The team should create a Fridge screen that displays all the groceries that are currently in the user's fridge, sorted by expiration date. This will help users keep track of the food in their fridge and prompt them to consume food before it expires, reducing food waste.
Task List
- Design a prototype for the Fridge screen
- Implement the Fridge screen in the application
- Integrate the Fridge screen with the Scanner screen to automatically add groceries to the fridge when they are scanned
- Implement sorting functionality to display groceries by expiration date
- Allow users to manually add or remove groceries from the fridge
- Test the Fridge screen to ensure it displays all relevant information accurately
- Make necessary adjustments based on user feedback
Additional Information
The Fridge screen is a key component of the application, as it allows users to keep track of the food in their fridge and reduce food waste by consuming food before it expires.
Create a README.md
Proposed Solution
Create a README.md file that includes a brief description of the application, instructions on how to install and run the application, and any other relevant information.
Task List
- Write a brief description of the application
- Write instructions on how to install and run the application
- Include any other relevant information, such as licensing or contributing guidelines
Marketing and/or Incentives for the Audience
Additional Information
-Who is your audience? (Include the US and Switzerland)
-Will they need special incentives/information to engage with your product?
Fridge Empty Screen
Proposed Solution
Implementing a cool screen that reminds the user to add items to the fridge when the fridge list is empty. This will help users keep their fridge stocked and reduce food waste.
Task List
- #33
- Implement logic to detect when the fridge list is empty
- Integrate the cool screen into the app
Additional Information
- The cool screen should have a catchy message and eye-catching visuals to grab the user's attention.
- The app should only display the cool screen when the fridge list is empty to avoid annoying the user with unnecessary reminders.
Possible implementation
What problem are you addressing
Additional Information
-UN Sustainable Development Goals?
-Other social, business or health issues?
Prototype of Systems Engineering Model
Additional information
-How does it work?
-Design a plan for all or a portion of the process and how the web based App fits in.
Create Redux Storage
Proposed Solution
Implement Redux Storage to store and manage the state of the application. This will allow for better organization and management of the data in the application, making it easier to debug and maintain.
Task List
- Research the best way to implement Redux Storage in our application
- Decide on the structure of the Redux Store
- Implement the Redux Store in the application
- Test and debug the implementation of the Redux Store
Additional Information
- The Redux Store should be able to handle all the data and state changes of the application
- It should be easy to maintain and expand as the application grows
- The Redux Store should be integrated with the rest of the application
- The Redux Store should follow best practices for Redux implementation
Limitations of your Project
Additional Information
-What are challenges that could be presented in your project's implementation?
-What are the limits of your project's reach?
Cloud Function to Make Calls to OpenAI API
Proposed Solution
We need to implement a cloud function in Appwrite that will be responsible for making calls to the OpenAI API. This will allow us to keep our OpenAI API key secure and prevent it from being leaked. The cloud function should receive the necessary data from the client-side and use that data to make the required API call. The response from the OpenAI API should then be returned to the client-side.
Task List
- Set up a new cloud function in Appwrite
- Configure the cloud function to receive the necessary data from the client-side
- Write the necessary code to make the API call to the OpenAI API
- Test the cloud function thoroughly to ensure that it is functioning as expected
- Update the client-side code to use the new cloud function
Additional Information
This will allow us to keep our API key secure and prevent it from being leaked. The Appwrite documentation provides guidance on how to set up and configure cloud functions. Once the cloud function is set up and tested, we will need to update the client-side code to use the new cloud function.
Research and Professional Input
Additional Information
-Research on problem, similar solutions (if any)?
-Information from a professional person or organization related to any aspects of
your project?
Describe your Project
Additional Information
-What is its purpose?
-Describe its design. (How does it work?)
-Who is your audience/stakeholders?
Create Grocery Information Sheet
Proposed Solution
We need to create a Grocery Information Sheet that displays the details retrieved from the Open Food Facts API. This sheet should include the following information:
- Product Name
- Product Image
- Ingredients List
- Expiration Date
Task List
- Research the Open Food Facts API to understand the available information for a grocery item.
- Design the Grocery Information Sheet to display the information in an organized and user-friendly way.
- Implement the code to retrieve the information from the Open Food Facts API and display it on the Grocery Information Sheet.
- Test the functionality of the Grocery Information Sheet to ensure that it displays the correct information for a given grocery item.
Additional Information
- The Grocery Information Sheet will be used in conjunction with the Scanner Screen, which allows the user to scan the barcode of a grocery item and retrieve its information.
Review application language
Proposed Solution
To ensure the English in our application is of high quality, we propose to have a native English speaker review and edit all text within the application. This will help to improve clarity and reduce any misunderstandings that could arise due to errors in the language.
Task List
- Review and approve any suggested changes to the application text
Additional Information
As non-native English speakers, we understand the importance of having accurate and clear language in our application. We appreciate your support in ensuring that our application meets the highest standards for language quality.
Design the UI for the Empty Fridge Screen
Proposed Solution
The proposed solution for designing the UI for the Empty Fridge Screen is to create a visually appealing and user-friendly interface that encourages users to take action and fill their fridge.
The design should include the following elements:
- A clear and concise message that communicates the need to fill the fridge
- A prominent call-to-action button that leads users to the Add Items screen
- An intuitive search function that allows users to easily find the items they need
- A visually appealing layout that showcases the available items and their quantity
Task List
- Develop a wireframe or prototype of the UI design
Additional Information
The design should be consistent with the overall branding and design of the app.
Metric System
Description
Currently, FoodX uses the Metric System for all users, regardless of their location. However, users from the United States and Switzerland (which officially uses the Swiss variant of the Metric System) may prefer to see measurements in the customary system. This issue proposes implementing the correct Metric System based on the user's location to improve their experience.
Task List
- Research and identify the appropriate measurement system for US and CH users
- Implement a feature that detects the user's location and switches the measurement system accordingly
- Test the feature to ensure that it works correctly and does not interfere with other functionality
Additional Information
- Some users may prefer to manually select their preferred measurement system regardless of their location, so this feature should allow for manual selection as well.
Implement Onboarding Screens
Description
As a new user, I would like to see onboarding screens to understand how to use the application and its features.
Task List
- Design onboarding screens with a clear and concise message
- Implement onboarding screens for the first time users
- Allow users to skip the onboarding screens and access the app directly
- Test onboarding screens on different devices and screen sizes
Additional Information
The onboarding screens should be visually appealing and easy to understand for the users.
Make Redux persistent
Proposed Solution
Add a middleware to the Redux store that saves the state to local storage after each action dispatch. On application startup, load the state from local storage and use it to initialize the Redux store.
Task List
- Create a new middleware function that saves the state to local storage after each action dispatch.
- Add the middleware to the Redux store using the
applyMiddleware
function. - Implement a function to load the state from local storage on application startup.
- Use the loaded state to initialize the Redux store.
Additional Information
The redux-persist library provides a comprehensive solution to Redux state persistence.
Related to #20
Create Scanner Screen
Proposed Solution
The team should create a Scanner screen that allows users to scan the barcode of groceries and automatically retrieve information about the food from the Open Food Facts API. If the barcode does not exist in the API, the user should be able to add it manually. The screen should also allow users to input the expiration date of the food, which will be used to generate notifications when the food is close to expiring.
Task List
- Design a prototype for the Scanner screen
- Implement the Scanner screen in the application
- Integrate the Scanner screen with the Open Food Facts API to retrieve accurate and up-to-date information
- Allow users to input the expiration date of the food
- Test the Scanner screen to ensure it retrieves all relevant information accurately
- Make necessary adjustments based on user feedback
Additional Information
The Scanner screen is an important component of the application, as it allows users to access important information about their food and reduce food waste by prompting them to consume food before it expires.
Midterm presentation
Problem
We need to describe various components of the project and address important questions related to it.
Proposed Solution
We need to create a document that outlines various aspects of the project, such as its purpose, design, audience/stakeholders, problem addressed, marketing, incentives, financial and business considerations, prototype of systems engineering model, prototype of smart phone or web-based app, research and professional input, and limitations of the project.
Task List
Additional Information
We need to keep in mind the following while creating the document:
- The document should be comprehensive and cover all aspects of the project.
- We need to focus on the UN Sustainable Development Goals and other social, business, or health issues addressed by the project.
- We need to identify the target audience and come up with marketing strategies and incentives to engage them.
- We need to consider the financial and business implications of the project, such as the cost of producing the prototype, potential consumer demand, and impact on other businesses.
- We need to create prototypes of systems engineering models and smart phone or web-based apps to demonstrate how the project works.
- We need to gather research and professional input to support our project and make it more effective.
- We need to be aware of the limitations of the project and come up with solutions to overcome them.
Create Figma Mockup
Proposed Solution
The team should create a Figma mockup that includes the following screens:
- Fridge screen: This screen will display the contents of the user's fridge.
- Scanner screen: This screen will allow the user to scan a barcode and add the item to their fridge.
- Notifications screen: This screen will display notifications to the user.
- FoodBanks screen: This screen will display a list of food banks in the area.
Creating a Figma mockup will help the team visualize the user interface and user experience of the application. It will also help the team identify any design flaws and make necessary adjustments before implementing the screens in the application.
Task List
- Identify design requirements for each screen
- Create a Figma account for the team
- Design each screen in Figma, including all necessary components and functionality
- Review and revise each screen based on feedback from team members
- Export the Figma mockup as a PDF or image file for future reference
Contact Food Banks
Description
We need to contact the owner of Food Banks and get information from them regarding their operations, needs, and challenges.
Task List
- Identify a list of Food Banks and their contact information
- Reach out to Food Banks through email or phone
- Ask about their operations, needs, and challenges
- Document the information obtained from each Food Bank
Additional Information
It would be helpful to have a standard set of questions to ask each Food Bank to ensure consistency in the information obtained. We should also keep in mind that Food Banks may be overwhelmed with their operations and may not have the resources to provide detailed information, so we should approach them with sensitivity and understanding.
Refactor UI and UX of Application
Proposed Solution
We need to refactor the UI and UX of the application to improve the overall user experience and make the application more visually appealing. This will involve reviewing the current design of the application, identifying areas that need improvement, and updating the design to address these issues.
Task List
- Review the current UI and UX design of the application
- Identify areas that need improvement
- Update the UI design of the application
- Test the updated design to ensure that it is functioning correctly
- Gather user feedback and iterate on the design as necessary
Additional Information
The current design of the application may be outdated or not user-friendly, which may affect the user's experience and satisfaction with the application. Refactoring the UI and UX of the application is important to improve the overall user experience, make the application more visually appealing, and improve user engagement. This issue aims to review and update the UI and UX design of the application to make it more modern and user-friendly.
Can't see text inside logo in dark mode
The text inside the logo is not visible when viewing the site with dark mode enabled
Create Add Product Screen
Proposed solution
Create a new Add Product Screen that allows the user to manually input product information when the barcode cannot be found.
Task list
- Create a new Add Product Screen.
- Add input fields for details
- Add a save button that saves the input data to the app's database.
- Display the new product in the product list.
Additional Information
This feature will improve the user experience for cases where the barcode cannot be scanned or is not available.
Create Notification Screen
Proposed Solution
The team should create a notification screen that displays all the app notifications regarding food expiration. The screen should be easily accessible from the app's main menu and provide users with a clear and concise overview of all their expiring food items.
Task List
- Design a prototype for the notification screen
- Implement the notification screen in the application
- Integrate the notification screen with the app's existing notification system
- Test the notification screen to ensure it displays all relevant information accurately
Additional Information
The notification screen is an essential component of the application as it helps users stay on top of their expiring food items and reduces food waste.
Create Recipe Screen
Proposed Solution
The screen will consist of two parts:
- Ingredient Selection: Users will be able to select the ingredients they have in their fridge from a list.
- Recipe Generation: After selecting the ingredients, the app will use an API or AI to generate a list of recipes that can be made with the selected ingredients. Users will be able to view the recipe details, such as ingredients and instructions.
Task List
- Add "Create Recipe" screen to the app
- Implement ingredient selection feature that allows users to select ingredients from their fridge
- Integrate an API or AI that generates recipes based on the selected ingredients
- Display recipe details, such as ingredients and instructions, to the user
- Test the feature thoroughly to ensure it is working as expected
Additional Information
This feature will enhance the user experience by providing them with recipe options that they can make with the ingredients they already have in their fridge. It will also save users time and money by reducing food waste and the need to purchase additional ingredients.
Onboarding Screen Design
Proposed Solution
To enhance the user onboarding experience, we propose creating new Onboarding Screens with improved designs. These screens will include informative and visually appealing elements that will guide new users through the app's features and functionalities.
Task List
- Conduct research on best practices for Onboarding Screen designs
- Design wireframes for the new Onboarding Screens
- Implement the Onboarding Screens into the app
Additional Information
- The new Onboarding Screens should align with the app's overall design aesthetic.
- The Onboarding Screens should be easy to navigate and understand for new users.
- The Onboarding Screens should highlight key features and benefits of the app.
App Internationalization
Description
Implement internationalization to support multiple languages in the application.
Task List
- Choose a library/framework to handle internationalization
- Identify all the text that needs to be translated
- Create translation files for each language supported
- Implement language detection and set the appropriate translation
- Test the internationalization for each language supported
- Implement distinct units of measurement, for Switzerland using the international system of units and for the USA using the imperial system of units
Additional Information
Internationalization will improve the user experience for non-English speaking users and will make the application more accessible to a wider audience. It will also make it easier to add support for new languages in the future.
Take photos of groceries
Description
Implement camera feature to get photos of groceries when the user selects to add items manually or when the scanner does not work.
Currently, when a user wants to add an item to their grocery list, they can either manually enter the item name or use the scanner to scan the barcode. However, sometimes the scanner may not work or the barcode is not available.
Task List
- Add a camera button on the manual entry page.
- Implement the camera functionality to take a photo of the grocery item.
Additional Information
- The camera feature should be implemented in a way that is intuitive and easy to use for the user.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.