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

https://github.com/rishn/little-lemon

Final assignment submission as part of Capstone (React App) course provided by Meta under React Native Specialization Certification Course
https://github.com/rishn/little-lemon

Last synced: 4 months ago
JSON representation

Final assignment submission as part of Capstone (React App) course provided by Meta under React Native Specialization Certification Course

Awesome Lists containing this project

README

          

# Little Lemon Food Ordering App

This is the final assignment submission as part of Capstone (React App) course provided by Meta under React Native Specialization Certification Course. It comprises the following:

- A React Native Expo app for ordering food from Little Lemon restaurant.
- Users can sign up, manage preferences, and filter menu categories.
- Includes profile management, persistent user settings, and SQLite integration for menu data.

**Scan the QR code using Exp Go SDK 47 and test the app** [QR code link](https://expo.dev/preview/update?message=Publish%20Update&updateRuntimeVersion=exposdk%3A47.0.0&createdAt=2024-07-03T09%3A21%3A32.588Z&slug=exp&projectId=221d2bc0-e34d-4538-b828-2e1cabe5bba7&group=2468e4a0-6270-4a2e-8e34-17167031fde8)

## Expo Go SDK 47 Installation
1. Ensure Expo Go App is not previously installed. Delete if installed.
2. Download the following apk via the given link on your phone: [https://d1ahtucjixef4r.cloudfront.net/Exponent-2.26.6.apk](https://d1ahtucjixef4r.cloudfront.net/Exponent-2.26.6.apk).
3. Install the application when prompted.

## Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Screenshot](#screenshot)
- [Links](#links)
- [My Process](#my-process)
- [Built With](#built-with)
- [Skills Gained](#skills-gained)

## Overview

### Features

1. User registration process with persistent preferences.
2. Landing screen with search bar and categorized menu items.
3. Profile customization for name, email, photo, and email notifications.
4. Profile screen with checkboxes for specific notification preferences.
5. User preferences saved with `AsyncStorage`, persisting after app closure.
6. Logout clears user data and redirects to the login page.
7. SQLite for menu item population, queries, and filtering.

### Images

#### Wireframe


Image

#### Screens
![Profile and Home Screens](https://user-images.githubusercontent.com/108392678/217715079-d66eb960-f5cf-4cdf-8f33-b45b320fca7e.jpg)

### Links

- [GitHub Repository](https://github.com/rishn/little-lemon)
- [Demo QR Code](https://expo.dev/preview/update?message=Publish%20Update&updateRuntimeVersion=exposdk%3A47.0.0&createdAt=2024-07-03T09%3A21%3A32.588Z&slug=exp&projectId=221d2bc0-e34d-4538-b828-2e1cabe5bba7&group=2468e4a0-6270-4a2e-8e34-17167031fde8)

## My Process

### Built With

- [React Native](https://reactnative.dev/docs/environment-setup)
- [SQLite](https://docs.expo.dev/versions/latest/sdk/sqlite/)
- [AsyncStorage](https://react-native-async-storage.github.io/async-storage/docs/api/)
- [StyleSheet API](https://reactnative.dev/docs/stylesheet)

### Skills Gained

- Building React Native apps with Expo.
- Implementing user authentication with Context API.
- Navigation setup using React Native Navigation.
- State management and data persistence with SQLite and AsyncStorage.
- Handling forms and validations for user input.
- Styling and UI design using the StyleSheet API and Figma wireframes.
- Managing side effects with the `useEffect` hook.