Skip to content

pro804/LittleLemonGo

Repository files navigation

LittleLemonGo 🍋

Little Lemon Restaurant App

Final Project for Meta React Native Specialization on Coursera

React Native Expo TypeScript FormikFigma

Project Overview

This TypeScript-based application is the final project submission for the Meta React Native Specialization on Coursera. Built with React Native and Expo.

Features ✨

  • User Authentication
    • Secure signup with form validation
    • Login/logout functionality
    • Profile management
    • Account deletion option
  • Menu Browsing
    • Category filtering (Starters, Mains, Desserts)
    • Search functionality
    • Menu item details view
  • User Experience
    • Real-time profile synchronization (Avatar updates reflect instantly across all screens)
    • Personalized profile with avatar
    • Notification preferences
    • Smooth navigation between screens
  • Technical Features
    • Type-Safe Codebase (TypeScript)
    • Offline data persistence (SQLite)
    • Persistent key-value storage (Async Storage)
    • Form management with Formik & Yup
    • Context API for state management
    • Animated UI feedback
    • Responsive design

📱 UI Wireframes

Designed with Figma (Wireframes)

/WireFrames directory
Screen Preview Description
Welcome Welcome Landing with auth options
Onboarding Onboarding Account creation flow
Login Login Credential entry
Home Home Menu browsing with search/filters
MenuItemsDetails MenuItemDetails Dish information display
Profile Profile User settings management

Wireframes focus on user flow and functionality rather than visual design details

▶️ Interactive Walkthrough

UI Demo(https://www.canva.com/design/DAGrP02K6yU/wjHQQR1MMax_pNdEZBGPGw/watch?utm_content=DAGrP02K6yU&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=hf05d260251 "Click to play") Watch the 2:30 minutes flow demonstration

Installation Guide ⚙️

Prerequisites

  • Node.js v16+
  • Expo CLI (npm install -g expo-cli)
  • Android/iOS simulator or physical device

Setup Instructions

  1. Clone repository:
    git clone https://github.com/pro804/LittleLemonGo.git
    cd LittleLemonGo
  2. Install dependencies
    npm install
  3. Start development server
    expo start
  4. Run on device/simulator
     # Press a for Android
     # Press i for iOS
     # Scan QR code with Expo Go app (physical device)

📊 App Flow Diagram

App Flow Diagram

📚 Key Libraries Documentation

Library Version Documentation
React Navigation v7.x App navigation and routing
Formik 2.4.6 Form state management
Yup 1.6.1 Form validation schemas
Expo SQLite 15.2.12 Local database storage
React Native Reanimated 3.17.4 Advanced animations
Async Storage 2.1.2 Persistent key-value storage

TypeScript Implementation 🛠️

The project leverages TypeScript for:

  • Type-safe component props with strict interfaces
  • Reduced runtime errors through compile-time checks
  • Enhanced code maintainability with explicit type definitions
  • Improved developer experience through IntelliSense support

Contributing 🤝

Pull requests welcome! For major changes, please open an issue first.

📝 License

This project is licensed under the MIT License.

About

Little Lemon Food Ordering App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published