Skip to content

Akalanka47000/sliit-eats-ctf

Repository files navigation

SLIIT Eats

An application for canteen management and food ordering built by the FOSS Community at Sri Lanka Institute of Information Technology.

Features

For canteens

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

For users

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

Screenshots

User views

Canteen staff views

Technologies Used

  • Flutter
  • Firebase

Getting Started

  • 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)

Pre-requirements

  • A Firebase account
  • Flutter SDK version >= 2.12.0

Build and release

  • Run flutter build apk --release --dart-define== for release build (Replace and with the appropriate values and repeat for each key-value pair)

SECRET KEYS

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>>

The push notification server

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.

About

A tweaked version of sliit-eats for Codefest CTF

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages