0% found this document useful (0 votes)
1K views9 pages

StackFood Multi Restaurant Setup Guide

StackFood is a complete multi-restaurant food delivery system built with Laravel and Flutter. It includes mobile apps for customers and restaurants (delivery app coming soon) and admin/restaurant web panels. The documentation covers setting up the system, including customizing app branding, push notifications, icons/logos, and adding new languages. Key steps include changing URLs, app name/package, and firebase configuration for push notifications. Color and language customization is also described.

Uploaded by

Akash Ghosh
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)
1K views9 pages

StackFood Multi Restaurant Setup Guide

StackFood is a complete multi-restaurant food delivery system built with Laravel and Flutter. It includes mobile apps for customers and restaurants (delivery app coming soon) and admin/restaurant web panels. The documentation covers setting up the system, including customizing app branding, push notifications, icons/logos, and adding new languages. Key steps include changing URLs, app name/package, and firebase configuration for push notifications. Color and language customization is also described.

Uploaded by

Akash Ghosh
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
  • Introduction
  • Change Settings
  • Customization
  • Build APK

Documentation for StackFood

Introduction
Thank you for your interest in StackFood.

StackFood is a complete Multi Restaurant food delivery system developed using Laravel and Flutter
Framework.

Laravel (PHP Framework for Web Artisans) is a web application framework with an expressive, elegant
syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.

Flutter framework created by Google is open-source mobile application development. It is used to


develop applications for Android and iOS, as well as being the primary method of creating applications.

StackFood comprises of 3 Mobile Applications, 2 Web Panel and 1 landing page –

 Customer application for both Android and iOS developed using Flutter.
 Delivery Boy application for Android developed using Flutter (Not Included).
 Restaurant application for both Android and iOS developed using Flutter (Coming soon).
 Super Admin web panel developed using Laravel (admin can provide role base access).
 Restaurant web panel developed using Laravel (owner can provide role base access).
 Landing page developed using Laravel blade.

IMPORTANT NOTE: The delivery boy app is developed using flutter so it will run both in Android and iOS
but as the delivery boy app fully depends on location we suggest don’t use it for iOS.

This documentation covers mostly all the aspects of setting up Multi Restaurant Food Delivery
Application - StackFood.

For any queries pre-sales or tech support, please drop a mail to support@[Link]

Restaurant App setup


Note: This is not an independent app. This app is available only for StackFood Multi Restaurant
delivery app. You should be pre-installed the StackFood in your server.
It is extremely easy and convenient to rebrand the app and customize the theme of the app as per
your needs.
You can launch an app with your own branding. You can easily change the app color theme, logos, and
icons with minimal effort.
The app has intuitive and user-friendly animations built-in within it. These animations intend to provide
a smooth app usage experience to the end clients. The animations include – Hero Animations, Parallax
Animations, Sliding & Swiping animations.

Change base URL


Open /lib/util/app_constrants.dart and replace BASE_URL variable value with your own URL

Change app name


To change the app name for whole app follow the below steps-

Step 1
Open /lib/util/app_constrants.dart and replace APP_NAME variable value with your Name
Step 2
Change the label with you name in [Link] file

Step 3
Change the string with you name in [Link] file

Change app package


Right click on project folder and click on replace in path
Write current Package name in 1st marked box and write your new package name 2nd marked box and
then click on Replace All button. Please change this carefully we are not responsible if you make
something wrong here.

Add firebase for push notification

Step 1
Create your own firebase project from [Link] and also add an android
app there with your own package name and app name.

Step 2

Click register app and download [Link] file from there.

Step 3

Copy that file and paste and replace it in /android/app

Step 4

After replace the file please restart your IDE.

IMPORTANT NOTE: Must add server key in Admin panel’s Notification Settings to get push notification.

Goto Project settings-> Cloud messaging-> Server key

Change the notification icon

Must use a white icon for push notification


Change App icon and Logo

Generate icon from [Link]

Go to /android/app/src/main/res and replace all mipmap folders with your generated icon android
folder.

Go to /ios/Runner and replace [Link] with your generated [Link] folder.


Go to <project>/assents/image folder and replace [Link] with your own one

Add new local language

Go to /assets/language and press right button on language folder and create new file and name it with
your language code (.json)
Copy all data from [Link] and paste it in your created file.

Translate all English text placed here after colon(:) to your local language.

Copy your country picture and paste it on /assets/image.

Open /lib/util/app_constrants, scroll down to bottom and add LanguageModel with imageUrl,
languageName, countryCode and languageCode.

Change app color

Goto /lib/theme/ and change your Primary, Accent etc. Colors.


Build apk:

Release APK:
flutter build apk --split-per-abi

Release Bundle:
flutter build appbundle

Command for normal apk build:


flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi

IMPORT NOTE: Please do your customization carefully we are not responsible if make any mistake.

Thank you & Best of Luck

Common questions

Powered by AI

Replacing the app package name in StackFood involves risks such as breaking the project structure or causing mismatched references across files, which would lead to build errors. These challenges can be mitigated by carefully using the 'replace in path' feature, ensuring comprehensive updates are made across all project files. It's advised to carefully verify all references are correctly altered before rebuilding, and to use version control systems to track changes and revert to a stable state if necessary .

StackFood manages multi-language support by allowing developers to add new local language files in the /assets/language directory. Developers create a new JSON file for each language, copy the data from en.json, and translate the content. This translated content can then be referenced in the application to display the appropriate language. Additionally, the /lib/util/app_constrants file is updated with a LanguageModel containing the language's imageUrl, languageName, countryCode, and languageCode. This system is important as it allows StackFood applications to cater to diverse user bases, enhancing usability and increasing accessibility across different regions .

Laravel plays a pivotal role in both the construction and operation of StackFood's web components. It is used to develop the Super Admin and Restaurant web panels, providing a robust and elegant framework that simplifies backend development with features like expressive syntax and built-in functionalities. This allows for seamless management of user roles and access controls. Additionally, Laravel's template blade system is utilized for the landing page, facilitating the creation of dynamic and modular views. Thus, Laravel provides the foundation for effective and efficient backend management within StackFood .

To enable push notifications in the StackFood app, the following steps are crucial: 1. Create a Firebase project and link an Android app with the proper package and app name on the Firebase console. This provides necessary cloud infrastructure. 2. Register the app on Firebase and download the google-services.json file, which contains configuration data. 3. Place this JSON file in the /android/app directory to integrate Firebase services with the Android app. 4. Restart the IDE to ensure all changes are properly loaded and applied. 5. Add a server key in the Admin panel’s Notification Settings to enable communication for push notifications. Each step ensures proper integration and configuration of Firebase, allowing StackFood to send push notifications effectively .

Flutter provides several advantages for building cross-platform applications, which are pertinent to StackFood. These include its open-source foundation and ability to create a unified mobile application codebase for both Android and iOS. Flutter supports features such as Hero Animations and Sliding & Swiping animations that enhance user experience through smooth and intuitive interfaces. It allows developers to maintain the aesthetic consistency and functionality of applications across different platforms, which significantly reduces development time and costs .

The documentation advises against using the delivery boy app for iOS primarily because the app heavily relies on location-based services, which may not perform optimally on iOS. It suggests a preference for platforms that better support such functionality for critical usage, thus recommending Android as the preferred platform for this application .

The StackFood documentation facilitates developer ease in UI customization by providing clear and systematic instructions on changing app icons and themes. It directs developers to specific paths and files, such as using appicon.co for generating icons and specifying the directories like /android/app/src/main/res for Android and /ios/Runner for iOS where replacements should occur. For theme changes, developers are guided to /lib/theme/ where primary and accent colors can be adjusted. This structured approach reduces complexity and ensures that all necessary changes are consistent across the application .

'Hero Animations' and 'Parallax Animations' are essential for enhancing user interaction in the StackFood app. Hero Animations smoothly transition elements between different screens, providing continuity and visual appeal. Parallax Animations create depth by allowing background images to move slower than foreground images as users scroll. These animations contribute to a rich, immersive user experience by making navigation intuitive and visually engaging. They not only improve aesthetic quality but also guide the user through the app seamlessly, which can increase satisfaction and retention by making interactions more engaging and less jarring .

StackFood employs the Laravel framework to develop its Super Admin and Restaurant web panels. Laravel's expressive syntax aids in creating a robust back-end infrastructure, facilitating administrative tasks, and enabling role-based access. On the other hand, Flutter is utilized to build the StackFood mobile applications, including customer and restaurant apps for both Android and iOS. Flutter's open-source nature and support for cross-platform development positions it as an ideal choice for deploying mobile applications in diverse operating environments .

To rebrand the StackFood app effectively, users should follow these steps: 1. Change the base URL by updating the BASE_URL variable in /lib/util/app_constrants.dart. 2. Modify the app name by replacing the APP_NAME variable in /lib/util/app_constrants.dart, altering the AndroidManifest.xml file, and updating the Info.plist file. 3. Change the app package name by using the 'replace in path' feature to update the package name across the project. 4. Set up a Firebase project, register the app, and download the google-services.json file; replace it in /android/app and restart the IDE. 5. Customize the notification icon, app logo, and icons. 6. Add new languages by creating new JSON files in /assets/language and translating content. 7. Modify app colors by changing settings in /lib/theme/.

Documentation for StackFood
Introduction
Thank you for your interest in StackFood.
StackFood is a complete Multi Restaurant f
The app has intuitive and user-friendly animations built-in within it. These animations intend to provide
a smooth app usage
Step 2
Change the label with you name in AndroidManifest.xml file
Step 3
Change the string with you name in Info.plist file
C
Write current Package name in 1st marked box and write your new package name 2nd marked box and
then click on Replace All but
Create your own firebase project from https://console.firebase.google.com (https://console.firebase.google.com) and also add
Change App icon and Logo
Generate icon from appicon.co
Go to /android/app/src/main/res and replace all mipmap folders with yo
Go to <project>/assents/image folder and replace logo.png with your own one
Add new local language
Go to /assets/language and
Copy all data from en.json and paste it in your created file.
Translate all English text placed here after colon(:) to your l
Build apk:
Release APK:
flutter build apk --split-per-abi
Release Bundle:
flutter build appbundle
Command for normal apk buil

You might also like