An open API service indexing awesome lists of open source software.

https://github.com/akalanka47000/sliit-eats-ctf

A tweaked version of sliit-eats for Codefest CTF
https://github.com/akalanka47000/sliit-eats-ctf

codefest ctf-challenges

Last synced: 3 months ago
JSON representation

A tweaked version of sliit-eats for Codefest CTF

Awesome Lists containing this project

README

        

# 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=<>
SLIIT_EATS_FIREBASE_APP_ID=<>
SLIIT_EATS_FIREBASE_PROJECT_ID=<>
SLIIT_EATS_FIREBASE_BUCKET=<>
SLIIT_EATS_FCM_SENDER_ID=<>

SLIIT_EATS_SERVER_URL=<>
```

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