All Projects β†’ AdityaV025 β†’ Munche

AdityaV025 / Munche

Licence: MIT license
Munche is a πŸ” food delivery android application made in Java and Kotlin using the Firebase Suite and Mapbox Map Integration.

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Munche

online-menu-cloud-kitchen-and-food-delivery-system
Most Advance online restaurant menu, food delivery system, online restaurant menu, free online restaurant menu, free online restaurant menu app, online restaurant menu service provider
Stars: ✭ 16 (-54.29%)
Mutual labels:  food-ordering, food-delivery
Bento Starter
🍱 Full-Stack solution to quickly build PWA applications with Vue.js and Firebase
Stars: ✭ 1,519 (+4240%)
Mutual labels:  firebase-auth, firebase-firestore
Chi Food
Food Delivery App made by Flutter and Bloc
Stars: ✭ 103 (+194.29%)
Mutual labels:  food-ordering, food-delivery
linkpe
Linkpe is a Node.js based API🐳 to generate shareable UPI Payment links
Stars: ✭ 22 (-37.14%)
Mutual labels:  paytm-payment-gateway, upi-payment
firebase-bundle
A Symfony Bundle for the Firebase PHP Admin SDK
Stars: ✭ 112 (+220%)
Mutual labels:  firebase-auth, firebase-firestore
React Firebase Hooks
React Hooks for Firebase.
Stars: ✭ 2,227 (+6262.86%)
Mutual labels:  firebase-auth, firebase-firestore
hopOn
A car rental flutter application using firebase and google maps API
Stars: ✭ 68 (+94.29%)
Mutual labels:  firebase-auth, firebase-firestore
BooksApp
Book selling application with MVVM (Model, View, ViewModel), LiveData, DataBinding, Retrofit, Room Database, Navigation Component(NavGraph, BottomNav), ViewPager2 in TabLayout, SearchView, Vertical Adapter(BestSellers) and Horizontal Adapter(All Books) with ConcatAdapter for Main Screen, Firebase Auth, SearchView in Adapter, Picasso, Lottie, Ani…
Stars: ✭ 53 (+51.43%)
Mutual labels:  firebase-auth, firebase-firestore
Food-Ordering-Application-with-Review-Analyzer
A food ordering android application with feedback analyzer to improve food suggestions to customer.
Stars: ✭ 67 (+91.43%)
Mutual labels:  food-ordering, paytm-payment-gateway
fire-drill
Find, Edit, Add, Remove, Import, Export, and Report on your Firebase data
Stars: ✭ 58 (+65.71%)
Mutual labels:  firebase-auth, firebase-firestore
ResDelivery-Hilt-Coroutines-Mvvm-Single-Activity
This is a Sample Single Activity App (Multi Fragments) that uses Dagger-Hilt, Coroutines Flows, Paging 3 & Mvvm Clean Architecture
Stars: ✭ 28 (-20%)
Mutual labels:  firebase-auth, firebase-firestore
amrita-resource
An android App which contains some PDFs of classes notes of particular department of particular subject πŸŽ“
Stars: ✭ 20 (-42.86%)
Mutual labels:  firebase-auth, firebase-firestore
IoT-Modelling-Tool
IoT Modelling Tool is a platform which allows users to have their own devices and components modeled in order to represent and manage a physical environment.
Stars: ✭ 16 (-54.29%)
Mutual labels:  firebase-auth
ChatApp
Chat app based on Firebase tools.
Stars: ✭ 88 (+151.43%)
Mutual labels:  firebase-auth
firebase-auth-dotnet
A .NET API client for Firebase Rest Authentication API that follows Google's API spec as precisely as possible.
Stars: ✭ 16 (-54.29%)
Mutual labels:  firebase-auth
firebase-id-tokens-verifier
Code snippet to show how to verify Firebase ID tokens using Ruby
Stars: ✭ 32 (-8.57%)
Mutual labels:  firebase-auth
school-finder
πŸ‘€ Find schools by location
Stars: ✭ 16 (-54.29%)
Mutual labels:  mapbox
go-mapbox
Golang Mapbox API module
Stars: ✭ 33 (-5.71%)
Mutual labels:  mapbox
flutter-fitness-app
Fitness app using Flutter
Stars: ✭ 30 (-14.29%)
Mutual labels:  firebase-auth
custom-mapbox-layer
A custom layer based on Mapbox
Stars: ✭ 66 (+88.57%)
Mutual labels:  mapbox

Show some ❀️ and star the repo to show support for the project

Munche Android App

License PRs Welcome Contributions Welcome

Munche is an open source πŸ” food ordering android application developed in Java and Kotlin. Munche is mainly developed so I can improve my android development skills by building a real world application and experiment with different android components.

Please Note: Munche is developed when I was still learning good android development practices so please don't expect the code to be great and follow design guidelines and practices.

Demo

animated animated

☁️ Inspiration

Munche's main inspiration for it's UI comes from the Zomato's android app. I have incorporated some of the UI elements and features which the Zomato app had when I was developing the app.

✨ Features

Some of the features of Munche app are:

  • User Authentication using Phone Number.
  • Browse different restaurants and menu items.
  • Place order for different items from the menu and see them in a cart.
  • Set your delivery location on the app accurately.
  • Payment options include : UPI (Unified Payment Interface), Paytm and COD.
  • See the route and distance from the restaurant's location to yours.
  • See and write reviews for different restaurants.
  • See all your orders in the orders page.
  • Search available restaurants.
  • and more...

πŸ“š Major Libraries Used

  • Firebase Suite - For Auth, Database and Storage
  • Mapbox - Mapbox is used to integrate the map and build the route generation functionality.
  • Glide - For Image Loading.
  • Paytm SDK - For Paytm Payment Integration.
  • Lottie - To Display native json animations in android.
  • Smiley Rating Bar.

πŸ’» Build Instructions

  1. Clone or download the repository :
git clone https://github.com/AdityaV025/Munche.git
  1. Import the project into Android Studio.

  2. Create a firebase project and add this android app to the project.

  3. Run the below command in the terminal to get your SHA-1 key and upload it in the project settings in your firebase console, without this you cannot authenticate users using their phone numbers.

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
  1. Enable Phone Number sign in Firebase Authentication Tab in the left side.

  2. Download and add the google-services.json file from the firebase project you created earlier and add it to the project under app folder.

  3. Get your Mapbox Token and paste it in the strings.xml file

<string name="mapbox_access_token">REPLACE WITH YOUR OWN MAPBOX TOKEN</string>
  1. Also paste the token in the gradle.properties file
MAPBOX_DOWNLOADS_TOKEN=REPLACE WITH YOUR OWN MAPBOX TOKEN
  1. Setup a server which will generate a CHECKSUM Hash for the paytm sdk to work.After creating the server please paste the url which will return the checksum hash in the CheckoutActivity.java under the ui/order folder.Replace the GENERATE_CHECKSUM_URL with your own server url.
public class sendUserDetailToServer extends AsyncTask<ArrayList<String>, Void, String> {
        private ProgressDialog dialog = new ProgressDialog(CheckoutActivity.this);
        //private String orderId , mid, custid, amt;
        String url ="GENERATE_CHECKSUM_URL";
  1. Run the project into an emulator or a physical device.

πŸ‘¨ Made By

Aditya Verma

Connect with me on

Github Linkedin Gmail

πŸ‘“ Also Checkout

Munche Restaurant Partner App

πŸ“œ License

MIT License

Copyright (c) 2021 Aditya Verma

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].