An application for canteen management and food ordering built by the FOSS Community at Sri Lanka Institute of Information Technology.
- Set up and manage profiles for canteen staff members to login with.
- Manage operations of multiple canteens via single platform.
- Add or edit product details, product categories and stocks in food items in a canteen.
- View orders received for a specific canteen, and update their statuses as ready for pick up or have the order timeout if not picked up within a a certain time period.
- Register as a user to browse products and place orders at canteens.
- Search for products and filter search results by canteen and/or product category.
- Create new orders and view the progress of each order, including time left for a reserved order to expire.
- Receive notifications when an order is ready to be picked up from a canteen.
- Flutter
- Firebase
- Run flutter pub get to install dependancies
- Run flutter build apk --debug for debug build
Note - Release build requires a signed key (Follow the comments in the app level build.gradle to bypass this)
- A Firebase account
- Flutter SDK version >= 2.12.0
- Run flutter build apk --release --dart-define== for release build (Replace and with the appropriate values and repeat for each key-value pair)
This project requires a .env file structured in the following way for local development (For production add the same keys to the system env during build):
SLIIT_EATS_FIREBASE_API_KEY=<<KEY>>
SLIIT_EATS_FIREBASE_APP_ID=<<VALUE>>
SLIIT_EATS_FIREBASE_PROJECT_ID=<<VALUE>>
SLIIT_EATS_FIREBASE_BUCKET=<<VALUE>>
SLIIT_EATS_FCM_SENDER_ID=<<VALUE>>
SLIIT_EATS_SERVER_URL=<<VALUE>>
SLIIT Eats depends upon a small Express server which orchestrates the transmission of Firebase Cloud Messaging (FCM) notifications (specified in the SLIIT_EATS_SERVER_URL
value of the .env file.).
This was intended as a quick solution and the ideal approach would be to setup something of a cloud function for the purpose.