A food delivery app using firebase as the database.

Related tags

Database FoodlyNas
Overview

FDA-ONE

Food Delivery Application is a mobile application that users can use to find the best restaurant around their location and order the meals they desire from the comfort of their home. One of the unique services of this product is that it targets only healthy restaurants so only high quality food with the healthiest benefits is offered to users at affordable cost. Do you want to loose weight or simply stay healthy? Let FitFood help you meet your weight loss goal and cut off that bad fat that increases your cholesterol level due to poor food choices. We offer only the best food choices.

Requirements

  • iOS ~> 14.5
  • Xcode ~> 12 (9.3 compatible)
  • Swift ~> 4.2

Installation

Clone the repository

$ git clone https://github.com/decadevs/FDA-ONE.git
$ cd FDA-ONE
$ cd Foodly
$ pod install

Open the file Foodly.xcworkspace using Xcode Click on the play button at the top left corner to build and run the project

ONBOARDING

On installing the app, the user is taken to the onboarding screen as a first time user where the user gets to see details about the app. The user also has the choice to skip the entire onboarding process or move through the whole process. There are three slides showing details about the app and the user can move through them by swiping with the fingers or clicking on the next button. At the last slide, the button text changes from "Next" to "Get Started".

Screenshot 2021-07-28 at 11 06 01 Screenshot 2021-07-28 at 11 06 24

LOGIN

From the onboarding screen, the user is taken to the Login screen and for a new user without account, there is a Register button on the screen that takes them to where they can create a new account. There is an email and a password field where user enters their details and these fields are validated.

Screenshot 2021-07-28 at 11 12 24 Screenshot 2021-07-28 at 11 12 33

CREATE ACCOUNT

On clicking on the Register button, the user is taken to the "Create New Account" screen where the user gets to create a new account with email, password and fullname. Just like the login screen, these fields are all validated to make sure:

  • The user enters the first name and last name
  • A valid email address
  • A strong password that contains numbers, alphabets and special characters.
  • None of the fields is empty.

Screenshot 2021-07-28 at 11 19 03 Screenshot 2021-07-28 at 11 19 12

DASHBOARD

On successful login or creation of account, the user is welcomed to the dashboard which contains four tabs:

  • The home displaying a welcome message, a filter for food categories and a list of popular restaurants
  • A search tab that allows users to search for foods and restaurants
  • An order history tab that displays the list of all orders that the user has ever made
  • A profile tab where users can update their details such as address and phone number as well as log out from the app

Screenshot 2021-07-28 at 11 23 03 Screenshot 2021-07-28 at 11 28 19 Screenshot 2021-07-28 at 11 28 42

ORDERING FOOD

To order food, the user can search by food name or restaurant name or use the food category filter at the top. On selecting any of the restaurants, the user is taken to the restaurant page and gets to see the foods sold by the restaurant and then make an order for any food of choice. Clicking on the add button besides each food adds the food the user's cart where the user gets to see the total price.

Screenshot 2021-07-28 at 11 35 16 Screenshot 2021-07-28 at 11 35 26

When the user is satisfied with the items in the cart, the user can click on the view cart button and is taken to another page where they see the items in their cart. In this page, the user gets to either confirm or change the address they want the food delivered to, the quantity of each food item as well as get a discount if they have a coupon code to apply.

Screenshot 2021-07-28 at 11 38 53 Screenshot 2021-07-28 at 11 40 10 Screenshot 2021-07-28 at 11 40 18

Satisfied, the user can click on the continue button and is taken to the final checkout page where the user gets to see how long it will take to get the food delivered as well as who the delivery person is. The contact of the delivery person is also made available for events such as the food not being delivered at the right time.

Screenshot 2021-07-28 at 11 43 46

You might also like...
A Generic CoreData Manager to accept any type of objects. Fastest way for adding a Database to your project.
A Generic CoreData Manager to accept any type of objects. Fastest way for adding a Database to your project.

QuickDB FileManager + CoreData ❗️ Save and Retrieve any thing in JUST ONE line of code ❗️ Fast usage dataBase to avoid struggling with dataBase comple

A simple order manager, created in order to try Realm database
A simple order manager, created in order to try Realm database

Overview A simple order manager, created in order to get acquainted with the features and limitations of the local Realm database. The project is writ

A property wrapper for displaying up-to-date database content in SwiftUI views

@Query Latest release: November 25, 2021 • version 0.1.0 • CHANGELOG Requirements: iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+ • Swift 5.5+ /

BucketServer - Small API with SQLite database that saves notes for an iOS appliction called Bucket list

BucketList Server-Side Small API with SQLite database that saves notes for an iO

PostgreSQL database adapter (ORM included)

PostgreSQL PostgreSQL adapter for Swift 3.0. Conforms to SQL, which provides a common interface and ORM. Documentation can be found there. Installatio

CodableCloudKit allows you to easily save and retrieve Codable objects to iCloud Database (CloudKit)
CodableCloudKit allows you to easily save and retrieve Codable objects to iCloud Database (CloudKit)

CodableCloudKit CodableCloudKit allows you to easily save and retrieve Codable objects to iCloud Database (CloudKit) Features ℹ️ Add CodableCloudKit f

A type-safe, protocol-based, pure Swift database offering effortless persistence of any object
A type-safe, protocol-based, pure Swift database offering effortless persistence of any object

There are many libraries out there that aims to help developers easily create and use SQLite databases. Unfortunately developers still have to get bogged down in simple tasks such as writing table definitions and SQL queries. SwiftyDB automatically handles everything you don't want to spend your time doing.

A Swift library to fetch the schema from a SQLite3 database.
A Swift library to fetch the schema from a SQLite3 database.

SQLite3Schema A small library to fetch the schema of a SQLite database. Contains a SQLite3 helper module for Linux. TBD. Uses just the raw SQLite API.

This Project domonstrate the latest Swift on Server to create RESTFul API's connected via Database: MongoDB NoSql

Swift is a general-purpose programming language built using a modern approach to safety & performance that make it specifically suitable for Server applications. Vapor is a web framework for Swift, allowing you to write backends, web apps APIs and HTTP servers in Swift

Owner
Naseem Oyebola
iOS Engineer|| Biochemist|| Football Analyst
Naseem Oyebola
Safe and easy wrappers for common Firebase Realtime Database functions.

FirebaseHelper FirebaseHelper is a small wrapper over Firebase's realtime database, providing streamlined methods for get, set, delete, and increment

Quan Vo 15 Apr 9, 2022
Synco - Synco uses Firebase's Realtime Database to synchronize data across multiple devices, in real time

Synco Synco uses Firebase's Realtime Database to synchronize a color across mult

Alessio 0 Feb 7, 2022
A sample application showcasing Vapor 4 connecting to an Oracle database using SwiftOracle package.

vapor-oracle A sample application showcasing Vapor 4 connecting to an Oracle database using SwiftOracle package. In this Vapor application, we create

Ilia Sazonov 3 Sep 22, 2022
Innova CatchKennyGame - The Image Tap Fun Game with keep your scores using Core Database

Innova_CatchKennyGame The Image Tap Fun Game with keep your scores using Core Da

Alican Kurt 0 Dec 31, 2021
Listens to changes in a PostgreSQL Database and via websockets.

realtime-swift Listens to changes in a PostgreSQL Database and via websockets. A Swift client for Supabase Realtime server. Usage Creating a Socket co

Supabase 35 Dec 1, 2022
Realm is a mobile database: a replacement for Core Data & SQLite

Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS, macOS, tvOS & wa

Realm 15.7k Jan 1, 2023
WCDB is a cross-platform database framework developed by WeChat.

WCDB 中文版本请参看这里 WCDB is an efficient, complete, easy-to-use mobile database framework used in the WeChat application. It's currently available on iOS,

Tencent 9.6k Jan 8, 2023
Sync Realm Database with CloudKit

IceCream helps you sync Realm Database with CloudKit. It works like magic! Features Realm Database Off-line First Thread Safety Reactive Programming O

Soledad 1.8k Jan 6, 2023
Movies Information DataBase (Add - Delete - Edit - Search)

MoviesInformation Movies Information DataBase (Add - Delete - Edit - Search) This Code Provide Simple Program About Movies Information This Program Ca

Mohammad Jaha 2 Sep 15, 2021
Easy direct access to your database 🎯

OHMySQL ★★ Every star is appreciated! ★★ The library supports Objective-C and Swift, iOS and macOS. You can connect to your remote MySQL database usin

Oleg 210 Dec 28, 2022