Code Monkey home page Code Monkey logo

sourabhkumar47 / resqfood Goto Github PK

View Code? Open in Web Editor NEW
18.0 2.0 34.0 5.93 MB

ResQFood is a platform dedicated to the noble cause of reducing food wastage by facilitating the redistribution of surplus food during late-night hours before restaurant closures. Our mission is to ensure that excess inventory finds a purposeful destination rather than ending up in landfills, contributing to a more sustainable and compassionate foo

License: MIT License

Kotlin 100.00%

resqfood's Introduction

ResQFood: Bridging the Gap Between Leftovers and Hungry Stomachs

Feel free to star ⭐ the repository if you find it valuable.

banner

About

ResQFood's vision is to build a world where delicious food doesn't end up in the trash. By bringing together restaurants and individuals, we create a win-win scenario for everyone involved.

This platform is dedicated to the noble cause of reducing food wastage by facilitating the redistribution of surplus food during late-night hours before restaurant closures. Our mission is to ensure that excess inventory finds a purposeful destination rather than ending up in landfills, contributing to a more sustainable and compassionate food ecosystem.

It is a mobile app designed to connect restaurants with individuals looking for a delicious and affordable meal while tackling food waste. It empowers restaurants to utilize leftover food instead of discarding it and provides individuals with access to great deals on quality food.

💻 Tech Stack:

Kotlin logo

Jetpack Compose logo

⛏️ Tools:

  • Firebase
  • Google Map SDK

App Features: TODO

Design Idea:

Welcome & Onboarding Screens

  • Welcome Screen: Show the app's name, a tagline like "Delicious Meals, Less Waste," and a "Get Started" button.
  • Onboarding Screens:
  • A series of 3-4 screens explaining the app's purpose and key features with illustrations.
    • Screen 1: "Save Money on Quality Meals"
    • Screen 2: "Help Reduce Food Waste"
    • Screen 3: "Support Local Restaurants"
    • Screen 4: "Join a Sustainable Community"
  • Login/Signup Screen: Options to sign up with email, Google, or Facebook. Include a "Continue as Guest" option

Home Screen (For Individuals)

  • Top Navigation Bar: App logo, search bar, profile icon.
  • Search & Filter Options: Filters for location, cuisine type, price, and pickup window.
  • Featured Listings: Carousel of highlighted leftovers with images, names, and prices.
  • Nearby Restaurants: List of nearby restaurants with available leftovers.
  • Categories: Tabs for Appetizers, Main Courses, Desserts, etc.
  • Map View: Toggle option to switch between list view and a map view showing restaurant locations.

Restaurant Profile Screen

  • Profile Information: Restaurant name, contact info, cuisine type, operating hours.
  • About Us: Short description of the restaurant.
  • Food Listings: Grid or list of available leftovers with images, descriptions, quantities, and prices.
  • Reviews & Ratings: User reviews and average rating.

Adding Leftovers (For Restaurants)

  • Add Item Screen: Form to add leftover items.
  • Item Name: Text field.
  • Description: Text area.
  • Category: Dropdown menu (Appetizers, Main Courses, Desserts, etc.).
  • Quantity: Number input.
  • Estimated Value: Number input.
  • Price: Number input (option for free).
  • Pickup Window: Time picker.
  • Add Image: Option to upload a photo.
  • Submit Button: Button to save the listing.

Ordering & Pickup (For Individuals)

  • Item Details Screen: Detailed view of a leftover item.
  • Image: Large image of the item.
  • Description: Detailed description.
  • Pickup Time: Display pickup window.
  • Price: Display price.
  • Claim Button: Button to claim the item.
  • Order Confirmation Screen: Confirmation details of the order with directions to the restaurant.
  • Payment Integration: Integrated payment options for items with a fee.

Notifications

  • Notification Center: List of notifications.
  • Order Confirmations: Notifications for confirmed orders.
  • Ready for Pickup: Alerts when an item is ready for pickup.
  • New Listings: Notifications about new leftovers from favourite restaurants.

Tracking & Analytics (For Restaurants)

  • Dashboard Screen: Visual stats and graphs.
  • Food Saved: Amount of food saved from waste.
  • Total Orders: Number of orders fulfilled.
  • User Feedback: Summary of user reviews and ratings.

Communication

  • Messaging Screen: In-app messaging interface.
  • Chat List: List of ongoing conversations.
  • Chat Window: Individual chat with text input and send button.
  • Notifications for Messages: Alerts for new messages.

Profile & Settings

  • User Profile Screen: User information, order history, saved restaurants.
  • Restaurant Profile Settings: Edit restaurant details, manage listings and view analytics.
  • Security & Privacy Settings: Options to manage account security, notifications, and privacy settings.

Community Building

  • Community Feed: Social feed for sharing tips on reducing food waste, sustainability articles, and success stories.
  • Events & Campaigns: Information on community events related to food waste and sustainability.

Why ResQFood?

Reduces Food Waste: Food waste is a major environmental and economic problem. ResQFood helps restaurants reduce their waste and minimize their environmental footprint. Saves Money: Restaurants can recover some of their costs by selling leftover food at reduced prices. Individuals can enjoy delicious meals at a fraction of the original cost. Supports Local Restaurants: ResQFood strengthens local communities by supporting small businesses and helping them operate more sustainably. Promotes Food Security: By making affordable food more accessible, ResQFood contributes to food security, especially for individuals who may be facing food insecurity.

Contributing

We welcome contributions from the community to help improve and expand ResQFood. Whether you're a developer, designer, or passionate about our cause, we'd love to have you on board! Check out our learn to get started.

Setup and Installation

To contribute to the ResQFood repository, follow these steps:

  1. Fork the Repository: Click on the "Fork" button on the repository's GitHub page to create a copy of the repository in your GitHub account.

  2. Clone the repository: Clone the forked repository to your local machine using the following command in your terminal.

    git clone https://github.com/sourabhkumar47/ResQFood
  3. Change the repository to your working repository:

    cd ResQFood

  4. Add a remote upstream:

    git remote add upstream https://github.com/sourabhkumar47/ResQFood
  5. Create a new branch: Create a new branch for your changes. Run the following command in your terminal.

    git checkout -b <your-branch-name>
  6. Make the desired changes: Make the desired changes to the source code.

  7. Add your changes: Add your changes to the staging area. Run the following command in your terminal.

    git add <File1 changed> <File2 changed> ...
  8. Commit your changes: Commit your changes with a meaningful commit message. Run the following command in your terminal.

    git commit -m "<your-commit-message>"
  9. Push your changes: Push your changes to your forked repository. Run the following command in your terminal

    git push origin <your-branch-name>
  10. Create a Pull Request: Go to the GitHub page of your forked repository. You should see a prompt to create a pull request (PR). Click on it, compare the changes, and create the PR.

  11. Wait for your PR Req: Wait for your PR request till it gets approved. All details about your pr will be shared by admins soon.

Support

If you have any questions, feedback, or need assistance, feel free to reach out to us at discussion panel We're here to help!

License

ResQFood is licensed under the MIT License.


resqfood's People

Contributors

sourabhkumar47 avatar hemangmishra1234 avatar regxl2 avatar lucky-chelani avatar saumya-28 avatar varun-sethi-dev avatar me-shweta avatar asymtode712 avatar suhanipaliwal avatar tonystark-47 avatar rajkumarbhakta avatar artigaund avatar anglerfishlyy avatar okellosam21 avatar debayan-ghosh2005 avatar hemu21 avatar pradnyagaitonde avatar sibam-paul avatar thevijayshankersharma avatar kanishk-2 avatar officeneerajsaini avatar

Stargazers

Archisha Yadav avatar Monu Kumar Singh avatar  avatar  avatar  avatar Ankit Verma avatar  avatar Blue In Green avatar Velicoder avatar  avatar  avatar  avatar Aditya avatar  avatar  avatar Shivanshu Gupta avatar  avatar Aditya Prakash  avatar

Watchers

 avatar  avatar

resqfood's Issues

💡[FEATURE]: Community Building

  • Community Feed: Social feed for sharing tips on reducing food waste, sustainability articles, and success stories.
  • Events & Campaigns: Information on community events related to food waste and sustainability.

add Horzontal pager

IssueHorizontalPager
for better user experience add HorizontalPager to navigate from My Orders tab to More tab by swiping left and right .
Plus I can reduce the redundant code in this screen.

Can you assign me this feature request to me If you think it is necessary

User Registration and Authentication

  1. Allow users to create accounts and log in securely to access the platform's features.
  2. Implement authentication mechanisms to ensure user data privacy and security.

[DOC] : implementation of PULL-REQUEST-TEMPLATE.

Describe the bug

There is no PULL-request-TEMPLATE in the repository.
This template is designed to guide contributors in providing essential information when opening a pull request.
By using this template, you help streamline the review process and ensure that all necessary details are included upfront.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ResQFood repository.
  2. Click on pull requests tab.
  3. click on new pull request .
  4. See empty description in it.

Usage:

  • Please fill out each section of the template thoroughly to provide clear and comprehensive information about your changes.
  • Ensure that you have tested your changes locally and have reviewed the code according to project guidelines.

Thank you for your contribution!

Benefits:

  • Facilitates efficient code review by providing structured information.
  • Ensures that testing instructions and related issues are clearly communicated.
  • Helps maintain project standards and consistency across contributions.

Let us together make ResQFood OUTSTANDING !!

[DOC] : enhance CODE OF CONDUCT.md file.

Description:
Our project's Code of Conduct is a critical document that outlines expected behavior and ensures a welcoming and inclusive environment for all contributors.
However, we recognize the importance of regularly reviewing and enhancing this document to align with evolving community standards and values.

Proposed Changes:

Clarify Expectations: Enhance language to clearly articulate expected behavior and community guidelines.
Inclusivity: Ensure that the Code of Conduct reflects our commitment to diversity, equity, and inclusion by using inclusive language and addressing potential biases.
Enforcement Mechanisms: Clarify procedures for reporting violations and the enforcement process.

Expected Outcome:

A revised Code of Conduct document that is comprehensive, easy to understand, and aligns with the values of our project and community.
Increased awareness and adherence to the Code of Conduct, fostering a more inclusive and respectful environment for all contributors.

Note: Contributions and feedback from the community are highly encouraged and will be taken into consideration during the enhancement process.

💡[FEATURE]: Auto Commenting feature for PR Merged

Is your feature request related to a problem? Please describe.
Yes, the feature request is related to a problem. When pull requests (PRs) are merged in a project, it is often important to provide consistent feedback or notifications to the contributors. Currently, this process can be manual and time-consuming, leading to inconsistent communication and delayed acknowledgments. This can frustrate both maintainers, who have to remember to comment, and contributors, who might feel their efforts are not promptly recognized.

Describe the solution you'd like
To enhance our communication and acknowledgment process, we're implementing an auto-commenting feature for specific events within our project repository. This feature will automatically generate comments under the following circumstances:
PR Merged: Upon the successful merging of a pull request (PR), an auto-comment will be added to the corresponding issue, indicating that the PR has been merged and expressing gratitude to the contributor for their valuable contribution.

What problem is this feature trying to solve?
This feature aims to solve the problem of inconsistent and delayed communication following the merging of PRs. By automating the commenting process, it ensures that contributors receive timely feedback and acknowledgments. It also reduces the administrative burden on maintainers, allowing them to focus more on code reviews and other critical tasks.

Currently the github bot only autocomments on issue created and PR raised but not on PR merged

Automatic Greeting GitHub Bot

Is your feature request related to a problem? Please describe.
Currently This repo does not have greeting bot. As it is a open source so many people create the issues. There is No one to greet the issue creator. GitHub greeting Bot will automatically greet them when they create a issue

Describe the solution you'd like
GitHub greeting Bot will automatically greet them when they create a issue. I can create the github automatic greeting bot.

Splash Screen+ Onboarding Screen + Home Screen + App Icon

I'd like to focus on the homepage design for our app, including the onboarding screen and splash screen. We'll also include an icon for our app that describes the application to our users and sets expectations about what they can expect from it.

Here's how I will try to improve the app's home page, onboarding screen, splash screen, and icon:

  1. Home Page:

Focus on Clarity and Usability:

  • Prioritize the most important information and features users need to see first.
  • Ensure a clean layout with adequate spacing for easy navigation.
  • Implement elements like clear menus or search bars.
  1. Onboarding Screen:
  • Keep it Simple:
  • Onboarding should be informative but not overwhelming.
  • Use a series of 2-3 screens to highlight key features and benefits.
  1. Splash Screen:
  • Keep it Short and Sweet:
  • Aim for a display time of 2-3 seconds to avoid frustrating users.
  • Focus on branding with your app icon and potentially your company logo.
  1. App Icon:
  • The icon should be instantly recognizable and reflect the app's purpose.
  • Use simple shapes, clear colors, and a design that scales well to different sizes.

Feature: Collecting essential data from new users.

Collecting essential information like:
Name of user, phone number, email (if not collected due different methods of login)
Type: Does he belong from a restaurant or any charitable organization?
Contact details of organization
Storing these details in firestore.

Make Suspended Fuction

the login signup scrrens are aking time and are crashing make them suspend function and organise them in different package
Screenshot (39)

Learn.md

Learn repos should have a LEARN.md file to teach student how to build your project step by step. You can explain how to build your project with text, code snippets, images, or even short (5 minute) long video lessons. As the maintainer of a Learn repo, the LEARN.md file requires you to think critically about how to explain the building of your project and how to also make it engaging. We don't expect you to be an expert teacher, but we would like you to reflect on how difficult it was to get to your level of knowledge, and then provide friendly guidance to help other students to learn.

Reference: https://github.com/Recode-Hive/Stackoverflow-Analysis/blob/main/Learn.md

Feature: Adding Leftovers (For Restaurants)

Adding Leftovers (For Restaurants) to Firebase

Add Item Screen: Form to add leftover items.
Item Name: Text field.
Description: Text area.
Category: Dropdown menu (Appetizers, Main Courses, Desserts, etc.).
Quantity: Number input.
Estimated Value: Number input.
Price: Number input (option for free).
Pickup Window: Time picker.
Add Image: Option to upload a photo.

Submit Button: Button to save the listing.

Problem in Login-SignUp Screen

Describe the bug
While trying to get otp for mobile sign-up it faces problem.

Expected behavior
An request to send opt must be sent to firebase..

Screenshots
error in sign-in

Additional context

  • Ensure that the package name of your app in the Firebase Console matches the package name in your Android project.
  • Check if the SHA-1 and SHA-256 fingerprints in the Firebase Console match the ones generated for your app.
  • If you've recently made changes to your app's package name or signing key, ensure that you've updated the corresponding information in the Firebase Console.

Add PR template

I would like to add a pull request template for this repository. I believe that having a standardized template will help streamline the contribution process, ensuring that all necessary information is included and making it easier for maintainers to review and merge pull requests.

Could you please assign this issue to me under GSSOC'24.

💡FEATURE: Add Alert Dialog

I think it would be beneficial to add an alert dialog feature. An alert dialog is a small window that prompts the user to make a decision or enter additional information. It's a common feature in many apps and can improve the user experience.

📝[Docs]: Want to add commands palette in get started section

What Docs changes are you proposing?
Want to add commands palette in get started section

Why do the Docs need this improvement? What is the motivation for this change? How will this change benefit the community?
Adding commands will add convenience to the contributors with commands for newbies and for pros

Issue
image

Solution
image

Please assign me this issue under GSSOC'24 so that I can start contributing

Navigation issue

Describe the bug
When a user signs in or registers and navigates to the home screen, clicking the back button should close the application, but currently it navigates back to the login screen.

To Reproduce

Screen_Recording_20240518_002205_ResQFood.mp4

Expected behaviour
Close the app or tap again to confirm exit.

Add Code of Conduct file

Currently, the repository lacks a Code of Conduct file, which is an essential component for fostering a healthy and inclusive open-source community. A Code of Conduct serves as a guideline for expected behaviour, ensuring that contributors and participants feel safe, respected, and valued within our community space.

Please assign this issue to me.

Proposal For Main Activity

When User Logged In Then,

Basic Functionality

1. A Toolbar at the top of an app's screen

2. The Main Activity hosts various fragments, each dedicated to specific tasks or functionalities.

2.A Contains Home Page Which Show Data of Hotel and restaurant using Recycler View

3. Bottom Navigation bar to jump over fragment and activity .

Assign This To Me Under @GSSOC2024

Messaging Feature

Assign this to me Under @GSSOC2024

  1. Message List: A LazyColumn for displaying a list of messages.

  2. Message Item: A Composable that represents an individual message, which can be styled differently based on the sender.

  3. Input Field: A Composable for text input, possibly with attachments or emojis.

  4. Send Button: A button to send messages, which can include additional functionality like attachments.

💡[FEATURE]: Auto commenting on closing an issue

Is your feature request related to a problem? Please describe.
Yes, the feature request is related to the problem of lack of communication and acknowledgment when issues are closed in the repository. Contributors may feel neglected or uncertain about the status of their issues if they are closed without any feedback or acknowledgment. This can lead to frustration and a decrease in motivation to contribute further.

Describe the solution you'd like
The solution is to automatically post a comment on the issue whenever it gets closed. This comment should thank the issue creator for their contribution and inform them that their issue has been closed. The message can include the issue number and a friendly greeting to make it more personal. This automation ensures that every closed issue receives a consistent and timely response, improving communication and contributor experience.

issue closed

Girlscript Summer of Code Introduction/Tracking

👋 Hi @sourabhkumar47,

I am Prince,web developer(Core Team) Girlscript Summer of Code. I'll be collaborating with you on preparing your repo for GSSoC'24 Program

Why are these changes required?
After Analysing last year's contributions and feedback it would be great for students to have a couple of standard readme files on the repo to understand what the project is all about and some issues detailing what they can contribute. This will help you to see increased engagement in your repository as well.

As mentioned students get a chance to learn step by step, how to build this project as well as invite mentors to collaborate and add features to this repo. I will generate issues, which will provide guidance on how to prepare your repo for Girlscript summer of code 2024.

This issue will serve as a tracking issue to track all issues related to GSSoC'24. I recommend creating a new branch for every issue and opening a pull request to track changes so we can effectively collaborate with each other and merge changes when you and I feel like those changes are ready to be merged on your primary branch.

If you have any questions or concerns, please feel free to leave a comment on this issue or any of the other issues that are generated.

I look forward to working with you :octocat:

💡[FEATURE]: Workflow for Closing Old Issues

Is your feature request related to a problem? Please describe.
Over time, repositories can accumulate a large number of open issues, including some that may no longer be relevant or actively worked on. Manually closing these old issues can be time-consuming and tedious.

Describe the solution you'd like
I would like a workflow that automatically identifies and closes old issues based on certain criteria, such as no recent activity or being open for a specific duration.

What problem is this feature trying to solve?
This feature aims to automate the process of managing old issues, ensuring that the repository remains organized and focused on relevant tasks. By automatically closing old issues, it reduces manual overhead for repository maintainers and helps keep the issue tracker tidy and up-to-date.

Add issues

As the maintainer of a Collaborate repo, keeping Issues up-to-date will help the student community understand what they can do to contribute. Issues should vary by the easy (update documentation) to the difficult (add a new feature). The more involved you are, the more opportunities there are to collaborate.

Recommendations:

Add issues of varying difficulty to the repo often. you must add the tag GSSoC'24, Level 1, Level2, Level 3 good first issue etc.
How we cacluclate the Scores on Leaderboard: Every PR one point
Level 1: 10 points
Level 2: 25 points
Level 3: 45 points
Try to add some documentation issues as well it would be easy for beginner contributor to explore opensource through your repo.
Generate issues even if you plan on solving them, so the repository appears as active.
Contribute/commit often to the repo so it does not go stale.
Reference https://github.com/Recode-Hive/Stackoverflow-Analysis/issues

Add templates for issues

Issue templates are very helpful for a collaboration repo. When users identify a bug or want to add a new feature, you can provide templates so you can collect all the pertinent information you need to fix a bug or add a new feature.

We recommend creating a “Report Bug” and “Feature Request” issue template.
you can refer this: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository

Some suggested prompts/questions you can add to a “Report Bug” template are:

Briefly describe the bug
What is the expected behavior?
Please provide step by step instructions on how to reproduce the bug
Some suggested prompts/questions you can add to a “Feature Request” issue template are:

Briefly describe your feature request
What problem is this feature trying to solve?
How do we know when the feature is complete?

Reference: https://github.com/Recode-Hive/Stackoverflow-Analysis/issues/new/choose
Click on Get Started button and copy the template to your

💡[FEATURE]: Workflow for closing Old PRs

Is your feature request related to a problem? Please describe.
Over time, open pull requests (PRs) can accumulate in a repository, cluttering the interface and making it difficult to focus on active development tasks. Additionally, outdated or abandoned PRs may no longer serve their intended purpose and should be closed to maintain repository cleanliness.

Describe the solution you'd like
Implement a workflow that automatically closes old PRs based on predefined criteria, such as their last update timestamp. By regularly closing PRs that have not been updated within a certain timeframe, the repository can stay organized, and contributors can focus on active and relevant PRs.

What problem is this feature trying to solve?
This feature aims to automate the management of open PRs in a repository, ensuring that outdated or abandoned PRs are closed in a timely manner. By doing so, it helps maintain repository hygiene, improves workflow efficiency, and provides a better experience for both maintainers and contributors.

Feature: Notifications

  • Notification Center: List of notifications.
  • Order Confirmations: Notifications for confirmed orders.
  • Ready for Pickup: Alerts when an item is ready for pickup.
  • New Listings: Notifications about new leftovers from favourite restaurants.

Missing CONTRIBUTING.md File in Repository

The repository currently lacks a CONTRIBUTING.md file, which is an important resource for guiding potential contributors on how to engage with the project effectively. A CONTRIBUTING.md file outlines the contribution guidelines, coding standards, and procedures for submitting pull requests, thus streamlining the contribution process and ensuring consistency across contributions.

Could you please assign this issue to me under GSSOC 24.

Add Topics

In GSSoC'24, GitHub Topics will help the discoverability of your project.

I see that you already have great topics on your repository!
I would recommend adding the name of the company like the software you use to build like "vs-code, ghdesktop" to improve your discoverability.

If you are happy with the topics you have, feel free to close this issue. 👍

Feature: Ordering & Pickup (For Individuals)

  • Item Details Screen: Detailed view of a leftover item.
  • Image: Large image of the item.
  • Description: Detailed description.
  • Pickup Time: Display pickup window.
  • Price: Display price.
  • Claim Button: Button to claim the item.
  • Order Confirmation Screen: Confirmation details of the order with directions to the restaurant.
  • Payment Integration: Integrated payment options for items with a fee.

Feature: Profile Screen

Add a profile screen for users, giving option to add profile pictures.
Giving them option to edit their details like address, contact details, organization details, etc.
Also adding logout functionality.

Add GitHub Desktop Contribution Instructions

I am interested in contributing to the project by adding detailed instructions on how to contribute using GitHub Desktop.

I believe that by providing clear and comprehensive guidance, we can encourage more contributors to participate in the project, especially those who prefer using GitHub Desktop for their contributions.

Could you please assign me the issue related to adding GitHub Desktop contribution instructions under gssoc24? I am excited about the opportunity to contribute to the project and help streamline the contribution process for others.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.