Professional Documents
Culture Documents
PBL G10-3 Report
PBL G10-3 Report
PBL G10-3 Report
INTRODUCTION
Currently, the way schools/college canteens work is that you pay for the food and you wait for
the food in line but the problem is that all the students in a facility have the same time slot for
the break hence a group of people end up rushing towards the canteen at the same time this
creates a lot of inconvenience for the canteen staff as well as the students and since the time is
limited some students end up not eating food or wasting their food.
This is where EatSmart helps in streamlining the whole process wherein students can order their
food via their phones beforehand from the app in which the user has to enter the email id and
then they are ready to order via e-menu and do the payments as well and this helps the college to
keep a track on the canteens transactions.
The digitalization of the canteen system will help provide better service to the users and the time
consumption will be reduced. The updation and deletion of any item can be done. The online
system will be helpful for the food makers to prepare the food as early as possible. As a result,
there will be quick service to the customers. No queues will be formed waiting for the food. The
update of the data to the database will be monitored by the admin.
By combining Flutter for the frontend and Firebase with Firestore for the backend, a canteen
management app can offer a range of features and benefits. Users can easily place orders, make
payments, view menus, and track their order status through a user-friendly and intuitive interface
developed with Flutter. The integration with Firebase and Firestore ensures secure data storage,
seamless synchronization, and real-time updates, enhancing the overall user experience and
simplifying the canteen management process.
The objective of EatSmart is to efficiently and effectively manage the operations of a canteen or
cafeteria The system aims to streamline various processes involved in running a canteen,
including food ordering, inventory management, payment handling, and reporting. The specific
objectives are -
1. Order management: Simplify the process of placing food orders by providing an online or
automated system for customers to place their orders, specifying the items, quantity .
2. Menu planning: Help canteen managers plan and organize menus based on popular choices,
dietary requirements, and availability of ingredients. This can lead to a more diverse and
balanced menu offering.
3. Efficient payment processing: Enable convenient and cashless payment options for customers,
such mobile payment.This reduces the need for manual cash handling and increases transaction
efficiency.
4.Cost control: Monitor and control costs associated with food procurement, waste management,
and pricing. By analyzing data on expenses and revenue, the system can help identify areas for
cost reduction or revenue improvement.
Figure 3.1
From above use case diagram we can understand that customer base consists of student and faculty
which are actors and they perform task of viewing menu , placing Order and finally making payment
and use cases in application are following :- Menu , Order , Payment . Admin i another actor which
accepts payment
and can edit menu.
Figure 3.2
A data flow diagram (DFD) for a canteen management system represents the flow of
information within the system, illustrating how data is processed and transformed. Here is a
short description of a typical DFD for a canteen management system:
The DFD for the canteen management system consists of several components, including external
entities, processes, data stores, and data flows. The primary external entities are the canteen
staff, customers, and the inventory supplier.
Figure 3.3
In above class diagram we can observe various classes like Customer, order, person , menu,
canteen_admin and bill which has methods and variables that define them and they are related to each
other via relation shown in diagram.
here in Fig 4.1 User will register himself to app on sign up page by providing some details or User
which has already registered will login through login page shown in Fig 4.2 , from there user will be
directed to Home page where he can have look at all products and sales etc Shown in Fig 4.3.
In Fig 4.4 and Fig 4.5 User can access various products and products on sale and From Fig 4.6 User can
Select Categories from where he/she wishes to buy
Fig 4.7,4.8,4.9 shows web application of Admin Panel which is accessible by admin only and
from where admin can make changes in menu like add items , delete items modify items as per
availability and the order placed by user is also visible here and as per order Id generated for
each order and admin panel will authenticate order for user and provide order accordingly .
//main.dart
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:grocery/inner_screens/on_sale_screen.dart';
import 'package:grocery/provider/dark_theme_provider.dart';
import 'package:grocery/providers/orders_provider.dart';
import 'package:grocery/providers/products_provider.dart';
import 'package:grocery/screens/home_screen.dart';
import 'package:grocery/screens/viewed_recently/viewed_recently.dart';
import 'package:provider/provider.dart';
import 'consts/theme_data.dart';
import 'fetch_screen.dart';
import 'inner_screens/cat_screen.dart';
import 'inner_screens/feeds_screen.dart';
import 'inner_screens/product_details.dart';
import 'providers/cart_provider.dart';
import 'screens/auth/forget_pass.dart';
import 'screens/auth/login.dart';
import 'screens/auth/register.dart';
import 'screens/btm_bar.dart';
import 'screens/orders/orders_screen.dart';
import 'screens/wishlist/wishlist_screen.dart';
void main() {
runApp(const MyApp());
}
@override
State<MyApp> createState() => _MyAppState();
}
@override
void initState() {
getCurrentAppTheme();
super.initState();
}
The Fig 5.1 to 5.3 shows how User can add items he wish to buy in cart so that he can order all of theme
together and on clicking on cart icon user can view cart and after clicking on order now , order will be
placed and user can view order on your orders page
here in Fig 5.4 will show empty cart once user places order or if in case user didn’t add any item to cart
and Fig 5.6 shows account page where user can handle its account and make changes in account such as
editing password etc .
1. EatSmart is efficient in maintaining customer’s details and also works to handle the
information of the products available in a canteen.
2. It also saves a lot of time and reduces the chances of any errors that were possible with
the earlier system. This application also reduces the workload of the canteen.
3. Same system can be used at various applications like Hotel management , grocery
ordering .
5. Voice-activated ordering
1. TutorialPoint Documentation :
https://www.tutorialspoint.com/android/android_studio.html
:https://www.androidauthority.com/android-studio-tutorial-beginners-637572/
4. Canteen Food Ordering Android System, Abhishek Singh, Amit Tanwar, Aditya
2321-8169