Giter Club home page Giter Club logo

littlelemon's Introduction

Little Lemon Food Ordering App

My final project for the iOS Capstone by Meta course is to create a food ordering app for Little Lemon restaurant. It displays a list of dishes available for ordering. Users can also customize it by enabling filters to show only specific food categories or using the search function to find food by name. The images below show what the app looks like.

Little Lemon. Release V 2.0.0

I decided to continue developing the project after completing the course and practicing the new skills I had acquired.

Features of V 2.0.0 release

So in this version, I learned how to use the Firebase platform. Here are some of the things I learned and implemented during this project:
๐Ÿ”ธ I learned how to work with the Firebase platform, which allowed me to enable features such as authentication and data storage.
๐Ÿ”ธ I successfully connected libraries and dependencies using CocoaPods and Swift Package Manager.
๐Ÿ”ธ Implemented authentication using FirebaseAuth, which allowed users to log in via email and Google Auth.
๐Ÿ”ธ Added important features such as "forgot password", "delete account" and "log out", as well as saving profile photos.
๐Ÿ”ธ Worked closely with Firestore to implement the "table reservation" feature, which allows users to save and cancel reservations.
๐Ÿ”ธ I wrote simple unit tests to make sure the app was working properly.
๐Ÿ”ธ I added Splash View to improve the user experience.

Working on this project gave me a better understanding of the data flow in SwiftUI and how to handle network requests asynchronously.

Preview. V 2.0.0

Auth Use Case

Reservation Use Case

Menu Use Case

Preview. Release V 1.0.0

Features

  • I created a registration screen where the user is prompted to enter their personal data and added animation for a more impressive effect
  • Flat navigation, which allows users to interact with the app more conveniently, and stacked navigation to the description of dishes.
  • The main screen, contains the title, hero section, menu section, and dish list section.
  • The profile screen displays the user's personal data and settings that apply to the entire application.
  • It is also possible to save changes on the profile screen, which are held when the application is restarted.
  • I also used the Core Data framework. I made a network call to get this data from the URL. After receiving this data, I saved it using the framework.

Wireframe

littlelemon's People

Contributors

demenkoeugene avatar

Watchers

 avatar

Forkers

eugenetutor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.